Erase your darlings: immutable infrastructure for mutable systems - Graham Christensen
Over time, a system collects state on its root partition. This state lives in assorted directories like /etc and /var, and represents every under-documented or out-of-order step in bringing up the services. “Right, run myapp-init.” These small, inconsequential “oh, oops” steps are the pieces that get lost and don’t appear in your runbooks. “Just download ca-certificates to … to fix …” Each of these quick fixes leaves you doomed to repeat history in three years when you’re finally doing that dreaded RHEL 7 to RHEL 8 upgrade. “Oh, touch /etc/ipsec.secrets or the l2tp tunnel won’t work.” Immutable infrastructure is a wonderfully effective method of eliminating so many of these forgotten steps. Leaning in to the pain by deleting and replacing your servers on a weekly or monthly basis means you are constantly testing and exercising your automation and runbooks. The nugget here is the regular and indiscriminate removal of system state. Destroying the whole server doesn’t leave you much room
I erase my systems at every boot. Over time, a system collects state on its root partition. This state lives in assorted directories like /etc and /var , and represents every under-documented or out-of-order step in bringing up the services. “Right, run myapp-init .” These small, inconsequential “oh, oops” steps are the pieces that get lost and don’t appear in your runbooks. “Just download ca-certificates to … to fix …” Each of these quick fixes leaves you doomed to repeat history in three years when you’re finally doing that dreaded RHEL 7 to RHEL 8 upgrade. “Oh, touch /etc/ipsec.secrets or t
related reading
- NYSRGnotes.ekzhang.com
- Century-Scale Storagelil.law.harvard.edu
- Durability & Consistency - ZeroFS Documentationzerofs.net
- nspfssd-lisa2004-final.pdfedolstra.github.io
- Rhizome Proposaljzhao.xyz
- XXIIVV - permacomputingwiki.xxiivv.com
- Building and operating a pretty big storage system called S3 | All Things Distributedallthingsdistributed.com
- 100R - computing and sustainability100r.co
- NixOS Manualnixos.org
- On rebooting: the unreasonable effectiveness of turning computers off and on again - Keunwoo Lee's Minimum Viable Homepagekeunwoo.com
- 100R - weathering software winter100r.ca
- Scaling with common sense #2: Being future ready. - Zerodha Tech Blogzerodha.tech