Living Systems Handbook microservices as humans Bipin Singh
The ecosystem

Designing a society

2 min readChapter 17 of 34By Bipin Singh

One human is a service; a society is an application. Designing the society means deciding which humans exist, what each one owns, and how they talk. Get this right and the system stays calm as it grows; get it wrong and every change needs a committee meeting.

Start with the story, not the technology

Describe what happens in the business, step by step, as events — things that happened:

Customer sat down → order placed → payment authorised → cooking started → order ready → order served → receipt sent

This technique is called event storming: write events on sticky notes in time order, then group them. Groups of closely related events reveal your humans.

Finding the humans: one job each

Group of events Human (service) Owns
Order placed, order cancelled, order served Waiter Orders and tables
Cooking started, order ready Chef Kitchen tickets and preparation
Payment authorised, payment failed, refunded Cashier Payments and receipts
Receipt sent, "your food is ready" message Messenger Notifications to customers

Each group is a bounded context: inside it, words have one precise meaning. "Order" to the Waiter means what the customer asked for; to the Chef it's a ticket with dishes to cook; to the Cashier it's an amount to collect. Each human keeps its own model — and that's fine.

Good boundaries feel like good jobs

Healthy Unhealthy
"The Cashier handles everything about money" "Money logic lives partly in the Waiter, partly in the Cashier"
A change to payments touches one service Every feature needs changes in four services
Humans mostly announce events Humans constantly ask each other questions
Each human could be explained to a child in one sentence "It's complicated…"
Tip

If two humans must always change together or constantly call each other, they're probably one human split in two. Merge them.

The café society

Customersweb, mobile, QRthe senses ofthe societyFront doorAPI GatewayWaiterChefCashierMessengerTown squareEventBridgeOrderPlacedOrderReadyPaymentDoneEach circle is one human (microservice) with its own memory; dashed lines are announcements on the town square.
Café Sukoon: customers reach the society through the front door; humans announce what they've done on the town square and react to each other's announcements.

Choreography or orchestration?

Two ways to coordinate a multi-step story:

Most societies use both: choreography between humans, orchestration for complex flows within a human or for critical business processes.

Key idea

Design the society around business capabilities and events, give each human one job and its own memory, and let announcements carry the story from one human to the next.

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