Wipro has used both of the above approaches for migration; for most telcos, AWS DMS is the best choice. The reality is that migrations can be complex, but getting it right is worth the effort. It will reduce the need for manual intervention during migration as well as efforts required for database maintenance after the migration.
AWS DMS can be used to migrate a database from AWS EC2 (Amazon Elastic Compute Cloud) or from AWS RDS (Amazon Relational Database Service) with four steps:
- First, migrate data from an on-premise database, RDS, or EC2 to an intermediate Aurora RDS using AWS DMS.
- Next, run assessments to validate the target database objects and sanity post-migration.
- When the assessment reports are on the mark, make a back-up of the Aurora RDS instance.
- Finally, provision Aurora Serverless from this backup.
In other words, AWS DMS can be used to migrate to Aurora Serverless, though this capability is currently not offered out-of-the box by AWS.
Critical success factors
What else is important to make the migration successful? Wipro’s work with telco clients has generated many keys to success:
- Assess migration compatibility of the source data with the target database using AWS Schema Conversion Tool to finalize the optimum database engine to be used as the target database.
- Replication instance size should be big enough to support the source and target replication.
- Use in-line LOB (large binary objects) mode to help the DMS run faster. For LOB columns above 1024 KB, AWS DMS uses full LOB mode, which is slowest.
- Increase the commit rate of the batch from the default of 10,000 to a higher number to maximize the number of records transferred together.
- Increase “maximum number of tables to load in parallel” slightly to be greater than default value of 8 to improve performance only when using a large replication server.
- Use parallel load for a table using partition and sub-partition to accelerate load speed.
- With a huge number of tables are to be loaded, splitting the replication task with a smaller number of tables in each task will give better performance (the task will run in parallel).
- Optimize load order to load smaller tables before larger ones – or vice versa depending on the need.
- Ensure adequate bandwidth availability between source and target; insufficient bandwidth can subsequently reduce the data transfer time and upsurge the network cost.
The goal of moving to the cloud should not be solely a way to save costs – it should be done in a way that saves costs but also ensures a seamless transition to the new infrastructure. Wipro can help companies think through these issues to help them make the move efficiently and effectively.