The solution must maximize scalability and must minimize operational effortWhich combination of steps will meet these requirements?
(Choose three.)
Refactor the frontend so that static assets can be hosted on Amazon S3. Use Amazon CloudFront to serve the frontend to customers. Connect the frontend to the Java application.
Rehost the Apache web server of the frontend on Amazon EC2 instances that are in an Auto Scaling group. Use a load balancer in front of the Auto Scaling group. Use Amazon Elastic File System (Amazon EFS) to host the static assets that the Apache web server needs.
Rehost the Java application in an AWS Elastic Beanstalk environment that includes auto scaling.
Refactor the Java application, Develop a Docker container to run the Java application. Use AWS Fargate to host the container.
Use AWS Database Migration Service (AWS DMS) to replatform the PostgreSQL database to an Amazon Aurora PostgreSQL database. Use Aurora Auto Scaling for read replicas.
Rehost the PostgreSQL database on an Amazon EC2 instance that has twice as much memory as the on-premises server.
Explanations:
Refactoring the frontend to use Amazon S3 for static assets and CloudFront for content delivery ensures scalability, reduces load on the Apache web server, and improves performance. This is a common best practice for static content.
Using EC2 instances in an Auto Scaling group and EFS for static assets increases complexity and operational overhead. This is less efficient than using S3 and CloudFront, which are purpose-built for static content and scalability.
Rehosting the Java application on AWS Elastic Beanstalk with auto scaling simplifies management and ensures the application can scale based on demand, minimizing operational effort and maximizing scalability.
Refactoring the Java application to run in Docker containers and using AWS Fargate would add unnecessary complexity. Elastic Beanstalk provides an easier, fully managed solution that requires less operational effort.
Using AWS Database Migration Service (DMS) to migrate to Aurora PostgreSQL with auto-scaling read replicas resolves database performance issues. Aurora is designed to handle high throughput and scale more efficiently.
Rehosting the PostgreSQL database on an EC2 instance increases operational complexity and doesn’t leverage AWS managed services like Aurora, which offer better scalability and high availability.