Which solution will meet these requirements with the LEAST code changes?
Migrate the application to Amazon Elastic Container Service (Amazon ECS) on AWS Fargate by using AWS App2Container. Store container images in Amazon Elastic Container Registry (Amazon ECR). Grant the ECS task execution role permission 10 access the ECR image repository. Configure Amazon ECS to use an Application Load Balancer (ALB). Use the ALB to interact with the application.
Migrate the application code to a container that runs in AWS Lambda. Build an Amazon API Gateway REST API with Lambda integration. Use API Gateway to interact with the application.
Migrate the application to Amazon Elastic Kubernetes Service (Amazon EKS) on EKS managed node groups by using AWS App2Container. Store container images in Amazon Elastic Container Registry (Amazon ECR). Give the EKS nodes permission to access the ECR image repository. Use Amazon API Gateway to interact with the application.
Migrate the application code to a container that runs in AWS Lambda. Configure Lambda to use an Application Load Balancer (ALB). Use the ALB to interact with the application.
Explanations:
This option uses AWS App2Container to migrate the application to Amazon ECS on Fargate, which abstracts away server management. It minimizes code changes by allowing the application to run in containers without needing to redesign the architecture significantly.
Migrating the application code to run in AWS Lambda requires substantial changes to the application structure, including breaking it into smaller functions and integrating with API Gateway, which involves more code modifications than necessary.
While this option also utilizes AWS App2Container and Amazon ECR, it involves migrating to Amazon EKS, which requires managing Kubernetes and introduces additional complexity and administrative overhead compared to ECS on Fargate.
This option moves the application to Lambda, requiring significant refactoring to fit the serverless model. Configuring an ALB for Lambda also adds unnecessary complexity and is not the simplest solution for minimizing changes.