首页
编程语言
数据库
网络开发
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
热点文章
更多
mgt202辅导 、讲解 java/pytho...
2025-06-28
讲解 pbt205—project-based l...
2025-06-28
辅导 comp3702 artificial int...
2025-06-28
辅导 cs3214 fall 2022 projec...
2025-06-28
辅导 turnitin assignment讲解...
2025-06-28
辅导 finite element modellin...
2025-06-28
讲解 stat3600 linear statist...
2025-06-28
辅导 problem set #3讲解 matl...
2025-06-28
讲解 elen90066 embedded syst...
2025-06-28
讲解 automatic counting of d...
2025-06-28
讲解 ct60a9602 functional pr...
2025-06-28
辅导 stat3600 linear statist...
2025-06-28
辅导 csci 1110: assignment 2...
2025-06-28
辅导 geography调试r语言
2025-06-28
辅导 introduction to informa...
2025-06-28
辅导 envir 100: introduction...
2025-06-28
辅导 assessment 3 - individu...
2025-06-28
讲解 laboratory 1讲解 留学生...
2025-06-28
辅导 ct60a9600 renewable ene...
2025-06-28
辅导 economics 140a homework...
2025-06-28
热点标签
mktg2509
csci 2600
38170
lng302
csse3010
phas3226
77938
arch1162
engn4536/engn6536
acx5903
comp151101
phl245
cse12
comp9312
stat3016/6016
phas0038
comp2140
6qqmb312
xjco3011
rest0005
ematm0051
5qqmn219
lubs5062m
eee8155
cege0100
eap033
artd1109
mat246
etc3430
ecmm462
mis102
inft6800
ddes9903
comp6521
comp9517
comp3331/9331
comp4337
comp6008
comp9414
bu.231.790.81
man00150m
csb352h
math1041
eengm4100
isys1002
08
6057cem
mktg3504
mthm036
mtrx1701
mth3241
eeee3086
cmp-7038b
cmp-7000a
ints4010
econ2151
infs5710
fins5516
fin3309
fins5510
gsoe9340
math2007
math2036
soee5010
mark3088
infs3605
elec9714
comp2271
ma214
comp2211
infs3604
600426
sit254
acct3091
bbt405
msin0116
com107/com113
mark5826
sit120
comp9021
eco2101
eeen40700
cs253
ece3114
ecmm447
chns3000
math377
itd102
comp9444
comp(2041|9044)
econ0060
econ7230
mgt001371
ecs-323
cs6250
mgdi60012
mdia2012
comm221001
comm5000
ma1008
engl642
econ241
com333
math367
mis201
nbs-7041x
meek16104
econ2003
comm1190
mbas902
comp-1027
dpst1091
comp7315
eppd1033
m06
ee3025
msci231
bb113/bbs1063
fc709
comp3425
comp9417
econ42915
cb9101
math1102e
chme0017
fc307
mkt60104
5522usst
litr1-uc6201.200
ee1102
cosc2803
math39512
omp9727
int2067/int5051
bsb151
mgt253
fc021
babs2202
mis2002s
phya21
18-213
cege0012
mdia1002
math38032
mech5125
07
cisc102
mgx3110
cs240
11175
fin3020s
eco3420
ictten622
comp9727
cpt111
de114102d
mgm320h5s
bafi1019
math21112
efim20036
mn-3503
fins5568
110.807
bcpm000028
info6030
bma0092
bcpm0054
math20212
ce335
cs365
cenv6141
ftec5580
math2010
ec3450
comm1170
ecmt1010
csci-ua.0480-003
econ12-200
ib3960
ectb60h3f
cs247—assignment
tk3163
ics3u
ib3j80
comp20008
comp9334
eppd1063
acct2343
cct109
isys1055/3412
math350-real
math2014
eec180
stat141b
econ2101
msinm014/msing014/msing014b
fit2004
comp643
bu1002
cm2030
联系我们
- QQ: 99515681 微信:codinghelp
© 2024
www.7daixie.com
站长地图
程序辅导网!