Remix.run Logo
var0xyz a day ago

> but the team was spending time building an absurd Rube-Goldberg contraption of microservices

This is literally the example that I use, the most common case of over-engineering, having more microservices than team members. Microservices are the right solution for certain problems, but those were not problems they had.

Some anecdotal evidence. I worked in many of these places, and the most common tell of over-engineering is that when you ask "what problem were we solving when we decided to have all these many microservices?" the answers you will get is problems they either didn't have (for example, high availability) or they state a problem they actually had but could have been solved in the monolith.

In other words, they "overshoot" and - as I write in the post - end up with "a system that solves multiple problems partially, none of them completely, while introducing a bunch of problems you wouldn't have had otherwise."

xnx a day ago | parent | next [-]

> more microservices than team members

Or more microservices than customers

zephen 2 hours ago | parent [-]

You need to be careful with this one, or reductio ad absurdum might lead you to not build microservices, or even a monolithic app, before you have acquired your first customer.

xnx an hour ago | parent [-]

True, but also "Do Things that Don't Scale" (https://www.paulgraham.com/ds.html). There are many examples of successful companies that had customers before they had products.

win311fwg a day ago | parent | prev | next [-]

> Microservices are the right solution for certain problems

Just one problem, actually: Conway's law.

When your organization needs to operate like the macro economy, where independent groups provide services for each other, then you are going to see the same structure found in the macro economy mirrored in the microcosm of that single organization. Hence the name microservices. Same as services, except not across business lines.

At Google scale you have no choice but to have an internal economy, but trying to build an entire economy inside a small business with less activity than a personal blog is crazy.

estetlinus a day ago | parent | prev [-]

> absurd Rube-Goldberg contraption of microservices

Such a lovely analogy. FYI it’s mine now.