Question #787
A company hosts a legacy web application on-premises, allowing users to upload documents that are stored on a network-attached storage (NAS) device. The application server frequently becomes overutilized, leading to failed uploads, and the company must continually expand the NAS capacity. The company wants to migrate the application to AWS, refactor it to improve scalability, and accelerate development. Users from Europe and Asia access the application, and only authenticated users should be permitted to upload files. Which solution meets these requirements with the LEAST operational overhead?
Migrate the application server to Amazon EC2 instances using AWS Application Migration Service. Configure an Auto Scaling group and an Application Load Balancer. Modify the application to store files in Amazon S3 and integrate Amazon Cognito for user authentication.
Deploy the application using AWS Elastic Beanstalk for automated infrastructure management. Use Amazon S3 for file storage, Amazon Cognito for authentication, and Amazon CloudFront for global content delivery.
Build a static frontend hosted on Amazon S3. Use Amazon API Gateway and AWS Lambda to handle file uploads to S3. Implement user authentication with Amazon Cognito.
Use AWS Amplify to host the web application, leveraging Amplify's CI/CD pipelines for rapid development. Serve content globally via Amazon CloudFront, store files in Amazon S3, and authenticate users with Amazon Cognito.
Explanation
Answer D is correct because:
1. Least Operational Overhead: AWS Amplify automates infrastructure management, including CI/CD pipelines, reducing manual intervention.
2. Scalability: Amplify inherently scales with traffic, and S3 provides unlimited storage without capacity planning.
3. Global Access: CloudFront ensures low-latency content delivery to users in Europe and Asia.
4. Security: Cognito handles user authentication, restricting uploads to authenticated users.
Other options:
- A: EC2 requires managing servers and scaling, increasing operational effort.
- B: Elastic Beanstalk still uses EC2, requiring some infrastructure management.
- C: API Gateway/Lambda is serverless but lacks built-in CI/CD pipelines, requiring more setup.
Key Points:
- Use fully managed services (Amplify, S3, Cognito, CloudFront) to minimize operational tasks.
- Amplify accelerates development with automated CI/CD pipelines.
- Serverless architectures (e.g., Amplify) improve scalability and reduce maintenance.
Answer
The correct answer is: D