PowerSchool Scales Remote Learning Solution by 650% on Amazon Aurora
Already familiar with the services offered by Amazon Web Services (AWS), the engineering team at PowerSchool had eyes on Amazon Aurora, a MySQL- and PostgreSQL-compatible relational database built for the cloud. As a managed service, Aurora would help free engineers from managing databases so that they could focus on higher-value projects, long-term innovation, and fast and efficient scaling. And the migration to Aurora would prove invaluable to the Schoology system when COVID-19 pandemic restrictions closed schools and the system had to scale up by 7 times overnight. “In hindsight, had we not made the migration to Aurora, we would not have been able to handle the scale we needed when the COVID-19 pandemic hit,” recounts Brian Blount, chief architect of Schoology at PowerSchool.
Senior Director of Product Engineering, PowerSchool
Charting a Course around Cumbersome Database Management and Scaling Limits
Before migrating Schoology’s workloads to Aurora, the engineering team at PowerSchool supported the product with an open-source MySQL relational database management system and was powering it using Amazon Elastic Compute Cloud (Amazon EC2) instances. Amazon EC2 is a web service that provides secure, resizable compute capacity in the cloud. Ultimately, Schoology’s database, especially its replication chain, was proving to be too ungainly to manage: “We have a read-heavy application. And due to throughput problems with replication, we had to build out an entire intermediary replication chain to avoid overwhelming the rest of the cluster and to stay in sync and keep replication up to speed,” explains Marx. But the engineers knew that as Schoology grew, their method for managing its replication chain wasn’t going to be sustainable. Because they were already using the largest writer they could, running Amazon EC2 r4.16xlarge instances, the bottleneck that the replication chain was creating would lead to ever-increasing delays as the scale of Schoology’s usage increased.
Schoology had considered the migration to Aurora before. Marx was a proponent of it, having previously experienced a smooth Aurora migration. The AWS service would enable the engineering team to shift replication traffic from the overburdened data writer to readers to improve durability and avoid scaling limits. And as a managed service, it would take operational burdens off the engineering team’s shoulders. But the team relied on global transaction identifier replication, a feature that Aurora didn’t have at the time, so Aurora wasn’t initially a viable option. “But once we got the support for global transaction identifier replication on Aurora, we were ready to migrate,” says Blount.
Even though Schoology was ready to migrate its workloads, there was no initial pressure to do so. The team knew it could keep scaling as usual in the meantime, at the expense of adding additional instances. “We knew that long-term scalability wasn’t there with the approach we had, but we thought we had a couple of years before it would become a problem,” says Blount.
Improving Performance and Scaling Up during School Closures
The engineering team executed the migration in 2019 from January to September. “Once we saw that everything was looking good—once we knew that the team had the horsepower it needed to manage this cluster—we felt very confident about being on Aurora,” says Marx. The engineering team quickly noticed improvements in flexibility and performance. On Aurora, PowerSchool’s Schoology team can now support the same load with significantly less infrastructure. “We went from 49 total nodes, including the replication chain, to 8 or 9. Just the performance alone enabled us to significantly reduce the footprint of that cluster,” Blount says. Aurora reduces replication delay, which has enabled the engineering team to remove the intermediary replication chain, reducing traffic on the primary writer.
The most impactful benefit that Schoology received from its migration to Aurora is radically improved scalability. Elasticity is crucial for companies in the education technology space. Usage fluctuates dramatically throughout the year, week, and day, in accordance with school schedules. Failure to efficiently handle those swings increases resource costs. “The difference between our peak load during the day to the trough at night is about 90 percent,” says Marx. “Building automatic scaling is valuable because it enables us to respond to peaks and lulls accordingly, which means we don’t have to overpay for resources when we don’t need them. The fast scaling of Aurora has also enabled us to increase capacity more quickly. What once took more than 18 hours now takes a matter of minutes.” That capability was put to the test when the COVID-19 pandemic forced schools to close. “The first indication that we were going to see that level of growth was late Sunday night before March 30. Our usage at 7:00 p.m. was close to our normal peak for the middle of a school day. I thought, ‘Wow, tomorrow is going to be rough,’” Blount says. Due to the widespread transition to remote learning, usage of Schoology skyrocketed, growing by 150 percent virtually overnight. Previously, such growth might have taken 3–5 years.
Pointing the Way Forward for Online Learning
On Amazon Aurora, PowerSchool’s Schoology team reduced its infrastructure and cut operational burdens for engineers. Most notably, the team scaled up the product 650 percent during the COVID-19 pandemic, and it has maintained availability throughout. “Everything is running smoothly. If we weren’t on Aurora, I can’t even speculate what it would look like,” says Marx. “We are in this for the education mission. And it’s been so rewarding to see how much of an impact we’ve had during school closures by being able to scale on Aurora.”
Benefits of AWS
- Reduced replication delay
- Scaled up 650% during COVID-19 pandemic school closures
- Reduced operational burden
- Improved database performance
- Reduced database infrastructure footprint
- Improved learning management system availability
AWS Services Used
Amazon Aurora is a MySQL and PostgreSQL-compatible relational database built for the cloud, that combines the performance and availability of traditional enterprise databases with the simplicity and cost-effectiveness of open source databases.
Amazon Elastic Cloud Compute (EC2)
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides secure, resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers.
Companies of all sizes across all industries are transforming their businesses every day using AWS. Contact our experts and start your own AWS Cloud journey today.