Scenario
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.
Directions
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.
Supporting Materials
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.


0 comments