Question #1777
A company is deploying a containerized application on AWS and requires high availability across three Availability Zones. The solution must minimize operational overhead and avoid significant application modifications. Which option fulfills these requirements?
Use Amazon ECS with AWS Fargate. Configure the service to use a spread placement strategy across Availability Zones and set the desired task count to 3.
Use Amazon EKS with self-managed nodes. Configure the Kubernetes Cluster Autoscaler with a minimum node count of 3 across Availability Zones.
Deploy EC2 instances in an Auto Scaling group spread across three Availability Zones using a spread placement group, with a minimum capacity of 3.
Use AWS Lambda with provisioned concurrency set to 3, distributing the function across multiple Availability Zones.
Explanation
Option A is correct because:
- AWS Fargate eliminates the need to manage EC2 instances, reducing operational overhead.
- Spread placement strategy ensures tasks are distributed across three Availability Zones (AZs), providing high availability.
- Desired task count of 3 guarantees one task per AZ, maintaining redundancy.
- No application modifications are required since ECS natively supports containerized applications.
Other options are incorrect because:
- Option B (EKS with self-managed nodes) requires managing Kubernetes nodes, increasing operational complexity.
- Option C (EC2 Auto Scaling) involves managing EC2 instances and lacks native container orchestration, increasing overhead.
- Option D (Lambda) is unsuitable for containerized applications without significant re-architecture.
Key Points: Use Fargate for serverless containers, spread placement for AZ redundancy, and desired task count for HA with minimal management.
Answer
The correct answer is: A