We can broadly categorize data migration into 2 major categories.

1- Infrastructure migration

The term ‘Infrastructure migration’ refers to the process of migrating all layers of the computing platform along with the applications that support business functionality. This type of migration is a more complex exercise that has the potential to significantly impact entire IT operations more than other strategies would.

An infrastructure migration can include changes to the following :

_ Applications that support business functionality

_ Application infrastructure that supports the applications, such as web servers, application servers, middleware, and database technology

_ Third-party products provided by ISVs

_ Computing  and storage platforms, e.g. SAN or attached storage

_ Network infrastructure

_ Facilities infrastrucuture, such as power, ventilation, and cooling

_ Management policies

_ System monitoring and management tools

_ Locally written scripts to manage applications and data

2- Application migration

The term ‘Application Migration’ applies to applications rather than infrastructure. It generally applies to custom-written applications and refers to modifying or normalizing the code of an application. Its objective is to recompile and deploy on a new hardware platform that supports a different Operating System (OS).

Application Migration has an innate association with modifying the code base of an application to allow replication of the functionality provided by Application Programming Interfaces (API) of the existing OS and supporting software products in the new target environment.

Application migration is more of a mechanical effort for making the application compatible with the new environment. It requires the integration of the application with a new development environment, as well as with a new operating system. While source code, scripts, and data are shifted, compliers, source code repositories, and software tools are replaced by advanced versions that are compatible with the target platform.

When migrating an application, one must also complete the migration of any supporting third-party software. If the software is not available on the new platform, one will need to find and integrate similar software into the pplication. In case the intensity of integration becomes intemperate, the migration wight start to appear less like re-hosting and more like a re-architecture effort.