The objective of migration is to copy or move all objects and user data that exist on the source server to the target server. This includes the meta-data or in other words some data and settings that are global, environment related, application related, and server platform related, that needs to be moved before the actual data and application migration.
For a successful migration, we ensure proper planning, strategy, dry-run, space and resource estimation. As an overview, one can imagine our process in three stages a) Pre-migration b) migration c) Post-migration.
Pre-migration requires complete understanding of Source, its various components, secondary sources that are linked with primary source, users, roles/rights/privileges, business validation rules, other input sources like files/APIs/feeds, automated jobs/schedulers/cron-jobs, output generated such as automated reports/feeds/API links/Json or XML output. All these contribute to the planning and stage wise line up of activities along with experts to validate and execute the migration. Usually, significant time is allotted for preparation of scripts, data-pipeline, environment setup, technical and business rules validations and allocation of expert teams for their availability at every stage and every activity.
Migration process is basically the execution of the scripts, activities and tasks planned during the pre-migration planning stage. Proper monitoring is quite essential during each step to validate the outcome or the result is same as expected and planned. For large and very-large systems, the execution or migration is carried out in multiple stages one after the other, such as module-wise, where certain key modules are migrated in a particular sequence, such as sales module first, then let it settle and run, then operations or inventory module, then at the end the finance module is migrated once all other modules are settled.
Post migration is equally essential stage where the input, output and process is compared with the earlier system to ensure there is no miss-out or miss match during the migration process. The number of objects or entities, data within each entity, their serial numbers or numbering continuation, the input / output data, users and their permission all are carried out properly that enables the newly migrated system to operate without any business impact.
The duration of such migration from end to end may vary from few weeks to several months, depending upon the objects, size of application, its connected input/output entities, geographical distribution of data or process and volume of data.