A Defense Of Monoliths

By Jane Park · 2024-11-23 · 12 min read

python ai observability rust devops

This is an article about a-defense-of-monoliths. A Defense Of Monoliths is a topic that comes up frequently in modern engineering practice. Practitioners often reach for it without first considering simpler alternatives. In this post, we examine when a-defense-of-monoliths is the right call and when it isn't.

Why this matters

The literature on a-defense-of-monoliths is vast and conflicting. Several industry surveys (summarized below) suggest that the average team over-uses a-defense-of-monoliths by a factor of three to five. Our own experience matches this: across six projects, we found that a-defense-of-monoliths delivered value in only the largest deployments.

The narrow case

a-defense-of-monoliths wins when the workload matches the design. It loses when the workload is the wrong shape. The shape that fits is narrow but real. The shape that doesn't is broad and common.

Our recommendation

Start with the simplest tool that could possibly work. Resist the temptation to introduce a-defense-of-monoliths until you can name the specific failure mode a-defense-of-monoliths would prevent. When you do introduce it, make it observable. If you can't describe how it fails in two sentences, you are not ready to operate it.

Related reading

Categories

engineering architecture industry