PHP is often used for microservices

Microservice architectures: more than the sum of their parts?

Even if there is a lot to be said for building systems based on microservice architectures, the modern approach does not have to be the right solution for every company or every project. The establishment of microservices can be especially useful for smaller computer programs that only manage a few tasks an increased effort mean. Not only the creation of the services, but also maintenance, further development and monitoring are comparatively complex. When it comes to monitoring processes, it is particularly important to carefully consider whether this works better or worse with microservices: On the one hand, individual microservices are very easy to analyze and measure. Due to the mass of microservices, this task is growing enormously.

If you look at the advantages of the work processes, it becomes clear that this is not sensible for every project - especially not in the short term. A plus point when working with microservices is the independence of the individual teams. One would like to z. B. Avoid having one team wait for the results of another. If the entire development team only consists of a few people anyway, this separation makes little sense. In addition - if you follow Conway's law - a small team, in which, for pragmatic reasons, you cannot draw clear dividing lines and many things are done in personal union, will achieve a different result anyway.

And even with larger teams, an extensive change is necessary: ​​Positions that control development centrally are increasingly being dropped; instead, development teams organize themselves. One such restructuring is both time consuming and costly. This, too, should not be disregarded when changing the system.

Therefore, some proponents of microservice architectures recommend a Monolith first strategy. Accordingly, it makes sense to initially approach a programming project as a monolith and to make the most of the advantages of this approach, especially in the early days. You should only switch to a microservice architecture when the project has assumed a corresponding scope. The service-oriented architecture (SOA) is found between the two systems and is suitable as a good intermediate step. The modular approach is also used here. The individual services should map business processes.