IT systems have been created for several decades. The real boom in digitalization took place at the turn of the 20th and 21st centuries. However, more than 20 years have passed since then. A lot has changed in the meantime. First, the business itself and its requirements are radically different from the state of several years ago. Technologies evolved several times during this time. The maintenance and development of such systems are very tedious and costly. That is why more and more companies having such systems decide to migrate them, both in terms of business and technology.
In literature and specialist texts, we can encounter not only the concept of migration but also, alternatively, transition. In German-language materials, the word Portierung (Porting) also appears – referring to improving and updating existing IT systems as well. In this article, I will try to explain the basic differences between these 3 concepts.
Migration usually refers to introducing changes to IT systems that take place gradually, step by step. For example, at the beginning of the migration, two systems may exist in parallel – the old and the new. The new system can then be tested e.g. by a selected group of users in one country. Another approach assumes gradual migration of individual parts of the system. This can be done, for example, by replacing old system modules with newly implemented functions.
2) Porting (Portierung)
Porting assumes serious changes, such as a change in technology, programming languages, platforms, or operating systems on which the system is run, etc.
• transfer of the application running on Windows systems to Linux.
• transfer of a desktop application to a web application.
• moving an application using the IBM DB2 database to PostgreSQL.
• rewriting the application from C++ to C# or Java.
Transition is another term for migration. According to some people, the transition is a better term for changing IT systems than migration. The migration implies that we go somewhere and then we can come back from there. However, in the case of IT systems, such a return to the state before the changes is usually impossible and undesirable. We do not want to go back to the state we wanted to change. So, the word transition is more appropriate and more accurately represents the actual situation.
Transition is also most often associated with a physical change, for example, of the cloud service provider, infrastructure, type of technology, etc. Therefore, don’t talk only about improving something that already existed or upgrading a version, but about a complete change of at least one component of the solution to achieve better behavior of the system, considering various criteria, e.g. performance, accessibility, user-friendliness, etc.
All three terms (Migration, Portierung (Porting), and Transition) are often used interchangeably. Nevertheless, both Portierung (Porting) and Transition assume serious changes in the architecture of the solution, e.g. changing the programming language, main framework, or operating systems and infrastructure on which the system is run. It can therefore be said that Portierung (Porting) and Transition are something more serious than the system migration itself like e.g. using a new version of the library (e.g. AngularJS migration to Angular) or the migration of a monolithic system to a microservice-based system.
Sources 2) Porting:
Sources 3) Transition: