AWS Certified Solutions Architect – ProfessionalDesign Solutions for Organizational ComplexityMedium

A multinational e-commerce company is expanding its operations into new geographical regions. They need to deploy their existing web application, which is containerized using Docker, to these new regions. The application requires high availability, automatic scaling based on traffic, and minimal operational overhead for container orchestration. The company also wants to maintain consistent deployment practices across all regions. Which AWS service combination should be recommended for deploying and managing this application?

  1. AAWS App Runner for each region with a custom domain mapping
  2. BAmazon EC2 instances with Docker Swarm and an Application Load Balancer (ALB)
  3. CAmazon Elastic Container Service (ECS) with Fargate launch type and an Application Load Balancer (ALB)
  4. DAmazon Elastic Kubernetes Service (EKS) with EC2 nodes and a Network Load Balancer (NLB)
Show answer & explanation

Correct answer: C. Amazon Elastic Container Service (ECS) with Fargate launch type and an Application Load Balancer (ALB)

Amazon ECS with Fargate provides a serverless container orchestration platform, eliminating the need to manage EC2 instances. This minimizes operational overhead, ensures high availability, and allows automatic scaling. ALB integrates seamlessly for traffic distribution, making it an ideal choice for deploying containerized web applications across multiple regions with consistent practices.

Why the other options are wrong

  • A. AWS App Runner is a good choice for simple web applications and APIs but might lack the flexibility and advanced networking/integration options required for complex enterprise e-commerce applications, especially when migrating existing containerized solutions with specific needs.
  • B. Docker Swarm on EC2 instances would require manual management of the underlying EC2 infrastructure, increasing operational overhead compared to Fargate.
  • D. EKS provides powerful Kubernetes orchestration but typically involves higher operational complexity than ECS Fargate, especially when managing EC2 nodes. NLB is generally used for TCP/UDP traffic, while ALB is better suited for HTTP/HTTPS web applications.

Amazon ECS Fargate for Multi-Region Deployments

Leveraging Amazon ECS with the Fargate launch type to deploy and manage containerized applications across multiple AWS Regions without managing underlying EC2 instances.

  • Offers a serverless experience for running containers, reducing operational overhead.
  • Provides high availability and automatic scaling capabilities.
  • Simplifies multi-region deployments by standardizing container orchestration across regions.

Memory trick: Fargate is the serverless way to scale containers globally.

More Design Solutions for Organizational Complexity questions