Which solution will improve the performance of the application when it is moved to AWS?
Import the data into an Amazon DynamoDB table with provisioned capacity. Refactor the application to use DynamoDB for reports.
Create the database on a compute optimized Amazon EC2 instance. Ensure compute resources exceed the on-premises database.
Create an Amazon Aurora MySQL Multi-AZ DB cluster with multiple read replicas. Configure the application to use the reader endpoint for reports.
Create an Amazon Aurora MySQL Multi-AZ DB cluster. Configure the application to use the backup instance of the cluster as an endpoint for the reports.
Explanations:
While DynamoDB can handle high throughput, refactoring the application to use it for reports would require significant changes to the architecture. This doesn’t directly address the performance issues related to MySQL operations.
Using a compute optimized EC2 instance may improve performance, but it doesn’t address the issues caused by concurrent reporting loads, which could still lead to contention on the database.
Amazon Aurora with Multi-AZ and read replicas can significantly enhance read performance by offloading reporting queries to read replicas, allowing the primary instance to focus on write operations, thus improving overall application performance.
Using a backup instance for reports does not leverage the benefits of read replicas and can lead to performance bottlenecks, as backup instances are not intended for high availability or performance during peak loads.