Which solution will meet these requirements with the LEAST operational overhead?
Use Amazon Elastic Container Service (Amazon ECS). Configure Amazon ECS Service Auto Scaling to use target tracking scaling. Set the minimum capacity to 3. Set the task placement strategy type to spread with an Availability Zone attribute.
Use Amazon Elastic Kubernetes Service (Amazon EKS) self-managed nodes. Configure Application Auto Scaling to use target tracking scaling. Set the minimum capacity to 3.
Use Amazon EC2 Reserved Instances. Launch three EC2 instances in a spread placement group. Configure an Auto Scaling group to use target tracking scaling. Set the minimum capacity to 3.
Use an AWS Lambda function. Configure the Lambda function to connect to a VPC. Configure Application Auto Scaling to use Lambda as a scalable target. Set the minimum capacity to 3.
Explanations:
Amazon ECS allows for easy deployment of containerized applications across multiple Availability Zones (AZs) with minimal changes. Using Service Auto Scaling with target tracking and a placement strategy that spreads tasks across AZs ensures high availability and resilience without significant operational overhead.
While Amazon EKS can manage Kubernetes clusters and can be set up for high availability, it typically requires more operational overhead due to the complexity of managing Kubernetes nodes and configurations compared to Amazon ECS. This option does not minimize changes to the application effectively.
Using EC2 Reserved Instances with a spread placement group and an Auto Scaling group adds operational overhead in managing EC2 instances. It requires more manual setup and management compared to ECS, which is designed for containerized applications. Additionally, it is less suited for applications needing high availability across AZs compared to ECS.
AWS Lambda is designed for serverless applications, not for running containerized workloads directly. Although it can connect to a VPC, it is not suitable for deploying containerized applications in the same way as ECS. The mention of Application Auto Scaling is not applicable here for containers, making this option incorrect for the given requirements.