Until recently, the CXA team was using a traditional MySQL Relational Database Management System (RDBMS) to store and query the data. But the size of their data set was increasing by 12-15 GB each day, which required the team to regularly upgrade to beefier, more expensive hardware. Even among the team’s MySQL-savvy staff, this required a significant time investment to provision the hardware and set up and configure the software. Not to mention the ongoing admin hours required to run regular backups and keep the software up-to-date with the latest patches.
The CXA team needed a more scalable solution and turned to a new service from Amazon Web Services: Amazon Relational Database Service (Amazon RDS). The CXA team was able to quickly migrate to the new database service because Amazon RDS offered the same capabilities of a MySQL database. “It was easy to get started. We were able to use the same code, applications, and tools we were using on our physical servers, without modification,” recalls Tomi Yiu, Software Engineer, Amazon.com. “With RDS, it’s so easy to add new instances, so we changed our system to do application-level database sharding. Our system is now using the RDS API to create new instances on-demand.”
Yiu continues, “We immediately noticed the DB admin time savings and ease of use over our self-hosted MySQL instances.” New Amazon RDS DB Instances can be set up in minutes, and the service automatically backs-up the database and maintains transaction logs to enable point in time recovery. Alternately, Amazon RDS lets users initiate their own database snapshots, which can later be used to create a new DB Instance from a known state. “RDS works exactly as we expected. Using command line tools, we can snapshot our DBs, shut them down, and start-up new ones on a daily basis. Plus, we can restore the DB to any given point in time easily,” says Yiu.
With the time and resources saved by using Amazon RDS, the Amazon CXA team is able to better focus on ensuring an exceptional customer experience on Amazon.com.