50.9k views
2 votes
A company runs an ecommerce application on Amazon EC2 instances behind an Application Load Balancer. The instances run in an Amazon EC2 Auto Scaling group across multiple Availability Zones. The Auto Scaling group scales based on CPU utilization metrics. The ecommerce application stores the transaction data in a MySQL 8.0 database that is hosted on a large EC2 instance. The database's performance degrades quickly as application load increases. The application handles more read requests than write transactions. The company wants a solution that will automatically scale the database to meet the demand of unpredictable read workloads while maintaining high availability.

Which solution will meet these requirements?


A. Use Amazon Redshift with a single node for leader and compute functionality.


B. Use Amazon RDS with a Single-AZ deployment Configure Amazon RDS to add reader instances in a different Availability Zone.


C. Use Amazon Aurora with a Multi-AZ deployment. Configure Aurora Auto Scaling with Aurora Replicas.


D. Use Amazon ElastiCache for Memcached with EC2 Spot Instances.

User Charles Ju
by
7.4k points

1 Answer

2 votes

Final answer:

The best solution for the provided ecommerce scenario is to use Amazon Aurora with a Multi-AZ deployment, configured to use Aurora Auto Scaling with Aurora Replicas for handling high read workloads while maintaining high availability.option c.

Step-by-step explanation:

The optimal solution for a scenario where an ecommerce application experiences quick performance degradation due to increased application load, particularly with more read requests than write transactions, is C. Use Amazon Aurora with a Multi-AZ deployment. Amazon Aurora represents a suitable database that can handle high traffic and scale to meet demand, while ensuring high availability. By deploying across multiple Availability Zones (AZs), you ensure that there is a failover strategy in place which promotes availability.

Amazon Aurora Auto Scaling with Aurora Replicas allows the database system to automatically adjust the number of Aurora Read Replicas available in response to changes in the read workload. This meets the requirement for scalability with unpredictable read workloads, as Aurora’s read scaling is automated, and replicas can be distributed across AZs. Aurora also offers additional features such as self-healing storage and enhances performance relative to standard MySQL deployments.

User Matt Hidinger
by
8.5k points