Explainstuff.mebeta
All concepts
Cloud Native Patternsadvanced6 min

Deployment Stamps

Stop scaling one giant system. Stamp out identical, self-contained copies and grow by adding more of them.

Imagine a popular restaurant that keeps cramming more tables into one dining room. Eventually the kitchen, the single host stand, and the one overworked manager all become bottlenecks — and one spilled tray ruins everyone's night. The smarter move is to open identical branches: same menu, same layout, same staffing, each serving its own crowd.

The Deployment Stamps pattern is that idea for software. Instead of growing one massive shared system, you stamp out complete, independent copies and route each group of customers to one of them.

The problem

A single shared deployment that serves everyone runs into hard ceilings. There's a limit to how far you can scale one database, one cache, or one regional footprint before contention and quotas bite.

Worse, everything shares fate. One noisy tenant hammering the system degrades every other customer. A bad release rolls out to your entire user base at once. A regional outage takes down all your traffic. And big enterprise customers often demand data residency or isolation guarantees that a single mixed system simply can't offer.

Before stamps — one shared stack, shared blast radius
everyone shares one stack
Noisy Tenant
Tenant B
Shared Stack
Shared Data
When everyone runs on one deployment, a single noisy tenant or a bad deploy degrades every customer at once.

How it works

You define a stamp — sometimes called a scale unit — as a complete, self-contained slice of the whole application: its compute, its database, its cache, its queues, all of it. Crucially, a stamp is described as infrastructure-as-code so you can provision an identical new one with a single repeatable run.

Each stamp serves a bounded set of tenants (or a region's traffic). When you outgrow capacity, you don't make an existing stamp bigger — you deploy another stamp. A thin traffic-routing layer sits in front and maps each incoming request to its home stamp, typically by tenant ID or geography. The diagram below shows the router fanning requests out to several identical, isolated stamps.

Deployment stamps — scale by adding identical copies
request → its stamp
Tenants
Traffic Router
Stamp A
Data A
Stamp B
Data B
Stamp C
Data C
A thin router sends each tenant to its own stamp. Stamps are isolated, so a failure or bad deploy is contained to one.
Tip

The router is the one shared thing — keep it dumb. The routing layer should do almost nothing but look up tenant → stamp and forward the request. Put business logic, sessions, or shared state in it and you've recreated the single bottleneck the pattern exists to eliminate.

Why isolation pays off

Because stamps share nothing, your blast radius shrinks to one stamp. You can roll a risky release out to a single low-traffic stamp first, watch it, and only then ripple it across the fleet — a far safer story than a big-bang deploy.

Isolation also unlocks placement flexibility. A demanding enterprise customer can get their own dedicated stamp in a specific region for compliance, while thousands of small customers share a multi-tenant stamp. It's a natural fit alongside microservices: each stamp can itself be a full mesh of services, just replicated as a unit.

When to use it

Reach for deployment stamps when you're a multi-tenant SaaS bumping into single-system scale limits, when you need tenant isolation or data residency, or when you want to cap the blast radius of deploys and failures across a large customer base.

Skip it when you're small. Running many copies multiplies your operational surface — every stamp needs monitoring, patching, and capacity planning — so it's only worth it once you have robust automation and enough scale to justify the overhead. For a young product on one modest database, plain scaling is simpler and cheaper.

Key takeaways

  • A stamp (or scale unit) is a complete, self-contained copy of your application and its data, provisioned as one repeatable deployment.
  • You scale by deploying more stamps rather than by making a single shared system bigger — each stamp serves a fixed slice of tenants or load.
  • Stamps cap blast radius: a bad deploy, a noisy tenant, or an outage is contained to one stamp instead of taking down everyone.
  • A small traffic-routing layer maps each request to the right stamp, usually by tenant ID or region.
  • The cost is operational: many copies means automation (infrastructure-as-code) is mandatory, not optional.

Keep going