Reason for Reddit migrating to Aurora
With more than 30% increase in the user base every year Reddit faced challenges in providing quality service delivery to it's users, in this scenario they had to hire more engineers or invest in more resources but they had another option of switching to a fully managed relational database service.
About Amazon Aurora:
Aurora combines the performance and availability of traditional enterprise databases with the simplicity and cost-effectiveness of open-source databases. For Reddit, the migration resulted in higher database reliability, timelier backup restoration and point-in-time recovery, and fast automated failovers, with failovers taking around 30 seconds.
Here's what the Reddit Principal Engineer, Jason Harvey had to say:
"Using Aurora, we could build a longer-term strategy for how we were dealing with data and do more strategic thinking for long-term projects."
Reddit has been operating much of it's infrastructure on AWS since 2009. Using PostgresSQL on AWS EC2 and using AWS S3 to support data that powered Reddit.com and their native mobile apps.
As their user-base kept on increasing drastically this architecture was no more capable and sufficient as per their agile methodlogies and they decided to migrate to Aurora, one of the AWS Serverless services that entirely took the load off managing the EC2 instances.
The Migration Process
Reddit began their migration process in Januray 2020. Migrating 24 PostgreSQL databases on EC2 across Aurora was a intimadating task, but native logical replication in Aurora helped to replicate the databases without any transformation.
Once the data was replicated the Reddit team tested Aurora in their production environment for functionality and high performance. Then they performed a write cutover, but the cutover didn't produce any downtime as EC2 and Aurora have the same API.
Aurora also enabled Reddit's engineers faster point in time recovery and backup restoration along with allowance for using data clones to more easily make data available for other teams for analytics and experimentation requirements.
Major Benefits of the Migration to Aurora
- Higher Database Reliability
- Faster Backup Restoration
- Point in Time Recovery
- Fast Automated Failovers
- Improved Productivity for Engineers