AWS Database Blog

Eduphoria Uses Amazon Aurora to Give Educators Superpowers

Eduphoria is making great use of Amazon Aurora and other AWS database services. In this guest post, you can learn about how they use Amazon Aurora to scale their read workload while saving costs. This post was written by Aaron Dulaney, director of infrastructure operations at Eduphoria.

At Eduphoria, we provide K–12 educators the tools that they need to become superheroes within the classroom. Our integrated apps assist in every aspect of the school day, from lesson planning to monitoring student progress, to streamlining administrative duties, to providing a collaborative platform for education professionals. In short, we’ve got teachers’ backs—and more importantly, Amazon Aurora has ours!

When Eduphoria first started, we had 30 on-premises servers, each running its own instance of Microsoft Internet Information Services (IIS) and MySQL. As we grew, we needed to step back and rethink our infrastructure: first, to remove single points of failure; and second, to get better monitoring and performance insights on that infrastructure.

The decision to choose AWS was easy, because AWS met both those needs. Databases, applications, session states, and storage services are all fault-tolerant with automatic failover or scaling. The insight we have into our infrastructure is far better than we could ever provide for on-premises installs.

In addition, we chose Amazon EC2 for our front-end web server architecture. We chose it because it can easily be scaled and spread across multiple data centers with very minimal configuration. It is extremely flexible, and we love that we only pay for the capacity we need, when needed.

For our database layer, we first chose Amazon RDS for MySQL in a high availability (Multi-AZ) configuration. Our experience with RDS MySQL was a positive one. It offers a number of useful management features to help offload routine database administration tasks. Having tasted the benefits of a managed database service, we checked if RDS offered an option where we could easily add replicas beyond two AZs, and where the replicas serve a read workload in addition to acting as failover target.

Aurora has been the solution. It promised MySQL compatibility, better performance, and access to the read servers. We have been able to take advantage of its scalability, high availability, fast failover, and high throughput with separate read servers to increase performance by 25 percent. Adding additional read capacity is fast and easy, and we were pleasantly surprised that we no longer have to allocate storage on the backend! The best part: It’s more cost-effective than our previous setup. Since moving to AWS, we’ve cut the cost of hosting a customer in half.

In addition to Aurora, RDS, and EC2, we use a number of other AWS services to fulfil our infrastructure needs. These include AWS Lambda, Amazon S3, Amazon ElastiCache, Amazon VPC, Amazon CloudFront, Amazon Route 53, AWS CodePipeline, Amazon CloudWatch, AWS CloudFormation, AWS Identity and Access Management (IAM), and Amazon SNS.

As we grow our application portfolio and serve more educators, we are excited about our partnership with AWS and Amazon Aurora. Together, we are doing great things.