Living Systems Handbook microservices as humans Bipin Singh
The idea

One body or many? Monoliths and microservices

3 min readChapter 02 of 34By Bipin Singh

Before splitting software into many humans, ask whether you need more than one. Many successful systems are a single, capable person — a monolith — and that's fine.

The monolith: one person doing everything

Imagine a small corner shop run by one owner. They take orders, cook, collect money, clean and do the accounts.

In software, a monolith is one deployable application containing all features, usually with one database.

Where the single person struggles

As the shop grows, the owner hits limits:

Human problem Software symptom
Can't be in two places at once Can't scale one busy feature without scaling everything
A cold stops the whole shop One bug or crash takes down every feature
Learning a new skill means relearning everything Every change needs testing and deploying the whole app
Too many things to remember Codebase becomes hard to understand
Only one person can work on it at a time Many developers step on each other's changes

Microservices: a team of specialists

Now the shop becomes a café with a waiter, a chef, a cashier and a delivery rider. Each person:

That is a microservice architecture: independent services, each owning a business capability and its data, communicating over well-defined interfaces.

Hiring has costs

A team isn't free. Every new "human" adds:

Watch out

A team of ten specialists running a stall that serves five customers a day is wasteful. Splitting too early is one of the most common architecture mistakes.

When to split

Signal What it means
One part of the system is far busier than the rest That part deserves its own human so it can scale alone
Different parts change at very different speeds Separate them so fast-changing parts can deploy independently
Multiple teams work on the system Give each team their own humans to own
One failure keeps taking everything down Isolate the fragile part
Different parts need different technology or security Separate bodies, separate rules

A practical path many teams follow: start as a well-organised single person (a modular monolith, with clear body parts inside), and split off humans when one of the signals above appears. Clear modules make splitting easy later — the body parts already have boundaries.

The rule of one job

The most important design rule for a microservice is the one we use for people in a healthy team: one clear job, owned completely. "The Cashier handles payments" is a good service. "The Helper does whatever's needed" is a recipe for confusion.

Key idea

Microservices are a trade: you gain independent scaling, deployment and failure isolation, and you pay with communication and coordination. Choose the trade deliberately.

Bipin Singh
Written by Bipin Singh

Senior Full-Stack Engineer · AI & AWS. I design and build serverless systems on AWS — and love explaining them simply.

Work with me