Yeda AI Tips · #174

Español

More Services Than Engineers Is a Smell

More than one deployable service per engineer? That's usually a smell.

Microservices are a solution to an organizational problem: many teams that need to ship independently without stepping on each other. If you have two engineers and nine services, you have imported that solution without having the problem. You pay the cost of distribution every single day and collect none of the benefit.

What microservices actually buy you

The real payoff of splitting into services is independent deployability and team ownership. Team A ships their service on their schedule; Team B never blocks them; each service scales and fails in isolation. Those benefits only materialize when you have enough people to own the services as separate units, and enough scale that isolating them matters.

For a small team, none of that applies. There is no cross-team coordination to eliminate because there is only one team. So the split buys you nothing and charges you the full price.

The distributed-systems tax

Every network boundary you introduce turns an in-process function call into a distributed systems problem:

A two-person startup pays all of that and, because there's no independent-ownership problem to solve, banks none of the upside.

Count artifacts against headcount

Use a blunt heuristic: count your independently deployable artifacts and compare to team size.

deployable services  >  engineers   ->  investigate

It is not a hard law, but it is a strong smell. If services outnumber engineers, you are almost certainly carrying operational cost with nothing organizational to justify it. The default should be a monolith or a modular monolith: one deployable, clean module boundaries inside it. You keep the design discipline and skip the network. Split a module out into its own service later — when a specific team needs to own it, or a specific component needs to scale or be isolated for real.

SituationBetter default
Small team, one productMonolith / modular monolith
One codebase, clear internal seamsModular monolith
Multiple teams blocking each other on deploysSplit the contended seam into a service
One component with wildly different scaling needsExtract just that component

Power moves

Resources

Shipping AI or cloud systems? Yeda AI audits and hardens production LLM and service architectures. Talk to us · Read the blog