Question #1282
A company is developing a microservices-based application and intends to deploy it on AWS using containerization. The company requires a solution that reduces operational complexity for scaling and maintenance, with no responsibility for managing underlying infrastructure.
Which combination of steps should a solutions architect implement? (Choose two.)
Deploy an Amazon Elastic Kubernetes Service (Amazon EKS) cluster.
Install a self-managed Kubernetes control plane on Amazon EC2 instances distributed across multiple Availability Zones.
Deploy an Amazon EKS cluster with worker nodes hosted on Amazon EC2 instances. Configure a target tracking scaling policy to ensure at least two instances.
Deploy an Amazon EKS cluster using AWS Fargate profiles. Specify a Kubernetes deployment with a minimum of two replicas per microservice.
Deploy the application using Amazon ECS with the EC2 launch type and set up a service to maintain at least two running tasks.
Explanation
The question requires a solution that minimizes operational complexity and infrastructure management for a containerized microservices application.
- A (EKS Cluster): Amazon EKS is a managed Kubernetes service where AWS handles the control plane, reducing operational tasks like patching and scaling the Kubernetes API servers.
- D (EKS with Fargate): AWS Fargate abstracts away EC2 instances, allowing containers to run without managing servers. Specifying replicas ensures high availability without node management.
Why others are incorrect:
- B: Self-managed Kubernetes on EC2 requires full control plane management, increasing complexity.
- C: EKS with EC2 worker nodes still requires node management (scaling, patching).
- E: ECS with EC2 launch type involves managing EC2 instances and scaling tasks manually.
Key Points:
1. Use managed services (EKS) to offload control plane management.
2. Use serverless compute (Fargate) to avoid node management.
3. Replicas ensure availability without infrastructure oversight.
Answer
The correct answer is: AD