Which solution meets these requirements?
Use Amazon Elastic Container Service (Amazon ECS) with Amazon EC2 worker nodes for compute and MongoDB on EC2 for data storage.
Use Amazon Elastic Container Service (Amazon ECS) with AWS Fargate for compute and Amazon DynamoDB for data storage
Use Amazon Elastic Kubernetes Service (Amazon EKS) with Amazon EC2 worker nodes for compute and Amazon DynamoDB for data storage.
Use Amazon Elastic Kubernetes Service (Amazon EKS) with AWS Fargate for compute and Amazon DocumentDB (with MongoDB compatibility) for data storage.
Explanations:
Amazon ECS with EC2 and MongoDB on EC2 requires operational overhead for managing EC2 instances and the MongoDB database. Additionally, it doesn’t align with the requirement to minimize operational overhead.
While ECS with Fargate reduces operational overhead, using DynamoDB requires code changes due to differences in database models. The requirement specifies no code changes are allowed.
EKS with EC2 worker nodes requires management of both the Kubernetes infrastructure and the EC2 instances. Additionally, using DynamoDB would necessitate code changes, violating the requirements.
EKS with AWS Fargate allows for a serverless compute option that reduces operational overhead, and using Amazon DocumentDB maintains MongoDB compatibility without requiring code changes. This meets all specified requirements.