Start Small?

It is also possible to start with a system split into a large number of microservices and use this structure as the basis for further development. However, the distribution of the services is very difficult. Building Microservices 11 provides an example where a team was tasked with developing a tool to support continuous delivery of a microservice-based system. The team was very familiar with the domain, had already created products in this area, and thus chose an architecture that distributed the system early on into numerous microservices. However, as the new product was supposed to be offered in the cloud, the architecture was, for subtle reasons, not suitable in some respects. To implement changes got difficult because modifications to features had to be introduced in multiple microservices. To solve [1]

this problem and make it easier to change the software, the microservices were united again into a monolith. One year later the team decided on the final architecture and split the monolith back into microservices. This example demonstrates that a splitting into microservices too early can be problematic—even if a team knows the domain very well.

  • [1] Sam Newman. 2015. Building Microservices: Designing Fine-Grained Systems. Sebastopol, CA:O’Reilly Media.
< Prev   CONTENTS   Source   Next >