Overview

The goal of this project is to deploy a highly available and scalable web application on AWS using CloudFormation. The architecture will include a VPC (with Private and public Subnets), an Internet Gateway, NAT Gateways, an Auto Scaling Group, and an Application Load Balancer. The solution will ensure that backend servers are protected from direct internet access while still being able to access the internet for updates and external resources. The infrastructure will be managed using Infrastructure as Code (IaC) to ensure consistency and repeatability.

Services Scope

Core Components

Front-End Tier:

The front-end tier of a cloud infrastructure consists of public resources, typically housed in public subnets. This Presentation Layer serves as the customer-facing part of the system, with components like a Load Balancer that efficiently manages incoming traffic and directs it to the appropriate backend resources.

<aside> šŸ¤”

                                    **Tech Made Simple: Real World Example**

Think of the front-end tier as the staff at a movie theater. Whether you need tickets, snacks from the concession stand, or directions to the screening room, these employees are there to guide the customer and ensure you reach what you need. Similarly, the front-end tier ensures that user requests are smoothly processed and routed, forming the gateway to the backend operations.

</aside>

Back-End Tier:

This Processing and Logic Layer ensures that everything runs smoothly once user requests make their way past the front-end. The back-end tier of a cloud infrastructure handles the heavy lifting behind the scenes. It resides in private subnets and is responsible for processing requests, managing data, and executing business logic.

<aside> šŸ¤”

                                    **Tech Made Simple: Real World Example**

You're at the movie theater, seated with your šŸæconcessions, and ready for the show, but the sound system suddenly malfunctions, or the movie stops working .😟 🤯 These are issues with the movie theater’s backend operations—the behind-the-scenes systems that ensure your experience is seamless. Similarly, in the back-end tier of a cloud environment, any disruptions—like slow database queries or broken API integrations—can result in poor user experiences, even if the front-end is working perfectly.

The back-end tier plays a crucial role in resolving these issues, much like theater technicians who troubleshoot and restore functionality. Whether it's ensuring data integrity, optimizing performance, or fixing logic errors, this layer is the backbone of a successful operation.

</aside>

Prerequisites:

Use Case:

A company is looking to deploy a new web application that requires a highly available and scalable infrastructure. Their Chief Security Officer (CSO) has mandated that SSH keys must not be used for accessing servers, and all infrastructure must be managed using Infrastructure as Code (IaC) to ensure consistency and repeatability. The application needs to be accessible to users over the internet, but the backend servers must be protected from direct internet access while still being able to access the internet for updates and external resources.