Azure to AWS SaaS Platform Migration

A fast-growing EdTech SaaS company

Client

The client is a fast-growing EdTech SaaS company serving K–12 school districts across the United States. The company operates a cloud-hosted multi-tiered system of support (MTSS) for whole-child development that helps school leaders proactively identify and address student risks in mental health, behaviour, and academic performance. As an early-stage company experiencing rapid district adoption and preparing for expansion into new markets, the client required a cloud infrastructure strategy capable of supporting growth while maintaining strict data security and high availability for mission-critical educational services.

Challenge

The client's SaaS platform was fully hosted on Microsoft Azure, running a complex environment that included 17 virtual machines (5 Windows, 12 Unix/Linux), 12 Azure PostgreSQL Flexible Servers, 17 Azure Disks (704 GB total), 8 Azure Storage Accounts, and multiple Azure App Services and Function Apps. Several key integrations were in place, including KeyCloak for authentication, GrowthBook for feature flagging, SendGrid for email, SFTP for file transfers, and ETL/Talend pipelines for data processing.

The primary business driver for migration was the opportunity to leverage AWS's education equity credits, which presented a significant cost optimization opportunity unavailable in the existing Azure environment. Remaining on Azure meant forgoing these savings at a critical period of growth. Additionally, the company needed to onboard a new school district in California, placing added urgency on having a scalable, cost-effective, and well-architected cloud environment to support that expansion.

The migration also had to be executed without disrupting the academic calendar. Any downtime or data integrity issues during the migration would directly impact school districts relying on the platform to monitor and support at-risk students. The migration needed to be carefully planned for a low-usage period between academic years, with a full lift-and-shift approach across infrastructure, databases, applications, CI/CDs, and third-party integrations— all within a 9-week timeline.

Key Results

  • Achieved 40% reduction in cloud infrastructure operating costs by migrating to AWS and leveraging AWS education equity credits, generating significant recurring annual savings.
  • Successfully migrated 17 virtual machines, 12 PostgreSQL databases, 704 GB of disk storage, and 8 storage accounts to AWS within a 9-week timeline with zero data loss.
  • Completed production cutover during a planned low-usage period between academic years, resulting in zero disruption to school district operations and continued support for at-risk student monitoring.
  • Established a fully automated CI/CD pipeline using AWS-native services, reducing deployment cycle time by 20%.
  • Enabled rapid onboarding of a new California school district post-migration by provisioning a scalable, multi-account AWS environment designed for growth.

Solution

Deployed an agile, iterative methodology across three structured phases over 9 weeks, providing full-stack cloud engineering, architecture, DevOps, and application migration services.

  • Discovery,  Assessment & Architecture Design:Conducted a detailed analysis of the existing Azure environment and designed a target AWS architecture that mirrored existing functionality while optimising for cost and scalability. Azure services were systematically mapped to AWS equivalents — Azure VMs to EC2, Azure PostgreSQL Flexible Servers to Amazon RDS for PostgreSQL, and Azure App Services/Function Apps to AWS Elastic Beanstalk, AWS Lambda, or Amazon ECS based on application requirements.
  • AWS Organisation & Foundational Infrastructure:Established AWS Control Tower with a multi-account Landing Zone structure, creating a management account and child Organizational Units (OUs) for Development, QA, Staging, UAT, DEMO and Production environments. Foundational infrastructure was provisioned via Terraform, including VPCs, subnets, network ACLs, security groups, routing tables, IAM roles, and CloudWatch monitoring. Secure access patterns (SSO, MFA, IAM federation) were established for developers and administrators.
  • Virtual Machine & Database Migration:Migrated all 17 virtual machines (5 Windows, 12 Unix/Linux) to appropriately sized Amazon EC2 instances with security groups and network configurations. Migrated 12 Azure PostgreSQL Flexible Servers to Amazon RDS for PostgreSQL, ensuring data integrity and configuring automated backups, replication, and security controls throughout.
  • Storage Migration:Transferred 704 GB of data from 17 Azure Disks to Amazon EBS volumes and Amazon S3, and migrated 8 Azure Storage Accounts (17.37 GB used) to Amazon S3 buckets.
  • Application Services Migration:Re-platformed Azure App Services and Function Apps to AWS Elastic Beanstalk, AWS Lambda, and Amazon ECS as appropriate. Deployed Node.js and React-based application workloads to the new AWS environment. Migrated SendGrid email functionality, SFTP file transfer capabilities, and ETL/Talend data processing pipelines to leverage AWS-native services, including S3.
  • Authentication, Feature Flagging & CI/CD:Reconfigured and integrated KeyCloak for user authentication and confirmed GrowthBook feature flagging functionality post-migration. Designed and implemented a CI/CD pipeline using AWS CodeCommit, CodeBuild, CodeDeploy, and CodePipeline, integrating existing Node.js and React build processes for automated application deployments.
  • Testing, Cutover & Handover:Executed comprehensive end-to-end functional, performance, and load testing across all migrated components, with UAT support for the client's development team. Developed and executed a detailed cutover plan timed to a low-usage academic period, followed by post-migration validation, technical documentation, knowledge transfer, and project closeout.
Technologies Used
  • Amazon Web Services (AWS): EC2, RDS for PostgreSQL, S3, EBS, ECS, AWS Control Tower, VPC, IAM, CloudWatch
  • Terraform – Infrastructure-as-Code for provisioning foundational AWS resources
  • AWS CI/CD Suite: CodeCommit, CodeBuild, CodeDeploy, CodePipeline
  • KeyCloak – Identity and access management / user authentication
  • GrowthBook – Feature flagging and experimentation platform
  • Azure PostgreSQL Flexible Server / Amazon RDS for PostgreSQL – Managed relational database services
  • ETL/Talend – Data processing pipeline tooling
  • SendGrid – Transactional email service integration
Summary

An EdTech SaaS company serving K–12 school districts migrated its entire Azure-hosted MTSS student-risk platform to AWS to capture education equity credits and achieve significant operational cost reductions, completing a full lift-and-shift of 17 virtual machines, 12 PostgreSQL databases, and multiple application services within 9 weeks with zero disruption to academic operations. Using Terraform for infrastructure-as-code, AWS Control Tower for multi-account governance, and a fully automated CI/CD pipeline built on AWS-native services, the solution established a scalable, secure, and cost-optimised foundation to support the client's rapid school district expansion.

#arocom #artificialintelligence #machinelearning #datascience

Have Any Questions?