The Obsession with Ephemeral Containers and the Fall of the Persistent Homestead
It has become an article of faith in our modern ops creed: applications should be stateless, disposable, running in ephemeral containers that can be torn down and recreated on a whim. This is the gospel of the cattle, not the pets. It promises immutable infrastructure, simplified deployments, and a pristine, repeatable environment with every release. Who could argue with such clean, surgical precision? But in our zeal to make everything transient, I fear we are losing something vital: the homestead.
The homestead is the persistent server, the one that has been running in the corner of the rack for years. It’s the system that, through careful tending and incremental knowledge, has become more than the sum of its parts. It’s the machine where the senior engineer, now long gone, left a custom-compiled version of a library that just works for a legacy process. It’s the filesystem where a decade of ancillary data has accumulated, not neatly in an S3 bucket, but in a nested directory structure that tells the story of the application’s evolution. This isn't chaos; it's history. It's a form of organic, emergent documentation that no Confluence page can capture.
Our new world of ephemeral containers treats this kind of persistence as a sin. It is a 'snowflake server,' an object of scorn to be melted away and replaced with a vanilla image. The problem is that in this sanitized environment, local knowledge is erased with every deploy. The subtle, undocumented tweaks—the small patch applied to handle a quirk in a third-party API, the custom cron job that gracefully handles a weird edge case every full moon—these things vanish. They are not in the infrastructure-as-code repository because they were solutions born of necessity, discovered and applied directly to the 'soil' of the machine. We replace a deep, if messy, understanding with a shallow, 'correct' one.
I am not arguing for unmanaged chaos. Configuration management is a necessity. But our pursuit of immutability has become a form of forgetfulness. We are so afraid of configuration drift that we have outlawed learning. A homestead can be maintained; its state can be documented after the fact, its valuable adaptations formalized. But this requires a different kind of discipline—the discipline of a gardener who observes and nurtures, rather than a factory worker who discards and replaces.
The promise of the ephemeral container is resilience through disposability. But true resilience often comes from stability and deep familiarity. When a cryptic issue arises on a container that has lived for only three hours, your only tool is the log stream. When the same issue arises on a server that has run for three years, you can log in and feel the system. You know its rhythms. You have a history with it. In our rush to build systems that are easy to rebuild, we have forgotten how to build systems that are worth keeping. We've traded the resilient, knowledgeable homestead for a sterile, repeating motel room, and we call it progress.
Notes & further reading
A few pages I came back to while writing this:
- Nebraska
- The Silent Perfect Copy: Building a Known-Good Backup Target
- New Mexico
- The Fallacy of the First-Class Log: Making Everything Critical Makes Nothing Critical
- one area's overview
- The Lineman's Vow: A Pre-Internet Promise of Uptime
- a local resource
- Washington, DC
- a regional guide
- Alabama
- Alaska
- Arizona
- Arkansas