Designing a Scalable Web Application Infrastructure

INTERMEDIATE
150 minutes
5 tasks

In this lab, you will learn how to design a scalable and fault-tolerant web application using multiple AWS services. The architecture will include an Elastic Load Balancer for distributing traffic, Amazon EC2 instances for processing requests, Amazon RDS for database management, and Amazon S3 for storage. By the end of this lab, you will be able to implement a resilient architecture that handles variable traffic and maintains high availability.

Scenario

You are an architect at a growing e-commerce company, FastBuy Corp, which expects a significant increase in online transactions by 30% during holiday sales. The company needs a robust web application that can scale out during peak loads and provide high availability to prevent revenue loss. The solution must operate within a budget of $400 USD per month for infrastructure costs while maintaining performance SLAs of 99.99% uptime and average CPU utilization under 70%.

Learning Objectives

  • Learn how to distribute traffic using Elastic Load Balancing
  • Implement auto-scaling for EC2 instances
  • Configure a relational database with Amazon RDS
  • Utilize Amazon S3 for static content storage and distribution
  • Ensure high availability and fault tolerance

tasks (5)

task 1: Create a VPC with public and private subnets

30 min

task 2: Launch EC2 instances with auto-scaling in private subnets and a load balancer

40 min

task 3: Deploy a relational database using Amazon RDS

25 min

task 4: Configure S3 buckets for static content with lifecycle policies

20 min

task 5: Implement monitoring and logging for the infrastructure

35 min

Prerequisites

  • Basic knowledge of AWS networking components
  • Familiarity with AWS Management Console navigation
  • Understanding of web application architectures

Skills Tested

Designing scalable and highly available web applicationsImplementing load balancing and auto-scaling solutionsConfiguring secure and optimized S3 storage solutionsDeploying a managed database with Amazon RDSSetting up monitoring and logging with CloudWatch