Several years ago, the company you are consulting for started an SOA concept to enable more modularity. At that time, they chose to deploy each microservice as separate LAMP stacks launched in Elastic Beanstalk instances due to the ease of deployment and scalability. They are now in the process of migrating all the services over to Docker containers. Which of the following options would make the most efficient use of AWS resources?
1. Create an auto-scaled group of EC2 instances and run Kubernetes across them to orchestrate the containers.
2. Use the Elastic Container Repository and AWS Spectrum to fully automate the deployment and scaling of the Docker containers.
3. Package the containers as JAR files and deploy them with Lambda to take advantage of the pay-per-use model
4. Create an ECS cluster and configure each container to exist in its own pod. Use the Calico add-on to manage access to each service.
5. Configure Elastic Beanstalk to more efficiently run the existing landscapes across a single auto-scaled group rather than separate instances.
The explanation is:
ECS might be a possible choice, but pods are a concept with Kubernetes and not ECS. Elastic Beanstalk deployments run in their own self-contained environment and don’t share resources. Of the choices presented, the only feasible choice is K8s on EC2.
My question: the question says to use "Docker containers", why do we choose Kubernetes as the answer?
Kubernetes uses Docker containers