Migrations

Summary

Defines what software migration means in this context, the related concepts it can involve, and why the process matters.

Details

When we talk about migration, we primarily refer to the transfer of functionality (the codebase) from one platform to another, more often from an older architecture like MVC, to a modern one like middleware. Still, a complex platform migration may include:

  • Replatforming - e.g. from on-premises to the cloud.
  • Refactoring - to improve readability, maintainability, and efficiency.
  • Database or storage migration - to improve execution time and/or security.

The migration of the software codebase is the process of moving a software system's source code to another environment, which can involve:

  • Updating to a newer version of a language or framework.
  • Changing the infrastructure e.g. moving from SQL to NoSQL databases.
  • Replacing designs for security and compliance requirements.

The process ensures that software is kept functional, compatible, and secure as the technology evolves. It is also the perfect opportunity to implement modern design patterns recommended by the development community.

FAQ

Q: What does "migration" primarily refer to?

A: The transfer of functionality (the codebase) from one platform to another, e.g. from MVC to middleware.

Q: What else can a complex platform migration include?

A: Replatforming, refactoring, and database or storage migration.

Q: Why is migration a good opportunity beyond just moving code?

A: It's a chance to implement modern design patterns recommended by the development community.

See also