AWS Certified Solutions Architect – Professional — Question 885
A customer has a 10 GB AWS Direct Connect connection to an AWS region where they have a web application hosted on Amazon Elastic Computer Cloud (EC2).
The application has dependencies on an on-premises mainframe database that uses a BASE (Basic Available, Soft state, Eventual consistency) rather than an
ACID (Atomicity, Consistency, Isolation, Durability) consistency model. The application is exhibiting undesirable behavior because the database is not able to handle the volume of writes.
How can you reduce the load on your on-premises database resources in the most cost-effective way?
Answer options
- A. Use an Amazon Elastic Map Reduce (EMR) S3DistCp as a synchronization mechanism between the on-premises database and a Hadoop cluster on AWS.
- B. Modify the application to write to an Amazon SQS queue and develop a worker process to flush the queue to the on-premises database.
- C. Modify the application to use DynamoDB to feed an EMR cluster which uses a map function to write to the on-premises database.
- D. Provision an RDS read-replica database on AWS to handle the writes and synchronize the two databases using Data Pipeline.
Correct answer: B
Explanation
Using Amazon SQS acts as a buffer to decouple the application from the database, allowing a worker process to write to the mainframe at a controlled pace that matches its capacity. This leverages the database's BASE consistency model, where eventual consistency is acceptable, making it the most cost-effective solution. Other options involving Amazon EMR are overly complex and expensive, while RDS read-replicas cannot be used to offload write operations.