Structure of this assignment:
This assessment is the take home final examination. This assessment item focuses on
application development on Amazon Web Services (AWS).
Weight of this assignment towards the overall subject grade:
35% of the overall subject grade.
Submission deadline and requirements:
Submission Deadline:
The deliverables of Assignment 3 are two-fold are as follows:
(a) Overview of the architecture (Deliverable 1)
(b) The developed system in AWS (Deliverable 2)
You are required to develop the system corresponding to Assignment 3 description in the AWS
Educate account that has been provided to you.
Both the above deliverables are due on 15 June 2021 by 2359 Hours.
Submission Requirements:
The submission requirements for the two deliverables are as below:
(a) Upload a soft copy of Deliverable 1 on Canvas by 15 June 2021 by 2359 Hours.
(b) Deliverable 2 has to be completed in AWS Educate by 15 June 2021 by 2359 Hours.
Objectives:
This assignment is linked to the follows Subject Level Objective (1), (2) and (4).
Academic Standards:
Please refer to the statement on academic conduct and the use of plagiarism detection software
in the subject outline.
Late Submission Policy:
You must hand and email the assignment on time. An extension may be granted for illness,
misadventure, or other extenuating circumstances beyond your control. The issue of an
extension should be raised with the Subject Coordinator as soon as possible after the
circumstances occur. In general, extensions will not be granted on or after the due date of the
assignment.
Written consent in the form of email should be obtained from the Subject Coordinator allowing
for late assignment submission. Please note that such permissions for late assignment
submissions will only be considered due to prior unforeseen extraordinary and genuine
circumstances beyond your control. Late assignments submitted outside of these parameters
CLOUD COMPUTING AND SOFTWARE AS A SERVICE
41001
ASSIGNMENT 3
will be deducted one mark per day late, more than seven days late assignments (without any
special consideration) will receive zero marks.
Team/Group Registration:
This is an individual assessment item. You are required to complete this assignment on your
own. This assignment also requires a bit of independent research in completing it. You are
required to do this on your own and complete it.
Assignment Description:
Imagine that you meet with a small startup company that is in the early stages of their
operations. Currently their architecture uses a LAMP stack (with MySQL), Apache and PHP
all running on one desktop PC within their small office.
Like many small startups they are confident that they will be the next big thing and expect
significant, rapid, yet un-quantified growth in the next few months. With this in mind, they
would like you to architect their system and develop it in AWS. The startup is concerned of the
following requirements:
(a) They would like the developed application to be able to scale up on demand. With
uncertainty around when and how much the demand would be, they are concerned
about buying too much infrastructure too soon or not enough infrastructure.
(b) They want to cater for disaster recovery to ensure high performance and throughput of
their application.
Objective:
Design and implement a scalable, elastic, highly available and fault tolerant architecture that
allows the startup to grow organically. The architecture should specifically address the
requirements/concerns listed in the description above.
Assignment Deliverables:
The deliverables of Assignment 3 are two-fold as below:
(a) Deliverable 1 (System architecture): A PDF document (no greater than four to five
pages in length) that clearly and succinctly outlines the proposed architecture diagram.
Clearly justify the inclusion of all Amazon Web Services (AWS) services. Furthermore,
please clearly outline all assumptions made during the design and explicitly state the
AWS used in developing the solution. You are welcome to use any diagramming tool
to draw the architecture of the system.
(b) Deliverable 2 (AWS solution): Develop the application in AWS using the AWS
Educate account. You may choose either to use AWS Elastic Beanstalk to configure
and deploy your application or configure and deploy each application component
individually using AWS services. You will need to use the following AWS Services:
i. AWS Beanstalk
ii. Amazon EC2
iii. Custom AMI (Amazon Machine Image). (Please note that you are required to
create your own custom AMI)
iv. Custom Security groups allowing HTTP and SSH requests (All instance must
use the same custom Security Group)
v. Load Balancer
vi. Auto Scaling (with Minimum 2 instances and Maximum 8 instances). Scaling
triggers on Network output traffic with Upper threshold 60% lower threshold
30%.
vii. RDS (Multi Availability zones deployed)
viii. Custom Virtual Private Cloud (VPC) (with at least 2 subnets in different
Availability zones). All subnets must be public.
ix. All instances must use the same custom key pairs.
x. Set email notifications for important events in your environment (if using
Elastic Beanstalk)
Resources:
1. Lab and lecture contents regarding AWS
2. https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.html
3. https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Tutorials.WebSe
rverDB.CreateWebServer.html
4. https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-register-lbs-withasg.html#as-register-lbs-console
5. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html
Assessment Process for Assignment 3:
The following assessment criteria will be used in grading process for this assignment.
Criteria Marks Comments and
Marks procured
System Architecture
• Does the developed system architecture meet the
requirements outlined in the Assignment Description?
• Have relevant AWS services been used for addressing the
requirements?
10 marks
AWS System Development
• Does the developed AWS system address meet the
requirements outlined in the Assignment Description?
25 marks
Total 35 marks