Chapter 1 // Here Then Gone: What Is Immutable Infrastructure?
For decades, we’ve mulled over basic questions around how we provision machine resources—and those questions are under new scrutiny with cloud computing. The techniques we’ve traditionally used to manage machines struggle in distributed, scaled environments. Historically, we’ve thought of machine uptime and maintenance as desirable complements because we associate them with the overall health of a service or application. But cloud computing lends itself to a substantially different model of health. You drill into a more granular kind of abstraction where component replacement makes more sense than traditional server maintenance. Think about this contrast:
- In the data center, infrastructure is expensive and we need to carefully craft and maintain each individual server to preserve our investments over time.
- In the cloud, infrastructure and services are an API call away. A new architecture calls on us to give up the data center mindset in order to create more resilient, simpler, and ultimately more secure services and applications.
Werner Vogels, CTO of Amazon and an early leading thinker on cloud systems, captures this sentiment by imploring us to stop hugging servers—because they don’t hug us back. His famous “server as a paper cup” analogy, like our analogy with a striking pattern in optics, is conceptually useful as we dig in and wrap our minds around the vast potential of the cloud and the new implementations of infrastructure it enables.
The premise here is that immutable infrastructure—infrastructure that is replaced rather than maintained—offers a real and attainable path to stability, efficiency, and fidelity for your applications in the cloud.