QuestionQ4

Continuous Improvement for Existing Solutions

A company’s solutions architect is assessing an AWS workload that was deployed several years ago. The application tier is stateless and operates on one large Amazon EC2 instance launched from an AMI. The application stores its data in a MySQL database running on a single EC2 instance.

CPU utilization on the application-server EC2 instance frequently reaches 100%, causing the application to become unresponsive. The company installs instance patches manually, and patching has previously caused downtime. The company must make the application highly available.

Which solution meets these requirements with the LEAST development time?

  • A Move the application tier to AWS Lambda functions in the existing VPC. Create an Application Load Balancer to distribute traffic across the Lambda functions. Use Amazon GuardDuty to scan the Lambda functions. Migrate the database to Amazon DocumentDB (with MongoDB compatibility.
  • B Change the EC2 instance type to a smaller Graviton powered instance type. Use the existing AMI to create a launch template for an Auto Scaling group. Create an Application Load Balancer to distribute traffic across the instances in the Auto Scaling group. Set the Auto Scaling group to scale based on CPU utilization. Migrate the database to Amazon DynamoDB.
  • C Move the application tier to containers by using Docker. Run the containers on Amazon Elastic Container Service (Amazon ECS) with EC2 instances. Create an Application Load Balancer to distribute traffic across the ECS cluster. Configure the ECS cluster to scale based on CPU utilization. Migrate the database to Amazon Neptune.
  • D Create a now AMI that is configured with AWS Systems Manager Agent (SSM Agent). Use the new AMI to create a launch template for an Auto Scaling group. Use smaller instances in the Auto Scaling group. Create an Application Load Balancer to distribute traffic across the instances in the Auto Scaling group. Set the Auto Scaling group to scale based on CPU utilization. Migrate the database to Amazon Aurora MySQL.
Explanation

An Application Load Balancer distributing traffic to smaller EC2 instances in an Auto Scaling group provides horizontal scaling and high availability for the stateless application tier; a CPU-based scaling policy adds capacity as utilization rises. AWS Systems Manager, using SSM Agent, supports automated patch management. Amazon Aurora MySQL maintains MySQL compatibility while providing resilient storage across Availability Zones and automatic failover options, avoiding the substantial application and data-model changes required by Lambda, containers, DynamoDB, DocumentDB, or Neptune.

Learn more

Community Discussion

No comments yet. Be the first to start the discussion!