welt-verstehen/Microservices, stw2374M

Unsere Welt zu verstehen:  Microservices

 Beitrag 0-149

What are Microservices?

The concept of microservices is probably best defined here or by Martin Fowler, or at any of the first google results for "microservices".
Mircoservices are separately deployable modules that communicate with each other in order to complete a business goal, and each microservice is limited to just a small, well-defined scope:
Product purchasing is one microservice, user registration is another one, "Current Promotions" may be a third one, and so on.
But Martin Fowler also says:

Donít even consider microservices unless you have a system thatís too complex to manage as one piece.
The majority of software systems should be built as a single monolithic application.
If you pay attention to good modularity within that monolith, this may be enough.

Universally, if you are sure that the network and coordination overhead of microservices will be negligible compared to the amount of work being done and the flexibility gained, then microservices are a valid approach. But that may be rare. Martin Fowler talks about complexity vs productivity, so, in theory, if you know in advance how complex your project is going to be, you  m a y  have a valid microservices use case.
Separating a piece of functionality into a service of its own and communicating with it through web services should not be something that deserves so much attention. But apparently we have to say » No, itís not for every project « and » Yes, the approach is not dumb by itself, there are cases when it is useful «.


aus  Notizen  zu
tags: stw1720M: Microservices

Kommt es zu einer neuen Softwarekrise?