Too Long; Didn't Read
There is an endless supply of blog posts, white papers, and slide decks, evangelizing the virtues of microservices. For all of their benefits, they come with significant drawbacks. The benefits are rarely obtained in practice, and come at the expense of increased complexity. The difficulty of building workable distributed systems comes down to consensus – agreement on distributed state. The challenges arise from consensus and partial failure, making them more challenging to develop. In this post, I’ll describe how the distributed nature of microservice makes them inherently more complex.