Which solution will meet these requirements MOST cost-effectively?
Implement an Amazon ElastiCache for Redis cluster between the application and the DB cluster.
Add an additional read replica to the DB cluster.
Configure Aurora Auto Scaling for the Aurora read replicas.
Modify the DB cluster to have multiple writer instances.
Explanations:
Implementing an Amazon ElastiCache for Redis cluster would cache the repeated read statements related to delivery details, significantly reducing the load on the Aurora DB cluster. This solution effectively addresses the performance issue and is generally more cost-effective than scaling database instances or adding replicas, as it offloads repetitive queries to a caching layer.
Adding an additional read replica would provide temporary relief for increased read load but does not address the underlying issue of repeated read statements. As the application continues to grow, this solution may lead to diminishing returns on performance and may incur additional costs without effectively solving the problem.
Configuring Aurora Auto Scaling for read replicas could help manage fluctuations in read traffic by adding or removing replicas as needed. However, this solution still relies on the Aurora DB cluster and would not reduce the fundamental issue of excessive read operations. It may also lead to higher costs without fundamentally solving the problem of repeated reads.
Modifying the DB cluster to have multiple writer instances would allow for increased write capacity but would not alleviate the problem of repeated read operations. This approach would likely increase costs significantly without addressing the immediate need to reduce the read load on the DB cluster.