Chad Pabalan is a Pre-Sales Engineer for dbWatch and a DBA specializing in SQLServer high availability setups and disaster recovery planning and configurations. He is an AWS Certified Solutions Architect Professional, a cloud enthusiast specializing in architecture and designing scalable, high available, and fault-tolerant systems on AWS Cloud.
As a DBA, infrastructure admin, or manager, you may have encountered a scenario where you are tasked to lead, plan and execute a server migration project for reasons such as: improving the application performance by using new or upgraded hardware or optimize the enterprise architecture.
Planning for a server migration can be quite complex, especially in large enterprises with many different servers used for various web applications, internal applications, databases, and many more. Today I will discuss some of the issues you need to consider when planning a server migration.
Planning for a server migration can be quite complex, especially in large enterprises with many different servers used for various web applications, internal applications, databases, and many more. Today I will discuss some of the issues you need to consider when planning a server migration.
The 5 R’s to consider when planning a Server Migration are the following:
1. Rehosting – (also known as Lift and Shift)
This approach involves moving your current infrastructure, applications, or databases to another server, another data center, or moving it to the cloud as it is.
Advantages:
– Simple migration by re-hosting all applications and databases as it is
– No optimizations, no architecture changes, no code changes, moving to other servers or in the cloud without doing additional changes
– No optimizations, no architecture changes, no code changes, moving to other servers or in the cloud without doing additional changes
– Can cause security risks if users and roles are not applied effectively
– Can cause application failure or services unavailability if processes, security roles, jobs are not synchronized correctly
2. Replatform
Replatform involves migrating to a new platform or infrastructure, for example, moving your on-premise databases to an Azure Managed instance in the cloud or moving your on-premise web application to AWS ElasticBeanstalk.
Advantages:
– Not changing the core architecture but may require some code changes for optimization
3. Retarget
Moving to a different product or database platform (Oracle to MariaDB). An example is you are trying to migrate your Oracle databases to a MariaDB to save substantial licensing costs. The move from one database platform to another requires changes in your stored procedures and packages when moving from Oracle to a MariaDB database.
Advantages
– Migrate the database to a better solution for reasons such as cost-benefit, feature/function availability.
– Migrate the database to a better solution for reasons such as cos
– It may consume time migrating to a new database platform as you need to map out every process happening within the database.
t-benefit, feature/function availability.
4. Refactor
Restructuring the enterprise architecture (databases and applications)
Advantages:
Disadvantages:
– It may require a lot of time and effort on the part of DBAs/Developers to work on the project to refactor the whole application/database architecture
– May introduce new bugs or issues
– It will require extensive planning and testing before stable and ready
5. Retire
Turn off things that are no longer being used or running may be due to refactoring the whole environment. Consolidate database instances that are infrequently used to other servers that have extra capacity and resources.
Advantages:
Disadvantages
Conclusion
When planning your server migration, always remember the 5 R’s, which are:
– May introduce new bugs or issues
– Replatform
– Retarget
– Refactor
– Retire
Before you migrate your servers, you should put a monitoring and management solution in place to keep track of your applications or databases’ health.
dbWatch Control Center allows you to track your database health and performance using different database monitoring jobs for every performance metric.
Control Center has built-in reporting capabilities for the management to have a quick overview of their database farms’ status, capacity, and resource usage.