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.
Part | Title | Description |
1 | How to Deploy Your Full Stack App on AWS | This is the introduction to our series. |
2 | How to Build a Full Stack App on Your Local Machine | We 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. |
3 | How to Sign Up and Create an Admin IAM User on AWS | We will sign into the AWS console for the first time and create an IAM User with full administrator access. |
4 | How to Create and Connect to an AWS PostgreSQL Database | We will create an EC2 instance, deploy a PostgreSQL database to that EC2, and configure it so we can connect to it using pgAdmin IDE. |
5 | How to Deploy a Spring Boot REST API on AWS Elastic Beanstalk | We will deploy our Spring Boot REST API application to AWS using Elastic Beanstalk, and confirm it communicates with our AWS Database. |
6 | How to Deploy and Host a React App using Netlify | We will deploy our front end React App to Netlify and link it up with our REST API. |
7 | How to Authenticate Users using AWS Cognito | We will add a Login screen to our App and use AWS Cognito to manage user logins. |
8 | How to Optimize our AWS Full Stack App using Cookies and AWS ElastiCache | We will add cookies and caching to our App to optimize performance and costs. |
9 | How to Secure our AWS Full Stack App | This 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. |
10 | How to Monitor Errors and Billing on AWS | We will learn how to diagnose errors in all the various AWS resources we've added, and look at AWS Billing and Cost Management. |
11 | How to brand and launch our AWS | This 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.