IT systems migrations - Part3: Technical perspective
… oh changes, changes - the 'favorite' part of our life. And yet the replacement of the system is nothing more than a change - but a change from the category of the largest projects that affect various aspects of IT systems management. And although as we know "no risk-no fun", if we intend to replace the IT system with a new one, it is worth taking care to reduce the risk of the entire project.
How to start?
Let's start as broadly as possible and tame the change step by step, setting its boundaries and identifying potential risks. Let's take a look at what it means to replace the system.
Architecture
Panorama of IT systems architecture before and after migration - the architecture review will help to identify the connections of the exchanged system with the environment, inventory the interfaces with internal and external systems, and define the technologies and nature of the exchanged data. We will use this knowledge to build the migration infrastructure, the scope of the necessary tests for the propagation of migrated data and, very importantly, to ensure the right and substantive stakeholders of individual test tasks.
Security
Security of migrated data - during the migration, key business data will be transferred - our clients' data, account balances, financial operations data, contract data - hence the need to strictly regulate access to extracts and protect against unauthorized modification of the transferred data. And, after all, there are also requirements of external regulators - GIODO, GDPR, GIFI, KNF, and so on - appropriate safeguards are necessary at every stage of work. Isolating migration environments, compressing, encrypting and signing transferred data, and limiting access by service personnel is a good way to meet these requirements.
Hardware - Migration infrastructure - necessary for the migration
Carrying out data migration means preparing a test and production infrastructure adequate to the size of the transferred data. Infrastructure for running migration tests (ETL) and propagation of migrated data to related systems.
Software
Migration tools - while data export from the old system and data import to the new system are most often performed using native mechanisms of these systems, mapping data between systems may require the involvement of a dedicated ETL tool to map one data model to another.
Personal resources
Migration team - it's clear, migration will not do itself. What is needed is high technical qualifications related to the migration itself, as well as to the maintenance and development, testing and integration of the new system. It is worth ensuring that the knowledge about the operation of the new system remains in our organization.
Isolation of changes
Soft freeze, Cold freeze - the overlapping of infrastructural and functional changes with migration works can have a huge impact on the assumed dates and the availability of the test infrastructure and personnel resources. It is worth setting the dates from which each planned IT change and business change will be agreed with the migration project (soft freeze), and shortly before the migration, it is worth introducing a ban on implementing other changes (cold freeze).
Data quality
Migrated data errors - data in the old system are burdened with a history of various non-standard operator actions, failures and corrective actions. These irregularities are usually revealed during the mapping of data to the data model in the new system, tests of the data movement process and tests of the new system after migration. It is worth assuming that the repair of errors is carried out only in the source system, and for special cases, assume the preparation of special "manual" migration procedures.
Quality of functionality
Tests, tests, tests - data transfer tests - are verification of the effectiveness and time optimization of the process of data extraction from the old system, transformation into a new data model and data loading into the new system.
There are several types of tests, for example:
Migration reconciliation tests - are quantitative and qualitative checks of the accountability of individual stages of data transfer between systems.
Migrated data propagation tests - it checks the operation of the surrounding systems on the data provided by the new system.
Functional tests - are tests of the operation of necessary changes in the new system and related systems.
General migration trials - final verification of the entire migration process and making sure that the planned migration process is under control, setting a GO / NOGO point, and making sure that all the necessary people will be available during the migration.
Post-migration tasks
Cleaning up and archiving - after the migration, it is necessary to decommission the shutdown systems, archiving the old system data and migration products (results of subsequent stages of data transfer, reports, documentation), and recovery of hardware and software.
And when we have finished the migration ... it is worth remembering that the new system will not work forever, and there will come a moment when we start to wonder again whether it is time to replace the system with a new one.
And we will do it again.