Back to Projects

CLOUD INFRASTRUCTURE | AWS

AWS High-Availability Web Application

This project demonstrates how AWS services can be combined to build a highly available web application. It explores load balancing, application instances across Availability Zones, shared storage, networking, DNS and HTTPS configuration.

Multi-AZ application capacityLoad-balanced web trafficShared storageDNS & HTTPS
Website interface shown in the AWS High-Availability Web Application project image
AWS High-Availability Web Application project image

PROJECT OVERVIEW

A dependable web foundation

The purpose of this architecture is to reduce dependence on a single application instance and provide a clear path for web requests through AWS. An Application Load Balancer distributes incoming traffic to EC2 application instances across Availability Zones, while Auto Scaling supports the application capacity design.

Amazon EFS is included for shared storage. Route 53 and AWS Certificate Manager (ACM) support the domain and HTTPS configuration. The project materials also list an Amazon VPC and NAT Gateway as part of the networking layer.

ARCHITECTURE & TRAFFIC FLOW

How the pieces connect

This high-level view uses only the services and relationships recorded for the project.

  1. 01

    Route 53

    DNS configuration directs visitors to the web application endpoint.

  2. 02

    HTTPS & load balancing

    ACM supports HTTPS configuration, and the Application Load Balancer distributes incoming web requests.

  3. 03

    EC2 & Auto Scaling

    Application instances are arranged across Availability Zones, with Auto Scaling included in the design.

  4. 04

    Amazon EFS

    Shared storage is part of the application architecture.

Amazon VPC and NAT Gateway are listed in the project materials. The exact public/private subnet placement, route tables and NAT Gateway path are not documented here, so no subnet-specific flow is claimed.

AWS SERVICES USED

The infrastructure components

  • Amazon VPC
  • Application Load Balancer (ALB)
  • Amazon EC2
  • Auto Scaling
  • Amazon EFS
  • NAT Gateway
  • Amazon Route 53
  • AWS Certificate Manager (ACM)

Public and private subnet roles are not specified in the available project notes.

IMPLEMENTATION

A layered AWS design

The application tier uses EC2 instances with Auto Scaling across Availability Zones. An Application Load Balancer provides the incoming traffic distribution layer. Amazon EFS is included as shared storage for the application.

Route 53 is used for DNS and ACM for HTTPS configuration. The recorded service list also includes a VPC and NAT Gateway. Exact subnet assignments, listener rules, scaling thresholds, EFS mount details and route-table settings are not present in the available materials, so this page does not assume them.

CHALLENGES & SOLUTIONS

Documented project notes

The current project materials do not describe a specific deployment issue or the steps used to resolve one. I have left out a challenge story rather than inventing a problem or solution.

RESULTS & LESSONS LEARNED

Availability is a system design

The documented result is a high-availability architecture combining load balancing, EC2 application capacity across Availability Zones, shared storage, networking, DNS and HTTPS. No uptime metrics are recorded, and this page does not imply that the infrastructure is still running.

The key lesson is that availability depends on coordinating the application traffic path with its compute, storage and network services. DNS and HTTPS configuration are part of the same end-to-end experience.

EMBEDDED VIDEO WALKTHROUGH

See the project in action

Watch on YouTube