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

The pilot phase – setting up the first couple of microservices

A lot of infrastructures may be required before seeing the first deployment. This phase can be difficult to overcome and it's the one that needs the biggest push. A good strategy for that is to put together a dedicated team of enthusiasts in the new microservice architecture and allow them to lead the development. They can be people that have been involved in the design, or maybe they like the new technologies or have worked with Docker and Kubernetes on side projects. Not every developer in your team will be excited about changing the way you operate, but some of them will be. Use their passion to start the project and take care of it in its initial steps:

  1. Start small—there'll be enough work to set up the infrastructure. The objective in this phase is to learn the tools, set up the platform, and adjust how to work with the new system. The aspect of teamwork and coordination is important and starting with a small team allows us to test a couple of approaches and iterate to be sure that they work.
  2. Choose non-critical services. At this stage, there are a lot of things that can go wrong. Be sure that a problem does not have a huge impact on operations or revenue.
  3. Be sure to maintain backward compatibility. Substitute parts of the monolith with new services, but do not try to change the behavior at the same time, unless they are obvious bugs.

If there's a new feature that can be implemented as a new microservice, take the chance to go straight for the new approach, but be sure that the risk in extra time to deliver, or bugs, is worth it.