Category: CSAA – Design Resilient Architectures
A company is running an on-premises application backed by a 1TB MySQL 8.0 database. A couple of times each month, the production data is fully copied to a staging database at the request of the analytics team. The team can’t work on the staging database until the copy is finished, which takes hours.
Throughout this period, the application experiences intermittent downtimes as well. To expedite the process for the analytics team, a solutions architect must redesign the application’s architecture in AWS. The application must also be highly resilient to disruptions.
Which combination of actions best satisfies the given set of requirements while being the most cost-effective? (Select TWO)
- Use an Amazon Aurora database with Multi-AZ Replicas.
- Clone the production database in the staging environment using Aurora cloning.
- Use an Amazon RDS database in a Multi-AZ Deployments configuration
- Take a manual snapshot and restore it to a database in the staging environment.
- Replicate the production database to a staging database using the
mysqldump
client utility
Solution & Explanation:
The resiliency of an application pertains to its ability to recover from infrastructure or service disruptions. Both Amazon Aurora and Amazon RDS can give you a highly resilient infrastructure by deploying replicas in multiple availability zones. Both database services can perform an automatic failover to a standby instance in the event of failure. However, only Amazon Aurora has the ability to replicate a database in a fast and efficient manner without impacting performance, thanks to its underlying storage system. By using Aurora cloning, you can create a new cluster that uses the same Aurora cluster volume and has the same data as the original. The process is designed to be fast and cost-effective. The new cluster with its associated data volume is called a clone.
Creating a clone is faster and more space-efficient than physically copying the data using other techniques, such as restoring from a snapshot like you would in Amazon RDS or using the native mysqldump
utility.
Therefore, the correct answers are:
– Use an Amazon Aurora database with Multi-AZ Replicas.
– Clone the production database in the staging environment using Aurora cloning.
The option that says: Use an Amazon RDS database in a Multi-AZ Deployments configuration is incorrect. While Amazon RDS is a valid option, Amazon Aurora best fits what’s described in the scenario due to its cloning feature.
The option that says: Take a manual snapshot and restore it to a database in the staging environment is incorrect. Using Aurora Cloning is a faster and more cost-effective method than restoring from a snapshot.
The option that says: Replicate the production database to a staging database using the mysqldump
client utility is incorrect as this is a slow process and will impact the performance of the source database.
References:
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Clone.html
https://aws.amazon.com/blogs/aws/amazon-aurora-fast-database-cloning/