Executing the move
The final step is to execute the carefully devised plan to start moving from the outdated monolith to the new promised land of microservices!
But this stage of the trip can actually be the longest and most difficult—especially if we want to keep the services running and not have outages that interrupt our business.
The single most important idea during this phase is backward compatibility. This means that the system is still behaving as the old system was from an external point of view. If we are able to behave like that, we can transparently change our internal operation while our customers are able to continue their operations uninterrupted.
That's obviously more easy to say than to do and sometimes has been referred to as starting a race with a Ford T and ending it with a Ferrari, changing every single piece of it without stopping. The good news is that software is so absolutely flexible and malleable that it is actually possible.