You'd be losing money if your pizza parlor used a different recipe for every crust. Your customers aren't interested in waiting through the entire cycle of mixing, kneading, baking, etc. every time they order a pizza. And you probably don't have the budget to pay the staff needed to do all that work.
Instead, pizzas today are served on a standardized crust, often with standardized sauce, and topped per customer choice. That is just one of the thousands of examples of immutable infrastructure experienced every day.
When you program infrastructure like a made-to-go pizza, you can enjoy the convenience of consistent, reliable, yet flexible computing capacities.
Frozen pizza = example of immutable infrastructure
The idea of immutable infrastructure sprang from the concept behind the frozen pizza. Consumers choose the version they want - the base dough, sauce option and toppings - then freeze and reheat it knowing they'll experience the reliably good taste that they expect. The concept reflects that of the theory of the immutable server; once deployed, it is never altered or changed, but merely replaced with a new instance when needed. Immutable infrastructure applies the concept to deployments that occur exclusively in the cloud.
Immutable infrastructure offers the same consistency for the components of every system infrastructure just like the frozen pizza offers consistency across individual products: it automates the foundational elements (servers, containers, et cetera - the dough, sauce and toppings), then replicates that configuration for all relevant users.
Those elements remain unchangeable - "immutable" - for the life of the configuration. By delivering IT services through the immutable infrastructure model, every user experiences the same capacities, with the same reliability and consistency across the workforce.
Evolving issues provide clarification
During its evolution, developers found when they programmed in the code for the "toppings," they were also making the immutable infrastructure obsolete when the codes changed. Consequently, they shifted the design to a "frozen base pizza model," which pre-configures the software stack (OS and servers) but not the code. The virtual server then pulls the latest version of the code when booting up.
The base programming for immutable infrastructure never changes and is never altered, which retains its consistency. When system changes are necessary, a new "base pizza" is developed to provide those services. Depending on the configuration, the new immutable infrastructure servers can then be plugged into the existing network to gradually replace the outgoing configuration.
Functionally, the immutable infrastructure solves several problems:
- When one instance fails, it is replaced by another copy of the same configuration. Work can then continue almost immediately.
- Rather than looking for and repairing an error, time and money are saved by ditching the errant piece altogether.
- Recovery is simpler, too, because, again, merely replacing the failing instance recovers function immediately. No repairs are needed.
Businesses benefit from immutable infrastructure deployments
Examples of immutable infrastructure confirm its value as a business tool, especially in large organizations. Health care systems, for example, require strict adherence to compliance and best practices standards. Standards can and do change over time, making it difficult to reprogram them into every system as needed.
With immutable infrastructure, clinics can change out the old base programming with the updated requirements and roll out that new configuration by replacing the base servers across the enterprise.
By implementing an immutable infrastructure in your enterprise, you can manage your technology infrastructure as easily as ordering a pizza. Want to learn even more? Check our a side-by-side comparison of mutable vs immutable infrastructure.