Hands-On Docker for Microservices with Python
上QQ阅读APP看书,第一时间看更新

Strategic planning to break the monolith

As we've discussed previously, moving from the initial state to the desired one will be a slow process. Not only because it involves new ways of doing things, but also because it will happen in parallel with other features and developments that are "business as usual." Being realistic, the company's business activities will not stop. That's why a plan should be in place to allow a smooth transition between one state and the other.

This is known as the strangler pattern ( https://docs.microsoft.com/en-us/azure/architecture/patterns/strangler)—replacing parts of a system gradually until the old system is "strangled" and can be removed safely.

There are a few alternatives as to what technical approach to take to make the move and how to divide each of the elements to migrate to the new system:

  • The replacement approach, which replaces the older code with new code written from scratch the new service
  • The divide approach, which cherry-picks existing code and moves it into its own new service
  • A combination of the two

Let's take a better look at them.