Living Systems Handbook microservices as humans Bipin Singh
Lifestyles

Lifestyles are systems

2 min readChapter 22 of 34By Bipin Singh

Two people can have the same body and the same skills, yet live completely different lives: one is running a rat race, one is living in peace, one is just chilling. Their health depends on matching their habits to their life. Systems are the same. The same kind of services need very different designs depending on the life they lead.

🏃 Rat race🧘 Living in peace😎 Just chillingHuge spikes, always busy,deadlines, stress spreadsSteady, predictable,calm under loadMostly asleep, wakesoccasionally, costs ~nothing
Requests over a day for three lifestyles. The shape of the traffic is the first thing an architect should ask about.

The three main lifestyles

🏃 Rat race 🧘 Living in peace 😎 Just chilling
Traffic Very high, spiky, unpredictable bursts Moderate, steady, predictable cycles Very low, occasional
Latency expectations Strict — every millisecond counts Reasonable Relaxed
Cost of failure Huge (lost sales, angry crowds) Moderate Low
Main risk Burnout: overload and cascading failure Slow decay: complexity, drift Neglect: forgotten, insecure, surprise costs
Design priority Resilience under pressure, backpressure, performance Balance, maintainability, efficiency Minimal cost and effort
Examples Flash sales, concert tickets, trading, food delivery at dinner, exam results day B2B SaaS, HR/payroll, back offices, steady e-commerce Personal apps, internal tools, prototypes, nightly reports

Questions that reveal a system's lifestyle

  1. What does traffic look like over a day, a week, a year? Spikes, cycles, flat?
  2. What happens if it's slow for a minute? Down for an hour? Who suffers, and how much does it cost?
  3. How fast must it respond? Human-noticeable latency, or batch overnight?
  4. How much does idle time cost with the current design?
  5. Who looks after it? A dedicated team, or someone who checks once a month?

Lifestyles can change

A personal side project (chilling) gets featured on social media and suddenly lives a rat race for a weekend. A startup's MVP becomes a peaceful SaaS. Serverless designs are good at changing lifestyles because scaling is automatic — but limits, costs and failure modes still need thought.

Key idea

Ask "what life will this system live?" before choosing settings. The same Waiter construct can be configured for a rat race, a peaceful life or a lazy Sunday — the next chapters show how.

A lifestyle setting in your DNA

You can make lifestyle an explicit input to your constructs, so the choice is visible and reviewable:

export type Lifestyle = "ratRace" | "peace" | "chilling";

export interface WaiterProps {
  eventBus: events.IEventBus;
  api: apigw.HttpApi;
  lifestyle: Lifestyle;
}

Inside the construct, the lifestyle decides concurrency, capacity mode, alarms and log retention — covered in each lifestyle chapter.

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