AWS Case Study: Edmodo
Edmodo is a social network that allows teachers to create and maintain classroom communities. Teachers can distribute quizzes and grades to individual students as well as communicate with groups of students. Since its creation in 2008, Edmodo has been widely adopted by the K-12 academic community.
Initially all of Edmodo’s databases were Amazon Elastic Compute Cloud (Amazon EC2) instances running MySQL databases. Due to rapid expansion, the operations team was forced to focus on the daily maintenance of its MySQL databases rather than other backend services to support new features and manage future growth.
Why Amazon Web Services
Edmodo decided to move to Amazon Relational Database Service (Amazon RDS) for three main reasons: productivity, high availability, and ease-of-use combined with low cost.
Increasing productivity of the team: Amazon RDS removes the complexity of deploying and managing databases by automating cumbersome tasks such as software installation and patching, monitoring and database backups.
In fall 2011, when schools were restarting their sessions, Edmodo was registering 250,000 new students per week. During this growth spurt, the company realized that its MySQL 5.1 deployment was reaching its connections limit and decided to upgrade to MySQL 5.5. They had less than 16 hours to complete this upgrade to minimize customer impact. Jack Murgia, Edmodo’s Senior Web Operations Engineer, says about this upgrade: “The astounding fact for me is that one operations guy (myself) and one database administrator were able to test the process for this migration with 100% certainty without ever touching our production environment until it was time to migrate. Without Amazon RDS, this migration would not have been possible in less than 16 hours”.
High availability: The Multi-Availability Zone (Multi-AZ) deployments for Amazon RDS provide data center replication for disaster recovery. Edmodo uses all of its production databases in the Multi-AZ deployment. “Multi-AZ—it just works”, says Jack. “I have managed a MySQL multi-master deployment in the past, and it was high maintenance. Now, I never even think about our high availability.”
Cost and ease of use: On-demand pricing and the simplified management console for Amazon RDS offers economic and technical flexibility. Edmodo’s Database Administrator, Diego Jiménez, says, “Amazon RDS drastically simplifies tasks which are rather cumbersome to manage on normal instances running MySQL. We are able to spin-up copies of our production databases using Read Replicas with just a few clicks when our marketing department needs to query near real-time production data. This would have taken hours to initiate and monitor in the past”.
Edmodo runs entirely on Amazon Web Services (AWS). The figure below provides a diagram of the architecture, which includes Amazon RDS, Amazon Route 53, Amazon S3, Amazon CloudWatch, and Amazon CloudFront.
Today, Edmodo’s databases support more than 500 connections per second during peak times and host over 200,000 website requests per minute. Anchored by Amazon RDS, Edmodo is soundly positioned to expand upon its current popularity.
Jack Murgia concludes, “Amazon RDS is a timesaver. You cannot overestimate the positive effect that simplifying processes and relieving time constraints has on the performance of your operations team. Amazon RDS freed up the time needed to deploy sophisticated usage monitoring and reporting tools we had been putting off for months, allowing us to grow our business seamlessly.”
To learn more about how AWS can help your database needs, visit our Relational Database Service details page: http://aws.amazon.com/rds/.