We are a full SaaS provider with customers such as P&G, Coca-Cola, Amazon and more depending on us for essential services. That means we are obligated to maintain the highest availability environments, ensuring that any technical failures do not have an impact on our customers.
Where Did We Start?
Our architecture was designed to support multiple slave instances with different delays, replicating production as part of our services. Over time, we ended up supporting large clusters with multiple instances, some in the EMEA region and some in the United States.
The cost of this international framework was high, and growing, primarily due to the following factors:
- Maintenance of the operating system and database security patches.
- Expensive backups, servers, etc.
- Manual work-hours needed to support such a complicated infrastructure.
In addition, the creation of new slaves was a time-consuming task. It could take up to 48 hours and required extensive manual work and supervision. Yet another expense.
We began looking for a better way. The goal was to reduce costs while maintaining the same high level of support for our customers.
What Was Our Plan?
As an AWS shop, the first place it made sense to look for a solution was in the AWS managed services portfolio.
And there it was. Exactly what was needed.
A fully managed relational database service (RDS).
With our AWS support team, we planned and executed a POC intended to make sure there would be zero impact on our apps, our customers, our capabilities, and the like. As part of the POC, we migrated a single database used as part of our analysis processes to RDS.
The new database was tested by our QA teams, as it was obviously critical to ensure that there was no impact on our results. They ran an analysis using the database on our original servers and then again after migrating the database to RDS. The results were 100% the same.
The next step was to perform a cutover process on our production database and migrate it to RDS. From that point on, our customers were working with RDS and no negative impact was identified. In fact, the migration was fully seamless for our customers.
What Did We Gain?
The migration to the fully managed AWS relational database service was a success. It met all of our initial goals – and then some.
- Upgrading – Since the RDS is an AWS managed service, we don’t need to handle maintenance and upgrades of the operating system or database.
- Cost-effectiveness – The new architecture is extremely cost-efficient, freeing up many resources and funds. We estimate savings of more than 50% (!) on database-related expenses.
- Security – Backing up the database is not a concern anymore, nor is applying security patches, as these are built-in functionalities of the RDS.
- Modernization – The new service comes with great built-in tools, such as CloudWatch and Performance Insights. With the quick integration of RDS with Grafana, our teams are able to create customized graphs and dashboards for use across the business.
Having seen the unmistakable benefits, scale and stability of the RDS, we are looking ahead to the next steps.
Our next move will be to migrate additional workloads to the RDS, including expanding our use of the AWS database services to further support our analysis processes. As more data is migrated, the less we spend time on maintaining this service and are able to provide a higher SLA to our customers.
For the benefit of both our customers and our company, we are committed to leveraging the most modern, scalable and robust database technology in support of optimized analysis and service.