4 ms·
For startups that matter, the need to break up the monolith will surface pretty quickly. When a single database can no longer handle the traffic anymore, and/or
by analyst74 7y ago
For startups that matter, the need to break up the monolith will surface pretty quickly. When a single database can no longer handle the traffic anymore, and/or the eng team size grow past 100 or so.
Also, as tooling improve, developing microservice is not that much harder than developing monolith.
- gfodor 7y agoWhy does scale suddenly warrant microservices when we’ve had countless examples of successful sites that scale without them? I agree microservices seem to be a reasonable decision to make if you find yourself with 100 engineers. But let’s not conflate something that falls out of conways law with the idea that it’s also necessary to get computers to serve more users.
- shaneprrlt 7y agoInteresting. One of the heavily marketed advantages of using micro-services is the ability for individual sub-systems to scale independently of one another, which is obviously a cost optimization that matters once you reach a certain scale, but is isolating components to dedicated teams the larger advantage? The comment you replied to mentioned "startups that matter" that have significant scale and have 100+ engineers. I think if you're at that point it makes sense, but when you're finding product/market-fit and have 1-2 founding engineers working on a codebase, is it safe to assume micro-services are a premature optimization that unnecessarily add to a founding team's already heavy workload?
- NicoJuicy 7y agoConway's law. The only real reason for microservices is a big team. Microservices should reflect your organisation. A monolith is a small team.
- justbaker 7y agoMicroservices and their infrastructure are shit to maintain on a small team. There is more overhead in that than monolithically designed software. The best use of microservices on a small team is for appropriate reusable services with low maintenance or almost no maintenance at all.
- y4mi 7y ago> One of the heavily marketed advantages of using micro-services is the ability for individual sub-systems to scale independently of one another, which is obviously a cost optimization that matters once you reach a certain scale, but is isolating components to dedicated teams the larger advantage? It's not like this is a new and unknown opinion... It's been repeatedly pointed out for years now.
- NicoJuicy 7y agoConway's law just names the reasoning behind it ;) https://en.m.wikipedia.org/wiki/Conway%27s_law https://en.m.wikipedia.org/wiki/Conway%27s_law
- shaneprrlt 7y agoFor sure, I was just hoping to get some clarification. I'm by no means a micro-service expert.
- UserIsUnused 7y agoYou can have diferent components scale differently in a monolith.