Learning Goal: I’m working on a computer science project and need an explanation and answer to help me learn.
You are a developer for QnA, a startup company. You just completed the development of a full stack web application and watched app usage take off after the implementation of in-house servers. It’s an exciting time for the company. The company is growing, and you can feel the growing pains. The company is expecting a drastic increase in customers. You notice that the once-fluid office environment that allowed customers to choose their favorite devices and platforms has led to major limitations in collaboration. Development has become siloed, and sometimes only one key person can manage certain aspects of the application. To continue to allow your application to expand with the growing company, you need a solution for moving the application to a cloud-based framework.
In this project, you will explore cloud development frameworks for leveraging cloud infrastructure to support your application. This project will allow you to migrate your web application from the desktop to a cloud-based environment. All of these iterations will show you how the cloud is designed to make scaling up and growing your business more efficient. The IT team has determined that Amazon Web Services (AWS) provides a Platform as a Service capability that allows you to minimize system management and efficiently run services by dynamically scaling an application’s capacity to run up and down. You will be leveraging the principle of elasticity.
Specifically, your web application must demonstrate your ability to do the following:
Frontend: Establish an S3 server to host a static Angular website.
Prepare the client-side and web server setup, and apply the principles of serverless web hosting by moving frontend-Angular to the cloud.
Prepare S3 storage buckets and objects and IAM security settings.
Now that you have created your containers, you can see there are benefits and pitfalls to this approach. Your director wants to ensure that your site is elastic, is secure, can process data quickly, and can keep up with the amount of traffic and transactions as the number of customers increases. Her thought is to utilize more AWS products and move the frontend to S3, a serverless solution.
You will be running your application in a serverless environment using a cloud-based database solution and detaching the Angular frontend and running it in the cloud, removing the need for the original server.
Backend and API: Migrate all of the server-side business logic.
Demonstrate how Lambda containers can be used to distribute functionality in a serverless environment.
Migrate all of the server-side business logic; apply principles of serverless API by writing code.
Establish IAM security policy updates to protect the website and database.
Change the API Gateway to connect the Lambdas.
As you explore native cloud services you will discover best practices that simplify the work of a developer, leaving them focused on developing rather than continuously working on maintaining the existing infrastructure.
In the final phase, you will deconstruct the full stack application APIs and turn them into microservices, making them fully cloud-native applications. This involves adding CRUD functionality and API Gateway using Lambdas to eliminate the need for the original MEAN server.
What to Submit
To complete this project, you must submit the following URLs to Brightspace:
API URL / Endpoint: This is the backend of the project running.
S3 URL / Endpoint: This is the project fully running.
The following resource(s) may help support your work on the project:
CS 470 Project One Guide
Specific instructions will be supplied in this guide.
Assignment status: Solved by our experts