SAP-C02 · Question #607
A company migrated an application to the AWS Cloud. The application runs on two Amazon EC2 instances behind an Application Load Balancer (ALB). Application data is stored in a MySQL database that…
The correct answer is D. Containerize the application. Migrate the application to an Amazon Elastic Container Service. To improve reliability for an application with read-heavy database bottlenecks, static content management issues, and scaling challenges, containerize it on ECS Fargate, migrate the database to Aurora Serverless v2, and offload static content to S3 with CloudFront.
Question
A company migrated an application to the AWS Cloud. The application runs on two Amazon EC2 instances behind an Application Load Balancer (ALB). Application data is stored in a MySQL database that runs on an additional EC2 instance. The application's use of the database is read-heavy. The application loads static content from Amazon Elastic Block Store (Amazon EBS) volumes that are attached to each EC2 instance. The static content is updated frequently and must be copied to each EBS volume. The load on the application changes throughout the day. During peak hours, the application cannot handle all the incoming requests. Trace data shows that the database cannot handle the read load during peak hours. Which solution will improve the reliability of the application?
Options
- AMigrate the application to a set of AWS Lambda functions. Set the Lambda functions as targets
- BMigrate the application to a set of AWS Step Functions state machines. Set the state machines
- CContainerize the application. Migrate the application to an Amazon Elastic Container Service
- DContainerize the application. Migrate the application to an Amazon Elastic Container Service
How the community answered
(55 responses)- A4% (2)
- B20% (11)
- C11% (6)
- D65% (36)
Why each option
To improve reliability for an application with read-heavy database bottlenecks, static content management issues, and scaling challenges, containerize it on ECS Fargate, migrate the database to Aurora Serverless v2, and offload static content to S3 with CloudFront.
Migrating to Lambda functions could work for the application layer but does not address the database read-heavy bottleneck or the static content distribution problem, which are key reliability issues.
AWS Step Functions are for orchestrating distributed applications or workflows, not for running a core web application or directly addressing database scaling and static content delivery issues.
While containerizing and migrating to ECS on Fargate is good for application scaling, this option does not address the critical database read-heavy bottleneck or the static content distribution problem, both of which are central to improving reliability.
Containerizing on ECS Fargate provides auto-scaling for the application layer. Migrating to Aurora Serverless v2, designed for rapid scaling for variable workloads including read-heavy operations, resolves the database bottleneck. Storing static content in S3 and serving it via CloudFront eliminates the need for manual copying to EBS, improves content delivery, and offloads application instances, collectively improving overall reliability.
Concept tested: Application modernization, database scaling, static content delivery, ECS Fargate
Source: https://aws.amazon.com/rds/aurora/serverless/
Community Discussion
No community discussion yet for this question.