Appreciate the monolith; while embracing the microservice

There was an Underappreciated Wisdom in the Monolith

Myself and others have sung the praises of microservice architectures. A popular trend for the last ten years. Has it delivered on all of its’ the promises?

The promises of microservices:

Has the promises of microservices been delivered?

Were those points really weaknesses of the monolith?

Myths of the monolith and the microservice (and non-myths)

Finally, the case for microservices

After reading all of this you may ask “why did you say you and others sing the praises of microservices? This chapter sounds like a denouncement of microservices in favor of monoliths.” Not exactly.

I am trying to rebut all of the myths and false promises people have been singing about microservices for the last decade and haven’t resulted in our paradise of highly scalable bug-free non-highly coupled software systems. Take a look at the count of bugs in your bug tracker. Obviously we are not in heaven.

microservices did not solve our technical problems; if anything it just made more technical problems (or increased the size of our existing technical problems):

So why do microservices? Alas, we are now ready for the only important sentence in this chapter. I hid near the end where only the smartest people would find it.

microservices do not solve ANY technical problems, they ONLY solve people problems

We do microservices because we can’t easily have a large number of people coordinate together without fighting. We do microservices to solve people problems, not technical problems.

A discussion of people problems worth fixing, is a topic for a future article.