惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
V
Visual Studio Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
云风的 BLOG
云风的 BLOG
Microsoft Security Blog
Microsoft Security Blog
博客园 - 司徒正美
Y
Y Combinator Blog
Stack Overflow Blog
Stack Overflow Blog
雷峰网
雷峰网
小众软件
小众软件
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
aimingoo的专栏
aimingoo的专栏
MyScale Blog
MyScale Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
腾讯CDC
A
About on SuperTechFans
宝玉的分享
宝玉的分享
WordPress大学
WordPress大学
B
Blog RSS Feed
G
Google Developers Blog
量子位
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 三生石上(FineUI控件)

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Microservices Aren't About Services
Neural Downl · 2026-04-26 · via DEV Community

https://www.youtube.com/watch?v=4F0dlOMWGHE

Monolith or microservices? You've been in this meeting before. One engineer says "we need to move to microservices or we won't scale." Another one says "we tried microservices at my last company and it was a disaster." Both of them think they're arguing about architecture.

They're not. They're arguing about Conway's Law, and neither of them has noticed yet.

Here's the one-sentence version of what every balanced treatment of this topic is actually trying to tell you: microservices pay off when multiple autonomous teams need to deploy independently across cleanly separable domains. Otherwise, a monolith is cheaper. Everything below is the detail.

Microservices aren't about services

The most common definition you'll hear — "a microservice is a small service" — is wrong. Size is a symptom, not the rule.

A microservice is defined by one property: independent deployability. You can push one service without coordinating with the others. No shared database. No lockstep release. One team ships; nobody else has to wait.

If your services share a database, or they have to be deployed together, or a change to one requires a change to another — you don't have microservices. You have a distributed monolith. That's strictly worse than a regular monolith, because you've paid the distributed-systems tax and gotten nothing back.

So the question isn't "do we want lots of small services?" It's "do our teams actually need to ship independently?"

The case FOR, steelmanned

There are two things a monolith physically cannot do.

One: independent deploy cadence. If you have a pricing team that ships experiments five times a day, and a payments team that ships quarterly under compliance review, they cannot coexist on the same release train. One team's test suite is the other team's blocker. In 2002, Amazon figured this out and made a company-wide rule: no team communicates with another team except via service APIs. Every API had to be externalizable. The result, years later, was AWS as a business, and deploys happening somewhere around every eleven seconds.

Two: Conway's Law. Named after Melvin Conway, 1968: "Any organization that designs a system will produce a design whose structure is a copy of the organization's communication structure." Your architecture is a photograph of your org chart. You can't escape it. If you want autonomous services, you first need autonomous teams. Every successful microservices migration you've heard of is an org restructure in disguise.

That's the pro argument. It isn't "small services are better." It's: when your org has outgrown a single team's coordination ceiling, microservices are the tool that lets teams decouple from each other.

The catch is right there in the sentence: "when your org has outgrown a single team's coordination ceiling." Most teams haven't.

The case AGAINST, steelmanned

Two pathologies that microservices have and monoliths don't.

One: the math. Suppose each service call has a 99% chance of being fast. Now a single user request fans out to 100 services. What's the probability that at least one of those calls is slow?

P(at least one slow) = 1 - (0.99)^N

  N=10   →  10%
  N=100  →  63%
  N=1000 →  ~100%

Enter fullscreen mode Exit fullscreen mode

63%. Two-thirds of your user requests hit at least one slow backend, not because anything is broken, but because probability scales with fanout. Jeff Dean and Luiz Barroso named this "the tail at scale" in a 2013 paper. In-process calls have latency variance too — but the network multiplies it across every hop. Fanout turns rare slowness into the common case. And you only see it in production.

Two: the distributed monolith. The most-named, least-visualized failure mode in the whole debate. You set out to build microservices. You end up with twelve services that call each other synchronously five-deep, share a database, must be deployed together, and can't be run locally. You paid every distributed-systems tax, and got none of the distributed-systems benefits.

That's the worst tradeoff in software architecture. And it's what you get when you adopt the architecture without the org structure that justifies it.

When each one wins

Three questions. Answer in order. Stop at the first "no."

  1. Do you have 15+ engineers across multiple autonomous teams contributing to the same codebase?
  2. Do those teams actually need to deploy at different cadences, and is the shared pipeline the real bottleneck?
  3. Can your product be genuinely split into separate domains that each feel like they could be bought from a different company?

Three "yes" answers → microservices earn their premium.

Any "no" → monolith, or modular monolith. Shopify runs a Rails monolith with over a thousand engineers and handles thirty terabytes per minute at flash-sale peak. Stack Overflow serves 200M+ requests a day off eleven web servers. These aren't companies that failed to graduate to microservices. They're companies that looked at the three questions and decided they don't have the organizational problem.

Here's the honest footnote. Martin Fowler popularized the word "microservices" in 2014. One year later, he wrote an essay called MonolithFirst. His line: "Almost all the successful microservice stories have started with a monolith that got too big." The same person who named the architecture also named the mistake of starting with it.

The verdict

Microservices solve an organizational scaling problem by introducing distributed-systems problems. If you don't have the first, you don't want the second.

Next time this debate starts at your company, don't argue about Netflix or Amazon. Write the three questions on a whiteboard. If the answers are "one team, no, and no" — you already have your answer.

Build the architecture that actually matches the team you have. Not the one you wish you had.