We use Aurora as the de-facto DBaaS product for hosting our Relational Databases, primarily
MySQL. We have over 100
MySQL clusters (Master, Slave) across the microservices and the 5 global regions where Capillary's SaaS products are hosted. Prior to Aurora, all our databases were self-managed and hosted on EC2 instances with EBS volumes, having provisioned IOPS, for storage. As our system scaled, the management of the databases became a full-time job. Also, configuration management, upgrades, and regular maintenance started eating into the team's bandwidth. Furthermore, the chances of human errors and the consequent outages increased with the increase in the number of
MySQL set-ups. To address these concerns, in early 2020, we migrated all our
MySQL clusters from EC2 to Aurora. The Aurora service hosts over 400 TB of data, and the Aurora instances vary from 4 cores, 32GB RAM to 32 cores, 256 GB RAM configs. The storage layer varies anywhere from 200GB to 30 TB. In a nutshell, all relational, OLTP use-cases for the 700M odd end-consumers touched by Capillary's platform and served out of Aurora.