Design and develop highly scalable cloud-based applications

Assignment Help Other Subject
Reference no: EM133848167

Cloud Computing

Learning Outcome 1: Develop and deploy cloud applications using popular cloud platforms.
Learning Outcome 2: Design and develop highly scalable cloud-based applications by creating and configuring virtual machines on the cloud and building private cloud.

Assessment Details
Create a simple online music subscription application that leverages AWS S3 and DynamoDB. Deploy your web application on a free-tier EC2 instance running Ubuntu Server.

Your assessment will be marked during your demo time (further details about the demo will be provided in Week 5). Examiners will ask questions to assess how well students understand the AWS services implemented. Marks will be assigned based on two key criteria: (1) the functional correctness of your application, and (2) your demonstrated understanding of the services employed in the project. Hire best assignment help now!

The application should be FULLY hosted in a web server environment - Apache2 (or a suitable alternative) and be able to be rendered in a web browser by directly entering the root Public IPv4 DNS (in either https or http) of the EC2 instance hosting the application.
Please make sure that markers can access your web application via the standard HTTP(S) port of your EC2 public DNS, for example:

Using Elastic Beanstalk is NOT allowed as a valid means of deploying your application.
Using non-standard HTTP ports (i.e. ones other than 80/443) are also NOT allowed.
AWS supports multiple programming languages, allowing developers to choose the language that best suits their needs and preferences.

You can use any language(s) that you are familiar with. Your application still needs to fulfil the same requirements (. e.g., running on an AWS Ubuntu EC2 instance, connecting to a DynamoDB, S3 actions, ...etc.).
You can use any framework providing you are writing the code for the core functions.
AWS Academy account does not allow to create any IAM roles. However, a role named
LabRole has been pre-created for you. Use LabRole instead.
Students would also need to securely access the images stored in S3. This is considered security best practice and should always be done.
Students must meticulously design the DynamoDB key schema and secondary index to maximize query performance. Both the Ouery and Scan operations should be implemented appropriately for data retrieval from DynamoDB tables.
Please ensure that your implementation correctly handles various HTTP request methods
- such as GET and POST - when using the API Gateway REST API.

Task Description

Create a login table in DynamoDB containing 10 entities with the following attributes and values. Note: This task can be done via code or console.

Write a program to create a table titled music in DynamoDB with the following attributes:
title, artist, year, album, and image_url.
Write a program to load the data from 2025a1.json to your music table.
A single song can have multiple versions (for example, deluxe editions, live recordings, and remix versions), performed by either the same or different artist. Different versions of the same song are released on different albums.

Note: It is acceptable that the program creates the table with only the key attribute(s) in Task
1.2. The non-key attributes can be created when the program loads the data from the JSON file 2025a1.json in this task.

Write a program that automatically downloads all artist images based on the image_url values found in 2025a1.json and then uploads these images to an S3 bucket.

The login page contains an "Email" text field, a "Password" field, and a "Login" button as well as a register link.
When user clicks the Login button, it will validate if the user-entered credentials match with the information stored in the login table.
If the user credential is invalid, the login page will display "email or password is invalid"; it will be redirected to the main page otherwise.

The register page contains an "Email" text field, a "Username" field, a "Password" field, and a "Register" button. When a user clicks the "Register" button, it will validate if the user- entered email matches with the email stored in the login table created in task 1.1.
Note: Each registration must have a unique email address. The username is not intended to serve as a unique credential for authentication, therefore, it is possible for two (or more) users to have accounts with the same username.
If the entered email matches with the email stored in the login table, the register page will show "The email already exists".
If the entered email is unique, the new user information will be stored in the login table, and the user will be redirected to the login page, where user can login with the new email and password.

The main page contains three areas (a user area, a subscription area, and a query area) and a "Logout" link.
Note: For a newly registered user who hasn't subscribed to any songs yet, the subscription area should be empty. Displaying all songs stored in the database is not advisable, since in a real- world scenario it could contain millions of songs.

(1 mark) After a user log in, the user area will show the corresponding user_name.

The subscription area
The subscription area will show all the user subscribed music information (title, artist, year, and album) stored in DynamoDB.
Each music information is followed by the corresponding artist image retrieved from S3 and a "Remove" button.
If the user clicks the "Remove" button, the corresponding subscribed music informationand artist information will be removed from the subscription area and the corresponding table in DynamoDB.
The query area should contain four text areas, "Title", "Year", "Artist", "Album", and a "Ouery" button. The user may fill in one or more of these text areas and then click the Ouery button, but at least one field must be completed.
If the queried information is not contained in the entities' corresponding attribute value(s) in the music table, it will show "No result is retrieved. Please query again".
If the queried information is contained in (one or more) entities' correspondingattribute value(s) in the music table, the area will show
All the retrieved music information (title, artist, album, and year).
Note: If a user enters more than one query conditions, the query conditions are connected by "AND" operator(s) by default.
Each music information is followed by the corresponding artist images retrieved from S3 and a "Subscribe" button.
If the user clicks the "Subscribe" button, the subscribed music information and the corresponding artist image will be added into the subscription area and the subscribed music information will be stored in DynamoDB.
If the user clicks the "Logout" link, the user will be redirected to the login page.

The application needs to read and update the records (user, music, and subscription) in DynamoDB through API Gateway and Lambda function. For example, when
users register on the website, and
users subscribe to new songs, and

users remove subscribed song(s),
the requests will pass through the API Gateway REST API.
The Lambda function gets the requests (read or write) and communicates with DynamoDB.

Reference no: EM133848167

Questions Cloud

Assess the risk that this patient may pose to others : What psychopathological term could be used to describe her belief that aliens are putting impulses into her brain which she must act on?
Which client will the nurse identify as having experienced : When planning each client's care, which client(s) will the nurse identify as having experienced an adventitious crisis?
Why is about therapist self-awareness interesting : How can someone who studies psychology find information about therapy and therapist ethics useful in their future career or education?
How many calories per day each year to avoid weight gain : You should decrease daily calorie intake by how many calories per day each year to avoid weight gain related to age related decreases in metabolism?
Design and develop highly scalable cloud-based applications : COSC2626 Cloud Computing, RMIT University - Design and develop highly scalable cloud-based applications by creating and configuring virtual machines
Which action by the nurse would be most effective : A nurse is assigned to care for a client who does not. Which action by the nurse would be most effective in reassuring the client until the interpreter arrives?
Which nursing action the nurse would carry out : Five days into the therapy, before administering the next dose, the nurse would carry out which nursing action?
Identify a public health challenge in your community : Identify a public health challenge in your community and describe a current public health prevention strategy.
What dictary source may the woman consume : A woman itated that ber sister had a baby with spina bilds and she is concerned. To avoid problem, what dictary source may the woman consume?

Reviews

Write a Review

Other Subject Questions & Answers

  Cross-cultural opportunities and conflicts in canada

Short Paper on Cross-cultural Opportunities and Conflicts in Canada.

  Sociology theory questions

Sociology are very fundamental in nature. Role strain and role constraint speak about the duties and responsibilities of the roles of people in society or in a group. A short theory about Darwin and Moths is also answered.

  A book review on unfaithful angels

This review will help the reader understand the social work profession through different concepts giving the glimpse of why the social work profession might have drifted away from its original purpose of serving the poor.

  Disorder paper: schizophrenia

Schizophrenia does not really have just one single cause. It is a possibility that this disorder could be inherited but not all doctors are sure.

  Individual assignment: two models handout and rubric

Individual Assignment : Two Models Handout and Rubric,    This paper will allow you to understand and evaluate two vastly different organizational models and to effectively communicate their differences.

  Developing strategic intent for toyota

The following report includes the description about the organization, its strategies, industry analysis in which it operates and its position in the industry.

  Gasoline powered passenger vehicles

In this study, we examine how gasoline price volatility and income of the consumers impacts consumer's demand for gasoline.

  An aspect of poverty in canada

Economics thesis undergrad 4th year paper to write. it should be about 22 pages in length, literature review, economic analysis and then data or cost benefit analysis.

  Ngn customer satisfaction qos indicator for 3g services

The paper aims to highlight the global trends in countries and regions where 3G has already been introduced and propose an implementation plan to the telecom operators of developing countries.

  Prepare a power point presentation

Prepare the power point presentation for the case: Santa Fe Independent School District

  Information literacy is important in this environment

Information literacy is critically important in this contemporary environment

  Associative property of multiplication

Write a definition for associative property of multiplication.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd