Question #1740
A company is migrating a high-traffic component of their web application from Amazon EC2 instances to a serverless architecture. The component handles thousands of concurrent requests and is developed in Python. The solution must automatically scale, require minimal management, and reduce operational complexity. Which option meets these requirements?
Deploy using Amazon EC2 Spot Instances with Auto Scaling groups.
Use AWS Fargate with Amazon ECS to run the service in containers.
Implement the component as an AWS Lambda function with custom code.
Set up an Amazon Elastic Kubernetes Service (EKS) cluster with managed node groups.
Explanation
AWS Lambda (C) meets all requirements:
1. Automatic Scaling: Lambda inherently scales with each request, handling thousands of concurrent executions without manual intervention.
2. Minimal Management: As a serverless service, Lambda removes the need to provision or manage servers, unlike EC2 (A), ECS/Fargate (B), or EKS (D), which still require some infrastructure oversight.
3. Reduced Complexity: Lambda abstracts infrastructure management, allowing developers to focus on code. EC2 (A) requires managing instances and scaling policies, ECS/Fargate (B) involves container orchestration, and EKS (D) adds Kubernetes complexity.
Key Points: Lambda is ideal for stateless, event-driven workloads with high concurrency. Other options involve varying levels of operational overhead, making them less suitable for a fully serverless migration goal.
Answer
The correct answer is: C