Challenges Associated with the Operation of Microservices
There are a number of challenges associated with the operation of microservices. The main challenges are covered in this section.
Teams that have so far only run deployment monoliths are confronted with the problem that there are many additional deployable artifacts in microservices-based systems. Each microservice is independently brought into production and therefore a separate deployable artifact. Fifty, one hundred, or more microservices are definitely possible. The concrete number depends on the size of the project and the size of the microservices. Such a number of deployable artifacts is hardly met with outside of microservices-based architectures. All these artifacts have to be versioned independently because only then can which code runs currently in production be tracked. Besides, this enables bringing a new version of each microservice independently into production.
When there are so many artifacts, there has to be a correspondingly high number of continuous delivery pipelines. They comprise not only the deployment in production but also the different testing phases. In addition, many more artifacts have to be surveilled in production by logging and monitoring. This is only possible when all these processes are mostly automated. For a small number of artifacts, manual interventions might still be acceptable. Such an approach is simply not possible any more for the large number of artifacts contained in a microservice-based architecture.
The challenges in the areas of deployment and infrastructure are the most difficult ones encountered when introducing microservices. Many organizations are not sufficiently proficient in automation although automation is also very advantageous in other architectural approaches and should already be routine.
There are different approaches for achieving the necessary automation.