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.
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.
- 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
- - 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
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.
- Not changing the core architecture but may require some code changes for optimization
- - It will most likely require extra time and effort to apply code changes
- - Use different tool kits and packages only available to the new platform
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.
- - Migrate the database to a better solution for reasons such as cost-benefit, feature/function availability.
- - It may consume time migrating to a new database platform as you need to map out every process happening within the database.
- You will need to learn new tools and tech if you are not already familiar with a target platform
Restructuring the enterprise architecture (databases and applications)
- - Overhaul the application, driven by the need of business to add new features and functions
- - Optimizing the overall application and usage rate of resources by query optimization and rewriting queries
- - Long term cost savings as your applications/database are optimally running and properly provisioned.
- - 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
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.
- - Save costs up to 10 – 30%
- - It helps reduce security vulnerabilities
- - Fewer servers to maintain, monitor, and manage
- - Simplify environment
- - Remove old legacy platforms and apps
- - Better overview
- - Cleanup
- - Hard to verify instances or databases no longer in use without extensive activity logs going back a long time or extensive manual checks
- - Moving databases may introduce unexpected side effect
When planning your server migration, always remember the 5 R's, which are:
- - Rehosting
- - 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.
Try dbWatch Control Center today - https://info.dbwatch.com/download-dbwatch-controlcenter