Database Migration to AWS Aurora for EdTech SaaS
Unveil how we led the database migration to Amazon Aurora, resulting in a reliable, scalable, and resource-efficient system.
Our Customer
LearnCube is a purpose-built SaaS for live online education. The platform provides multiple e-learning solutions for teaching, tutoring & training of all kinds. The primary platform features include virtual classrooms, class scheduling, inbuilt payment gateways, eCourses, online tests and a management system that streamlines administration.
The Obstacles They Faced
The client’s previous database accounted for two of their major requests, namely the software’s scalability and cost-efficiency. On the one hand, during the peak hours the software database was unable to process increasing numbers of queries and, on the other, the old database demanded financial influxes which impeded effective SaaS cost distribution. The client opted for ensuring stable performance of the system through running a powerful database instance in order to process the workload within the peak hours. The rest of the time, those instances weren’t used to their full potential while they were fully financed.
How We Helped
Romexsoft experts have led LearnCube in successfully completing their database migration to the AWS Aurora RDS, which features read Replicas autoscaling; this resulted in a progressively reliable, scalable and resource-efficient solution.
Systems are supposed to be capable of handling the load during peak hours from the operational point of view while being cost-effective from the business perspective.
The client’s app data layer was previously designed on the basis of AWS MySQL RDS, which essentially constitutes a cluster of primary write replicas and a few read replicas. The solution’s upgrading alongside the increasing number of users highlighted that the database capacity was inadequate to process read requests in peak time whereas they sufficed to operate the load at other times.
It all added up to the client’s financing the round-the-clock maintenance of a large robust database that was loaded with queries primarily within peak hours. Plainly speaking, the client was overspending for extra 22 hours of stable database operation while utilising only two hours of operating time.
With the previous positive experience of cooperation, that is Decoupling Application’s Architecture, and Building Real-Time Messaging System, LearnCube requested Romexsoft to discover and implement a solution that would both consume the surplus traffic in peak hours and make the most of the allocated resources.
What our experts suggested was migrating to AWS Aurora while also configuring autoscaling policies for read replicas based on average CPU utilization metrics. Since Amazon is capable of scaling instances (e.g. EC2 Instances), AWS Aurora RDS also provides the opportunity to scale the read replicas of databases.
LearnCube’s migration was done in three steps with a minimum maintenance period:
- Creating Aurora read replica in the existing MySQL RDS cluster;
- Promoting the Aurora read replica to a stand-alone DB cluster;
- Updating Route53 internal DNS records to point to a new DB cluster.