Case Study | Retail Application and Database Modernisation using
Amazon Aurora for MySQL

Comprehensive solutions for our
customers using Amazon Aurora

Published: March 15, 2024

About the Customer

The customer, a leading South African retailer, ranks among the top three in the country. They provide a diverse range of retail products, including groceries, clothing, and appliances, through an extensive network of over 2,000 stores across South Africa and other African countries. A key differentiator in their service offering is the same-day grocery delivery service, promising delivery within an hour of order placement. This case study focuses on the technological enhancements that support this critical service component.

Additionally, their business model is multi-tenanted. However, their infrastructure was designed for single tenancy. This created significant investment costs, in terms of time and hardware, for the addition of every new client. While they were committed to modernisation, Direct Transact maintained a mature legacy system and, therefore, their internal capacity was tuned to the management and maintenance of such systems, rather than to developing a modern cloud-based architecture.

Customer Challenge

The realm of same-day grocery delivery represents both a significant growth opportunity and a fiercely competitive battleground for South African retailers. For our customer, excellence in this service is paramount to enhancing and preserving their market position.

The stakes are high: any service downtime not only risks customer dissatisfaction but also immediate revenue loss, as customers readily switch to competitors’ apps at the slightest inconvenience.

The customer’s existing architecture and back-end infrastructure were increasingly strained under the weight of rising demand. The manual scaling process, necessitated by unexpected spikes in user demand, posed a severe risk of application performance degradation or outright outages, threatening the reliability and efficiency of the grocery delivery service.

Partner Solution

Our comprehensive solution to the customer’s scalability and operational challenges began with a critical analysis of the technical limitations inherent to AWS RDS for MySQL.

The necessity for manual updates to the production back-end code with each addition of a read-replica presented a significant scalability barrier and introduced high-risk during updates.

The pursuit of an automated scaling solution with minimal risk led us to dismiss the option of migrating to a non-MySQL engine due to the extensive backend changes required.

The decision to migrate to Amazon Aurora was driven by several of its advantages that directly addressed the shortcomings of AWS RDS for MySQL.

These advantages included MySQL compatibility, the provision of a single reader endpoint for simplified scalability, faster auto-scaling response times, and an overall more efficient database engine. The transition to Aurora promised a relatively low-risk migration path with significant operational improvements.

The migration process was meticulously planned and executed to ensure minimal disruption and a seamless transition. We initiated the migration with the following steps:

1. Environment Parallel Testing: We began by creating parallel Aurora read-replicas in the QA environment and redirecting QA backend traffic to these replicas. This phase allowed us to validate our assumptions regarding compatibility and address any issues without impacting the production environment.
2. Gradual Production Traffic Shift: Following successful QA testing, Aurora read-replicas were introduced alongside existing AWS RDS for MySQL replicas in the production environment. We initially redirected a portion of production read traffic to Aurora, closely monitoring performance and functionality.

3. Full Production Transition: With Aurora’s performance meeting our expectations, we fully transitioned all read traffic to the Aurora reader endpoint. This step marked the completion of the migration, with AWS RDS for MySQL replicas kept in reserve as a rollback contingency.

4. Post-Migration Optimization: After a stable period of exclusively using Aurora for read operations, we decommissioned the majority of the AWS RDS for MySQL replicas, finalizing the migration.

Throughout the migration, our support services played a critical role in ensuring a smooth transition and ongoing optimization. This included:

• Pre-Migration Consultation: Offering strategic advice to align the migration plan with the customer’s operational objectives and risk tolerance.

• Continuous Monitoring and Support: Providing round-the-clock monitoring and support during the initial redirection of production traffic to Aurora and the subsequent full transition period to promptly address any issues.

• Post-Migration Optimization: Conducting post-migration reviews to fine-tune performance and cost-efficiency, ensuring the customer fully benefits from Aurora’s capabilities.

This carefully orchestrated migration not only mitigated the scalability and operational challenges faced by the customer but also positioned them to leverage automated scaling features, enhancing their ability to manage future demand fluctuations without manual intervention.

Results and Benefits

The migration to Amazon Aurora brought about transformative benefits for the customer, marking a significant milestone in their digital infrastructure evolution. The most notable outcomes include:

  1. Automated Scaling: The application’s backend can now dynamically auto-scale without human intervention, adapting in real-time to varying load demands. This automation not only reduces the risk of performance degradation during unexpected demand spikes but also enhances the overall reliability of the same-day grocery delivery service.
  2. Efficiency in Scaling: Previously, scaling the database to meet demand fluctuations was a manual and time-consuming process, taking up to two days to complete. With the migration to Amazon Aurora, this process has been drastically reduced to less than 10 minutes, demonstrating a remarkable improvement in operational efficiency.
  3. Cost Optimization: The migration has led to a 60% reduction in the provisioned database capacity during off-peak hours. This significant decrease in resource allocation aligns with the fluctuating demands of the service, resulting in considerable cost savings without compromising on performance or availability.

These results underscore the critical importance of selecting the right technological solutions to address specific business challenges. The migration not only solved the immediate scalability and performance issues but also positioned the retailer to capitalize on future growth opportunities with a more resilient, efficient, and cost-effective database infrastructure.

About Tangent Solutions

Tangent Solutions is an Advanced AWS Services Partner specializing in automation and application modernisation. We leverage our deep expertise in AWS services to deliver scalable, secure, and innovative solutions that propel businesses forward. Our team consists of certified AWS Professional Architects and Professional DevOps Engineers, ensuring best practices in cloud architecture, migration, and optimization.

We are recognized for our ability to solve complex challenges, ranging from business automation using Generative AI to infrastructure and application modernisation. Our commitment to excellence and customer success has established us as a trusted partner among leading retailers, including our recent collaboration with one of South Africa’s largest retailers to enhance their same-day grocery delivery service.

Want to learn more
about Tangent?

Take a look at all our Case Studies, Articles, On The Record, and In The News

Contact Us

Develop a modern cloud infrastructure with Tangent Solutions.