Living Systems Handbook microservices as humans Bipin Singh
Lifestyles

Just chilling

2 min readChapter 25 of 34By Bipin Singh

Some systems live a relaxed life: a personal journal app, an internal tool used by five people, a prototype, a weekly report generator, a hobby project. They're idle most of the day. The goal here is simple: cost almost nothing, need almost no care, and still be safe.

Serverless is perfect for chilling: humans that sleep cost nothing, and wake instantly when called.

Habits of a chilled-out system

Chilling habit System design
Sleep when there's nothing to do Scale to zero: Lambda, on-demand DynamoDB, S3, API Gateway
Do chores once a week Scheduled jobs with EventBridge Scheduler
Keep things simple Fewer humans — often one or two services, or a modular monolith
Don't hoard Short log retention, TTL on old data, lifecycle rules
Lock the door before napping Still authenticate, encrypt and keep buckets private

Settings for a chilling human

// Inside the Waiter construct, when lifestyle === "chilling"
const cell = {
  runtime: lambda.Runtime.NODEJS_22_X,
  architecture: lambda.Architecture.ARM_64,
  memorySize: 256,              // small is fine for light work
  timeout: Duration.seconds(10),
};
// Memory: DynamoDB on-demand — pay only per request
// No provisioned concurrency — the occasional cold start is perfectly acceptable
// Alarms: just one or two (errors, DLQ), sent by email
// Logs: short retention (e.g. one or two weeks) to avoid paying for old diaries

A weekly chore with EventBridge Scheduler:

import * as scheduler from "aws-cdk-lib/aws-scheduler";
import * as schedulerTargets from "aws-cdk-lib/aws-scheduler-targets";

new scheduler.Schedule(this, "WeeklyReport", {
  schedule: scheduler.ScheduleExpression.cron({ minute: "0", hour: "7", weekDay: "MON" }),
  target: new schedulerTargets.LambdaInvoke(weeklyReportFn),
});

(The aws-scheduler L2 constructs are relatively new in CDK; in older versions use an EventBridge Rule with a schedule instead.)

What does chilling cost?

For truly low traffic, serverless costs are often tiny — sometimes within the AWS Free Tier. Lambda bills per request and per millisecond of compute; DynamoDB on-demand bills per request plus storage; S3 bills per GB stored. Check the current pricing pages and set a budget, because "almost nothing" can become "something" if a bug loops or someone finds a public endpoint.

Watch out

The chilling lifestyle's danger is neglect. Always set an AWS Budget alert, keep APIs authenticated, and avoid anything that bills while idle (NAT gateways, provisioned capacity, always-on databases or load balancers) unless you truly need it.

When chilling isn't the right choice

If an idle-friendly design causes problems — e.g. noticeable cold starts for a latency-sensitive user, or a relational database that must stay running — you may be living a different lifestyle than you thought. Aurora Serverless v2 and Lambda SnapStart-style features can soften the edges, but re-check the lifestyle questions in lifestyles are systems.

Key idea

Chilling systems should be lazy about cost and effort, but never lazy about security. Sleep cheaply, wake instantly, and always lock the door.

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