Back
Database Management

Reliable database management for modern, high-performance systems.

Back
Data Modernisation

Reliable database management for modern, high-performance systems.

Back
Data Engineering

Reliable database management for modern, high-performance systems.

Back
Analytics & Intelligence

Reliable database management for modern, high-performance systems.

Back
Data Strategy Consulting

Reliable database management for modern, high-performance systems.

How Geopits migrated an HRMS platform's 1 TB MySQL database from AWS RDS to Azure PaaS with 20 minutes of downtime

1 TB

Production MySQL Database Migrated

20+ Hrs to 20 Min

Downtime Reduced at Cutover

12

Step Replication and Cutover Process Executed

Same Day

Client Live on Azure PaaS
Company Info
About
A live, data-in replication migration of a 1 TB production database, executed through a 12-step read-replica-to-cutover process, reducing an estimated 18 to 20+ hours of downtime down to roughly 20 minutes.
Industry
SaaS
Tech Used
AWS RDS MySQL, Azure Database for MySQL (PaaS), data-in replication, EC2

About

The client is an HRMS platform that helps organizations manage and retain talent, providing end to end support across employee onboarding, payroll, performance reviews, and employee benefits. The client was running its production database on AWS RDS MySQL, with data volume around 1 TB, and wanted to move to Azure on a serverless PaaS architecture based on performance benchmarking.

Business Challenges

A 1 TB production database, a hard limit on acceptable downtime, and no built-in migration path stood between the client and a serverless Azure architecture.

Large production database

The client's AWS RDS MySQL database held around 1 TB of data supporting live HR workflows for organizations across the globe.

No supported online migration path

Azure Database Migration Service does not support online migration from AWS RDS MySQL, ruling out the standard built-in tooling.

Downtime tolerance far below what offline migration required

An offline migration would have required roughly 18 to 20+ hours of downtime, which the client could not accept for a live HR platform.

Zero tolerance for end-user disruption

The migration needed to remain as seamless as possible for end users throughout the cutover

Project Objectives

Geopits was asked to migrate the client's production MySQL database from AWS RDS to Azure Database for MySQL on a serverless PaaS architecture, with minimal downtime and no disruption to live HR operations.

Key Goals:

  • Migrate approximately 1 TB of production data from AWS RDS to Azure PaaS
  • Keep cutover downtime to minutes, not hours
  • Validate data integrity before and after cutover

Solution Provided by Geopits

Geopits ran a proof of concept before executing the migration on production, using a data-in replication approach to keep source and destination continuously synchronized ahead of a single, short cutover window.

Proof of concept and replication design

Geopits validated a data-in replication approach, synchronizing data from the AWS RDS MySQL server into Azure Database for MySQL as an external source, before running the process on the production environment.

Read replica and staged backup

A read replica was created in AWS, replication was stopped once fully in sync at a known binary log position, and a full backup was taken from the read replica using an EC2 Windows server before being moved to Azure and restored.

Source-to-destination replication

After restoring the backup in Azure, a replication user was created on the AWS source and data-in replication was started from AWS RDS to Azure PaaS, keeping the two environments continuously synchronized.

Validation and cutover

Replication lag and table and row counts were monitored to confirm the destination was fully in sync,before cutting over the client’s IP from AWS RDS to Azure PaaS and decommissioning the source database.

Capabilities
Before
After
Downtime for migration
Estimated 18 to 20+ hours (offline migration)
Approximately 20 minutes (cutover only)
Migration approach
No built-in Azure DMS support for online AWS RDS MySQL migration
Live data-in replication, continuously synchronized
Database platform
AWS RDS MySQL
Azure Database for MySQL (PaaS, serverless)
Environment switch
Not yet migrated
Client live on Azure PaaS the same day
Data integrity risk
Offline export/import was the only built-in option
Continuously replicated, validated via table and row counts before cutover

Key outcomes

Downtime cut from 20+ hours to 20 minutes

The live replication approach reduced required downtime from an estimated 18 to 20+ hours down to roughly 20 minutes at final cutover.

Client live on Azure the same day

The client was able to switch to the new Azure PaaS environment on the same day as cutover.

Continuous replication kept the migration fail-safe

Live replication from source to destination throughout the process meant the migration carried minimal risk of data loss or extended disruption.

Faster, more cost-effective migration

The accelerated approach optimized cost and time for the client and reduced go-to-market time for the new environment.

Conclusion

Geopits migrated the client's approximately 1 TB production MySQL database from AWS RDS to Azure Database for MySQL using a live data-in replication approach, reducing downtime from an estimated 18 to 20+ hours to roughly 20 minutes, enabling the client to go live on Azure PaaS on the same day.

Ready to Transform Your Data?

Geopits works alongside your team as a strategic partner, starting with stabilizing your current databases, then modernizing your data infrastructure, and ultimately helping you unlock the full potential of AI.

170

Happy Clients so far

2100+

Databases Managed

142+

Successful Migrations

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
New