2025 GenAI Whitepaper

Reducing Complexity and Accelerating Innovation: Lessons from a Microsoft-to-AWS Migration

Migrations

Explore how we helped an educational technology company migrate from Microsoft Azure to AWS, consolidating their applications, databases, search functionality, and virtual machines into a unified cloud infrastructure.

Overview

An educational technology company helps students navigate their academic and career paths by connecting them with the resources, knowledge, and networks they need to succeed beyond the classroom. The platform also provides teachers and administrators with comprehensive reporting and insights on college readiness, career preparation, and work-based learning outcomes.

Following a merger of two companies with separate cloud infrastructures—one on Microsoft Azure and one on Amazon Web Services (AWS)—the customer sought to consolidate their technology footprint onto a single cloud provider. This strategic decision aimed to reduce operational complexity, leverage economies of scale, and create a more unified technology foundation for their educational services.

They partnered with Caylent, an AWS Premier Tier Services Partner, to facilitate this migration from Azure to AWS, encompassing their applications, databases, search functionality, and virtual machines.

Challenge

The customer faced several significant challenges in their cloud migration journey. The company operated across two Azure subscriptions (QA and Production) with numerous services including Azure SQL databases, Azure Functions, Web Apps, Storage Accounts, and specialized services like Azure Search. This distributed infrastructure created operational complexity and increased management overhead.

The company's applications were built on older .NET frameworks (3.0 and 6.0) that needed to be migrated while planning for future modernization to .NET 8.0 on ECS Fargate. This technical debt presented compatibility concerns during the migration process.

Data migration posed another substantial challenge, as the project involved transferring 32 TB of data from Azure Blob Storage to Amazon S3, along with migrating SQL databases and converting Azure Search indexes to Amazon OpenSearch Service. The size and complexity of these data assets required careful planning and execution.

Additionally, the migration necessitated rebuilding CI/CD pipelines and development workflows to support the new AWS infrastructure, requiring significant changes to the team's existing DevOps practices.

Solution

The solution began with establishing a Well-Architected AWS environment aligned with best practices. This included configuring proper account structures, implementing security controls, and designing appropriate networking components.

For identity management, the team implemented AWS IAM Identity Center for centralized access control, ensuring secure and appropriate resource access.

The application migration process involved carefully moving .NET Core applications while maintaining compatibility with versions 3.0 and 6.0. The team transformed Azure Durable Functions into AWS Step Functions and Lambda solutions, providing equivalent functionality in the AWS environment. Background Windows processing jobs were converted to AWS Lambda functions, and Azure Application Gateway functionality was replaced with appropriate AWS services.

For data migration, Caylent performed a homogeneous migration of Azure SQL databases to Amazon RDS for SQL Server, preserving compatibility while improving manageability. The existing data warehouse was migrated to Amazon Redshift to enhance analytics capabilities. The team also carefully transferred 32 TB of blob storage to Amazon S3 and converted Azure Search indexes to Amazon OpenSearch Service.

The DevOps transformation included enhancing GitHub workflows to support AWS infrastructure deployments and implementing Infrastructure as Code (IaC) using Terraform. Automated deployment pipelines were created with AWS CodePipeline, and comprehensive monitoring and observability were established using AWS CloudWatch.

To meet disaster recovery requirements, Caylent designed and implemented a single-region, multi-AZ disaster recovery strategy. This included configuring database snapshots and point-in-time recovery capabilities to meet the 15-minute RPO requirement, while ensuring systems could be restored within the 4-hour RTO window.

Results

The migration to AWS delivered significant business and technical outcomes that positioned the company for future growth and innovation. By consolidating from two cloud platforms to a single AWS environment, they significantly reduced operational complexity and eliminated the need for maintaining cross-cloud expertise on their technical team.

The new AWS architecture provided improved scalability to handle growing educational data needs and user traffic fluctuations throughout the academic year. By leveraging AWS managed services where possible, the customer gained the ability to scale resources up and down as needed without managing underlying infrastructure.

Implementation of multi-AZ deployments and automated disaster recovery procedures significantly improved system resilience and availability. The solution was designed to maintain strict service level objectives, including the 15-minute RPO and 4-hour RTO requirements essential for their educational services.

Perhaps most importantly, the migration established a foundation for future modernization efforts. While the initial migration maintained compatibility with existing .NET versions, it created a clear path for the planned upgrade to .NET 8.0 and adoption of containerized workloads on ECS Fargate in subsequent phases.

The new DevOps practices and deployment pipelines accelerated development cycles and improved code quality through automation. By implementing infrastructure as code and modern CI/CD practices, the development team gained more consistent and reliable deployment processes.

By successfully consolidating their cloud infrastructure on AWS, the customer created a more efficient, scalable, and resilient platform to support their mission of helping students prepare for their futures beyond the classroom.

Migrations

Learn more about the services mentioned

Caylent Services

Modernizing Microsoft Workloads on AWS

Realize cost-savings and gain efficiencies by optimizing the performance, security, and scalability of your Microsoft workloads on AWS.

Caylent Services

AWS Foundations & Migrations

From rehosting to replatforming to rearchitecting, Caylent will help you leverage AWS to its fullest potential to meet your business objectives.

Accelerate your cloud native journey

Leveraging our deep experience and patterns

Get in touch

Related Blog Posts

Unlocking Business Agility: Successfully Migrating Microsoft Workloads from Azure to AWS

Learn how we helped our customer consolidate their IT infrastructure by migrating 25 Virtual Machines from Microsoft Azure to AWS.

Migrations

Getting Started with AWS Cloud Migration

Considering a move to the cloud? Explore the essentials of cloud migration and gain insights to ensure a smooth and cost-effective transition to the cloud.

Migrations

How To Use ParallelCluster for HPC on AWS: A Case Study

Explore how we helped our customer in the financial sector migrate from High-Performance Computing (HPC) workloads on an on-premise Slurm cluster to AWS ParallelCluster, detailing the process, challenges, and benefits.

Migrations
AWS Foundations