Commerce Architecture: Migration of legacy platforms

florinelchis
3 min readJan 6, 2023

Had a good conversation today about what options companies have to migrate legacy platforms, which are usually also monoliths.

There are a few potential approaches to migrating a legacy e-commerce platform to a more modern solution:

  1. Lift and shift: This approach involves moving the existing system to a new infrastructure without making any changes to the application itself. This is the quickest and easiest option, but it may not offer any benefits in terms of scalability or maintainability.
  2. Strangler pattern: This approach involves gradually replacing parts of the legacy system with new, modern components. This allows you to migrate the system incrementally and minimize disruption to the business.
  3. Rebuild and migrate: This approach involves building a new, modern system from scratch and migrating data and functionality from the legacy system. This is a more time-consuming and expensive option, but it offers the opportunity to start with a clean slate and build a system that is optimized for your current and future needs.
  4. Hybrid approach: This approach involves a combination of the above approaches, depending on the specific needs and constraints of the project. For example, you may choose to lift and shift the existing system and then gradually replace parts of it using the strangler pattern.

I believe the best example for lift and shift was moving the monolith from dedicated infrastructure to the cloud… and that usually means a little benefit for scalability. And does not leverage at all the cloud advantages. More rants on this, probably in another article.

Trying to be specific and if we’re looking at actionable steps, here is a potential list:

  1. Identify the business drivers and objectives for the migration project. This will help you to determine the scope and goals of the project and ensure that it aligns with the overall strategy of the organization.
  2. Conduct a gap analysis to assess the current state of the legacy system and identify any gaps or deficiencies that need to be addressed in the new system.
  3. Develop a target architecture that defines the desired state of the new system. This should include a high-level design and a roadmap for achieving the target architecture.
  4. Develop a migration plan that outlines the steps and resources required to migrate from the current state to the target state. This should include a risk assessment and a contingency plan.
  5. Execute the migration plan, including any necessary testing and validation.
  6. Implement the new system and retire the legacy system.
  7. Review and assess the success of the migration project, including any lessons learned that can be applied to future projects.

You can also have a 4.1 item for doing a very simplified MVP to validate that the new platform will do what you expect and it is feasible to implement it (you can get the right resources, you can work with the selected vendors, stakeholders are aligned, etc). It has an impact on the cost, however, it does contribute to the changes of having a successful migration.

Rebuild and migrate projects can be complex and risky, as they involve building a new system from scratch and migrating data and functionality from the legacy system. Therefore, it is important to carefully plan and manage these projects to minimize the risk of failure.

There are a few best practices that can help to increase the chances of success for a rebuild and migrate project:

  1. Clearly define the scope and goals of the project at the outset, and ensure that the project aligns with the overall business strategy.
  2. Engage stakeholders early and involve them in the planning process to ensure that their needs and concerns are taken into account.
  3. Develop a comprehensive project plan that includes a detailed timeline, budget, and resource plan.
  4. Test the new system thoroughly before go-live to ensure that it is stable and reliable.
  5. Provide adequate training and support to ensure that users are able to effectively transition to the new system.

By following these best practices, you can increase the chances of success for your rebuild and migrate project.

Now, to better manage risks, there is the option to negotiate fewer features in the new platform and re-add them incrementally. This is a good time to review if all the existing features are used and need to be carried over.

What do you think?

--

--

florinelchis

Florinel Chis —Magento / Adobe Commerce Developer, ex-Director — ARMO.org.ro,