Which solution will meet these requirements with the LEAST operational overhead?
Use AWS Fargate on Amazon Elastic Container Service (Amazon ECS) to run the containerized web application with Service Auto Scaling. Use an Application Load Balancer to distribute the incoming requests.
Use two Amazon EC2 instances to host the containerized web application. Use an Application Load Balancer to distribute the incoming requests.
Use AWS Lambda with a new code that uses one of the supported languages. Create multiple Lambda functions to support the load. Use Amazon API Gateway as an entry point to the Lambda functions.
Use a high performance computing (HPC) solution such as AWS ParallelCluster to establish an HPC cluster that can process the incoming requests at the appropriate scale.
Explanations:
AWS Fargate on Amazon ECS allows the company to run containerized applications without managing the underlying infrastructure. With Service Auto Scaling, it can automatically adjust the number of running containers based on incoming requests. This solution minimizes operational overhead while allowing for easy scaling.
Using Amazon EC2 instances requires managing the infrastructure and scaling manually, which increases operational overhead. While it can handle the requests, it does not meet the requirement of minimal operational effort.
AWS Lambda would require significant code changes as the application would need to be rewritten to fit the serverless model. Additionally, creating multiple Lambda functions adds complexity and operational overhead, deviating from the goal of minimal development effort.
AWS ParallelCluster is designed for high-performance computing tasks, which is not suited for a typical web application. Implementing this solution would require significant setup and management, resulting in high operational overhead.