Uber’s Domain-Oriented Microservice Architecture

In the blog post “Microservices and SOA” written four years ago, I wrote that I thought Microservices Architectures were Service-Oriented Architectures done right. Of course, when designing Microservices, no-one prevents you from making a lot of exquisite short-term decisions that, in the long-term, become millstones around your neck.

A few days ago, Adam Gluck introduced “Domain-Oriented Microservice Architecture” in an exciting blog article of his. It was taken down on 2020/8/4, here’s a good summary of it, though.  And hopefully the original post will be available soon again…

He gives a balanced, unbiased view of the advantages and disadvantages of how Microservices are currently implemented. And -in his own words- “draws heavily from established ways to organize code such as Domain-driven Design, Clean Architecture, Service-Oriented Architecture, and object- and interface-oriented design patterns.

Contrary to my concise and arguably opinionated post from 4 years back, Adam goes into a lot of detail on how to improve Microservices designs.

Fascinating read!