Web Application Hosting in the AWS Cloud Whitepaper (2019)

Benefits of using AWS over a traditional hosting model

  • A cost effective alternative to oversized fleets needed to handle peaks
    • Traditional hosting: provision servers to handle peak capacity
      • Unused cycles are wasted outside of peak periods
    • AWS auto-scaling based on actual traffic trends will result in less wasted capacity and a greater reduction in cost
  • A scalable solution to handling unexpected traffic peaks
    • Traditional hosting: inability to respond in time to unexpected traffic spikes
  • An On-demand solution for test, load, beta and pre-production environments
    • Traditional hosting: a lot of expensive hardware sits unused for long periods of time

Classic web application architecture on AWS Cloud

  • Load Balancing with Elastic Load Balancing (ELB) / Application Load Balancing (ALB)
  • Firewalls with Security Groups
  • Caching with Amazon ElastiCache
  • Managed Database with Amazon RDS
  • DNS Services with Amazon Route 53
  • Edge Caching with Amazon CloudFront
  • Edge Security for Amazon CloudFront with AWS WAF
  • DDoS Protection with AWS Shield
  • Static Storage and Backup with Amazon S3

Key Components of AWS Web Hosting Architecture

  • Network Management (VPC, Subnets, NACLs, etc…)
  • Content Delivery (Amazon CloudFront)
  • Managing Public DNS (Route53)
  • Host Security (EC2 Security Groups)
  • Load Balancing Across Clusters (ALB /ELB / Software load-balancing packages, e.g. Zeus, HAProxy, NGINX Plus)
  • Finding Other Hosts and Services (Dynamic addresses and DNS entries for the resources, Elastic IPs)
  • Caching within the Web Application (Amazon ElastiCache)
  • Database Configuration, Backup and Failover (NoSQL Database - DynamoDB, RDS, and Self-Managed on EC2)
  • Storage and Backup of Data and Assets (Amazon S3, Amazon EBS volumes)
  • Automatically Scaling the Fleet (Auto Scaling Groups - ASGs, integrated with ELBs/ALBs)
  • Additional Security Features (AWS Shield, AWS DDoS Response Team - DRT to mitigate large-scale and sophisticated attacks against your resources, AWS WAF for CloudFront / ALB)
  • Failover with AWS (Multi-AZ, Multi-Region)

Key Considerations When Using AWS for Web Hosting

  • No more physical Network Appliances
  • Firewalls everywhere
  • Consider the availability of multiple data centers
  • Treat hosts as ephemeral and dynamic
  • Consider a serverless architecture (AWS Lambda, Amazon API Gateway)