CLOUD COMPUTING AND SOFTWARE AS A SERVICE
42904
ASSIGNMENT 3
Structure of this assignment :
This assessment is the final take-home examination. This assessment item focuses on Amazon Web Services (AWS) application development.
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 areas 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 the Assignment 3 description in the AWS Academy account that has been provided to you.
Both the above deliverables are due on 3 June 2024 by 6 PM
Submission Requirements:
The submission requirements for the two deliverables are as below:
(a) Upload a soft copy of Deliverable 1 on Canvas by 3 June 2024 by 6 PM.
(b) Deliverable two has to be completed in the provided AWS Academy account by 3 June 2024 by 6 PM.
Objectives:
This assignment is linked to the following Subject Level Objectives (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 submit the assignment on time on Canvas. An extension maybe 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 an 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 will be deducted one mark per day late, and 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 to complete 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 its 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 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 with the following requirements:
(a) They would like the developed application 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 to disaster recovery to ensure high performance and throughput of their application.
Objective:
Design and implement a scalable, elastic, highly available, 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) 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.
a) AWS Beanstalk
b) Amazon EC2
c) Custom AMI (Amazon Machine Image). (Please note that you are required to create your own custom AMI)
d) Custom Security groups allowing HTTP and SSH requests (All instances must use the same custom Security Group)
e) Load Balancer
f) Auto Scaling (with a minimum of two instances and a maximum of eight instances). Scaling triggers on Network output traffic with an Upper threshold of 60% lower threshold of 30%.
g) RDS (Multi-Availability zones deployed)
h) Custom Virtual Private Cloud (VPC) (with at least two subnets in different Availability Zones). All subnets must be public.
i) All instances must use the same custom key pairs.
j) 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-with-
asg.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
|
|