How to Deploy Your Full Stack App on AWS

How to Deploy Your Full Stack App on AWS

Part 1 of "Your First AWS App" series

Deploying a full-stack application to AWS for the first time can be overwhelming. There are many concepts to learn if you are new to cloud development. This guide will walk you through deploying each component step by step while learning the concepts along the way. We will assume you have a new AWS account, so we will start from scratch. The series is broken down in the table below, with a brief description of each blog, so you can jump to a specific part or ideally start from scratch and progress in order.

PartTitleDescription
1How to Deploy Your Full Stack App on AWSThis is the introduction to our series.
2How to Build a Full Stack App on Your Local MachineWe will develop a simple app locally, consisting of a PostgreSQL database, a Java Spring Boot REST API, and a React JavaScript front end, and run them all together locally.
3How to Sign Up and Create an Admin IAM User on AWSWe will sign into the AWS console for the first time and create an IAM User with full administrator access.
4How to Create and Connect to an AWS PostgreSQL DatabaseWe will create an EC2 instance, deploy a PostgreSQL database to that EC2, and configure it so we can connect to it using pgAdmin IDE.
5How to Deploy a Spring Boot REST API on AWS Elastic BeanstalkWe will deploy our Spring Boot REST API application to AWS using Elastic Beanstalk, and confirm it communicates with our AWS Database.
6How to Deploy and Host a React App using NetlifyWe will deploy our front end React App to Netlify and link it up with our REST API.
7How to Authenticate Users using AWS CognitoWe will add a Login screen to our App and use AWS Cognito to manage user logins.
8How to Optimize our AWS Full Stack App using Cookies and AWS ElastiCacheWe will add cookies and caching to our App to optimize performance and costs.
9How to Secure our AWS Full Stack AppThis tidy up chapter will focus on locking down open configurations we applied earlier in the series for testing, adding request authentication / authorization, and adding tests.
10How to Monitor Errors and Billing on AWSWe will learn how to diagnose errors in all the various AWS resources we've added, and look at AWS Billing and Cost Management.
11How to brand and launch our AWSThis bonus chapter will focus on how to purchase a domain name & SSL for our website, and how to promote discovery in search engine results.

Our application will be very simple, a single page web app accessing a rest api that gets data from 2 tables (users and notes). Later we will extend the app to include a login page, allowing different users to view their personal notes.