首页
编程语言
数据库
网络开发
Algorithm算法
移动开发
系统相关
金融统计
人工智能
其他
首页
>
> 详细
SCHYNDELWORKS? WEBSITE PROJECT
SCHYNDELWORKS™ WEBSITE PROJECT Semester 1, 2019 Note that this is a simulation of a typical project specification. For assignment submission dates and details, see the Canvas shell,. OVERVIEW 1. Project Background and Description As the 2018 technology placements have been completed, SchyndelWorks now has a team of technology graduates that can help them setup their public facing website. These graduates will work with the cloud engineer to deliver a product that meets all the business requirements specified in sections 3 & 4 of this document. 2. Project Scope The web development team has already created the necessary code (PHP) for the SchyndelWork’s public facing websites. This code must now be deployed to a public facing website hosted on the cloud. 3. High-Level Requirements The new system must be able to meet the following business requirements 2 Business Requirement (A): Creation of Web-Server-A BR (A).1 – Archive: https://archive.apache.org/dist/httpd/ • After looking at the business requirements, the cloud engineer has specified that we create a new VM to host Web-Server-A on a "t2.micro" ec2 instance of AWS (or equivalent if using azure). • On this VM compile & install a version of apache 2.4.25 from source. • Since performance is a key concern, might be good to use an appropriate MPM. Note: The cloud engineer is adamant that Apache installed via a package manager for Web-Server-A will NOT NECESSARILY be better/easier/meet all requirements. But, could still very likely be a possible path to go down. BR (A).1.1 Web-Server-A will initially be used as staging server so it must serve http via port 8070. Ensure that the port firewall is open & visible. BR (A).1.2 Server should be installed at /etc/apache2/schyndel/server_root BR (A).1.3 All necessary user key/password/group files for auth to be placed at /etc/apache2/schyndel/server_root/auth BR (A).1.4 As PHP web developers have been contracted to create site content, your website should have the capability of executing & serving PHP scripts BR (A).1.5 • To allow continuity of business, SchyndelWorks requires all work done to be documented. • You will need to create "business-requirement-a/a-report.txt" which documents all work that you have undertaken. • Your report must document all the work done as a part of each business requirement. • If you make any changes to configuration files, it must be commented & reference the business requirement id. • For example, when setting the port, you will need to add the following comment in your configuration file # BR (A).1.1: As per requirement, changed port from 80 to 8080 BR (A).1.6 They’ve asked for a clear description as to why escaping and encoding URLs is important. The Cloud Engineer has asked you to explain in a comment in the configuration (and in you’re a-report.txt), why the changes are needed to be made to Apache as described in this URL: https://canvas.instructure.com/doc/api/file.object_ids.html 3 BR (A).2 To allow ease of use, the server must be capable of dealing with misspelling/capitalization issues. BR (A).3 • Documents should be served from /etc/apache2/schyndel/document_root • The content to be served has already been written and the source code is available at the site labelled in this document as WEB_CONTENT_URL (See Canvas Spec for actual URL) • Hint: You can use the following commands to download the content: mkdir /etc/apache2/schyndel/document_root cd /etc/apache2/schyndel/document_root wget WEB_CONTENT_URL unzip master.zip rm master.zip mv -f schyndel-works-site-master/* . rmdir schyndel-works-site-master BR (A).4 The default document to be served is index.html then index.shtml then index.php BR (A).5 Your server must permit Server Side Includes (SSI) for files with the .shtml extension. BR (A).6 Your site must not permit .gif files from being served. BR (A).7 • Content in the /secure-basic folder must be protected via basic auth. • You will need to create users bob & charlie with password ITIS • All necessary user key/password/group files for auth to be placed at: /etc/apache2/schyndel/server_root/auth) BR (A).8 • Content in the /secure-digest folder must be protected via digest auth. • You will need to create users alice & dean with password ITIS • All necessary user key/password/group files for auth to be placed at /etc/apache2/schyndel/server_root/auth) BR (A).9 All content served by the web server must respond with the following Response Header: "X-Served-Via: Web-Server-A" 4 Business Requirement (B): Creation of Web-Server-B Now that the staging server has been created, a production web server now needs to be setup. This production web server will be identical to "Web-Server-A" except the changes listed below: BR (B).1 VM to host Web-Server-B on a "t2.micro" ec2 instance of AWS (or equivalent if using azure) BR (B).2 Port used to serve documents should be 8060 Ensure that the port firewall is open & visible. BR (B).3 All content served by the web server must respond with the following Response Header "X-Served-Via: Web-Server-B" BR (B).4 • To allow continuity of business, SchyndelWorks requires all work done to be documented. • Since most of the steps are similar to Business Requirement A you don't need to create a report, EXCEPT for all changes made to configuration files, it must be commented & reference the business requirement id. For example, when setting the port, you will need to add the following comment in your configuration file # BR (B).2: As per requirement, changed port from 80 to 8050 5 Business Requirement (C): Performance Testing BR (C).1 • To convince the cloud engineer of your configuration choices, you are required to produce a report. • This report requires you to conduct benchmark OR perf tests (choose ab or httperf) on apache. • You should run at least 3 load tests on apache & then average out the results. • The scripts to load test are /load/cpu.php & /load/io.php. • Based off estimates from business, your load tests need to allow for o /load/cpu.php has a concurrency of 10 & test 150 requests o /load/io.php has a concurrency of 10 & test 200 requests. • This report can be written as a word file but MUST be submitted as a pdf (businessrequirement-c/c-report.pdf). • It is important that you take valid screenshots of the results of each benchmark test that is carried out. Please add these to your report. • (Hint: Since the VMs could differ in spec, might be good to factor that into your report) o On the VM you may need to install: apt-get install apache2-utils (this gives you access to ab) apt-get install httperf (this gives you access to httperf) BR (C).2 • To allow continuity of business, SchyndelWorks requires all work done to be documented in your report. • Any and all changes made to configuration files for this BR must be commented & reference the business requirement Identification Number (BR ID). 6 Business Requirement (D): Creation of Load-Balancer • Since SchyndelWorks expects a large volume of end users to use their site, they would like to serve content from either Web-Server-A or Web-Server-B via a Load-Balancer. • As a part of this requirement you will be creating a new VM that will be used as a loadbalancer. • The cloud engineer has instructed you to use "t2.micro" ec2 instance of AWS (or equivalent if using azure) for your load-balancer to prevent network saturation constraints). BR (D).1 • The cloud engineer has instructed you to use Apache 2.4's mod_proxy_balancer module to setup the load balancer. • To accomplish this, you will need to create a new instance of apache 2. • The engineer has specified that the apache server on this VM can be installed via a package manager (apt-get install apache2). • This apache server must serve content via port 80. Ensure that the port firewall is open & visible. • The actual content served is via Web-Server-A or Web-Server-B (this is just a load balancer). • The cloud engineer has instructed you to use mod_lbmethod_byrequests module as the Load balancing scheduler algorithm. BR (D).2 • When setting up the Load-Balancer using mod_lbmethod_byrequests, apache gives you the option to set a "loadfactor". • This is the member load factor - a number between 1 (default) and 100, which defines the weighted load to be applied to the member in question. • The cloud engineer is unsure of what load factor needs to be applied here. • It is your task to ascertain what is the appropriate loadfactor to be applied & configure apache to use your loadfactor. BR (D).3 • To convince the cloud engineer of your decision made in BR (D).2, you are required to produce a report. • This task is very similar to your initial benchmarking in BR (C). • This report requires you to conduct benchmark OR perf tests (choose ab or httperf) on apache (directing the requests to the load balancer). • You should run at least 3 load tests on apache with an initial loadfactor applied & then average out the results. 7 • You should then run at least 3 load tests on apache with an updated loadfactor applied & then average out the results. • The scripts to load test are /load/cpu.php & /load/io.php. • Based off estimates from business, your load tests need to allow for o /load/cpu.php has a concurrency of 10 & test 150 requests o /load/io.php has a concurrency of 10 & test 200 requests. • You then need to compare the 2 averaged out results sets & state in your report what loadfactor setting is the most appropriate. • This report can be written as a word file but MUST be submitted as a pdf (businessrequirement-d/d-report.pdf). • It is important that you take valid screenshots of the results of each benchmark test that is carried out. Please add these to your report. • (Hint: Since the VMs could differ in spec, might be good to factor that into your calculations of the appropriate load-factor) • Your cloud engineer has recommended that you create a new VM (“Load-Testing” VM) using a “t2.micro” ec2 instance as your load testing server. This is done to ensure that network throughput is not an issue. o It has also been recommended that this particular vm (“Load-Testing” VM only) be terminated once you have finished your load tests. o On the vm you only need to install: apt-get install apache2-utils (this gives you access to ab) apt-get install httperf (this gives you access to httperf) BR (D).4 • To allow continuity of business, SchyndelWorks requires all work done to be documented in your report. • All changes made to configuration files, it must be commented & reference the business requirement id. • For example, when setting the loadfactor, you will need to add the following comment in your configuration file # BR (D).2: As per requirement, set loadfactor to X for node X 8 Business Requirement (E): Alternative load balancing algorithm BR (E).1 • As you have already completed "Business Requirement D", the cloud engineer has asked to look at an alternate Load balancing scheduler algorithm (lbmethod_bytraffic or lbmethod_bybusyness or lbmethod_heartbeat). • You need to pick one and compare it to the performance of lbmethod_byrequests. • Again, your proof for ascertaining the appropriate load balancer algorithm must include at least 3 benchmark/perf tests completed for the /load/cpu.php & /load/io.php script with the new algorithm. • You then need to compare it with your results from the tests you ran as a part of "Business Requirement D" and you need to create a new report. • This report can be written as a word file but MUST be submitted as a pdf (bonus-business-requirement-e/e-report.pdf). 9 4. Deliverables A zip file containing the following assets needs to be submitted: /Your-Directory ├─── group-info.txt │ ├─── links.txt │ ├─── /business-requirement-a │ ├─── a-report.txt │ ├─── httpd.conf (for Web-Server-A) │ └─── (all auth files) │ ├─── /business-requirement-b │ ├─── httpd.conf (for Web-Server-B) │ └─── <
> │ ├─── /business-requirement-c │ ├─── c-report.docx │ └─── c-report.pdf │ ├─── /bonus-business-requirement-d │ ├─── d-report.docx │ ├─── d-report.pdf │ ├─── 000-default.conf (for Load-Balancer) │ └─── (any other config files changed) │ └─── /bonus-business-requirement-e ├─── e-report.docx ├─── e-report.pdf ├─── 000-default.conf (for Load-Balancer) └─── (any other config files changed) 5. Engineer’s note While the project specification suggests a waterfall approach to time/resource allocation, an alternative approach is to perform BR(A) and BR(B) in parallel, In addition, BR(E) should also be reduced in priority compared to BR(C). if there is time pressure, as the additional information it provides is relatively small and is not time-critical. APPROVAL AND AUTHORITY TO PROCEED
联系我们
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-21:00
微信:codinghelp
热点文章
更多
辅导 cs1b spring 2024 tth hw...
2024-04-19
讲解 managing financial risk...
2024-04-19
辅导 cs 0449 – project 5: /...
2024-04-19
辅导 elec 2141 digital circu...
2024-04-19
讲解 csc171 — videogame pro...
2024-04-19
讲解 comp3411 artificial int...
2024-04-19
讲解 stat3061: random proces...
2024-04-19
辅导 accounting 452, spring ...
2024-04-19
辅导 finc5001 foundations in...
2024-04-19
辅导 7ssmm712 – topics in a...
2024-04-19
讲解 com 337 - film studies ...
2024-04-19
辅导 mes202tc - digital vlsi...
2024-04-19
辅导 geography 2041b distanc...
2024-04-19
辅导 ecos3006 international ...
2024-04-19
讲解 fit5225 2024 sm1 creati...
2024-04-19
讲解 cit 593: introduction t...
2024-04-19
讲解 math 4931: take home ex...
2024-04-19
辅导 csci 547|info 533: syst...
2024-04-19
辅导 cs536-s24 intro to pls ...
2024-04-19
讲解 fit5212 - assignment 1辅...
2024-04-19
热点标签
stat0045.
fil-30023
celen085
psyc40005
math40082
are271
comp9311
ee5311
imse2113
comp 2322
acct2102
fnd109
int102
is3s664
is6153
data4000
accfin5034
fit5212
cs536-s24
fit5225
ecos3006
mes202tc
finc5001
stat3061
csc171
cs1b
7ssmm712
bu.450.760
swen90004
cs170
comp3411
cpt206
comp5313/comp4313—large
bl5611
kxo206
comp532
elec207
kxo151
hpm 573
dts101tc
cs 2820
cpt108
math2319
dts204tc
qm222
comp2511
ccs599
infs1001
mat2355
eeee4123
25721
ifn647
pols0010
cs 2550
comp9417
qbus6860
stat0023
csci 1100
cse340
comp2003j
cs 61b
cs360
fin 3080
ierg 4080
cs6238
cit 594
finm7406
hw6
elec9713
asb-2522
lit301
mcd4540
geog0030
125.330
biol0006
125.320
cs3334
fit2093
acct1101
110.309
masy1-gc
cs314
elec0048
gds104
mg5637
fit2096
07
mso3610
math5905
eel4837
sehs4515
cpt s 321
asb2522 investment
ma214
co2104
comp30023
mgmt2015
32516
math32051
econ1012
mark2052
dsci 525
comp3310
econ0019
abmf3184
aps106
antc27
finm7401
itp122
tech2300
math3026
cs 211
36318
cao107
fit1047
is2022
comp9024
ics4u
2xc3
en.540.635
4qqmn506
finn3081
phys10362
sta601
ec481e
math5165
csi 2120
el1205
comp7250
ecos3013
beam065
info1113
sehh2042
comp2051
csc325
mne 6130
ai6126
inu1111
ecs150
is61x6
cse115
seng6110
bus265
cpts260
mphy0009
csc306
eco2011
ee3004
st332
idepg001
info6001
cpt106
qbus2820
fins5516
finm7409
fit3152
isom3028
eece 6083
ceg5304
mcd4700
eecs 493
eg25h4
38173
elc5216
infs6071
lubs5996m
7ssmm803
glbh0031
phys1120
comp52715
eeb240
soci3403
math3836
cmns3490
iy5610/4610
cpt304
ac6105
psyc3241
fin570
218.323
lng310
rim3352
bio206
comp3334
ac.f633
asb-3525
cs 1501
cpt408
bust10134
lng206
acfi302
soc100
infr11199
csc1002
comp9334
csci 2122
etf5650
eco202y1y
acct608
apm236
联系我们
- QQ: 99515681 微信:codinghelp
© 2024
www.7daixie.com
站长地图
程序辅导网!