The document discusses how immutable infrastructure can be achieved through Puppet by treating systems configuration as code. Puppet allows defining systems in code and enforcing that state through automatic idempotent runs, compensating for inherent system mutability. This brings predictability to infrastructure and allows higher level operations by establishing a foundation of reliable, known states.
7. Classes should be immutable unless
there's a very good reason to make
-- Joshua Bloch, “Effective Java”
them mutable....If a class cannot be
made immutable, limit its mutability
as much as possible.
20. Computer systems are in many ways
open systems, providing the keys to
the vault if one is so inclined to grab
them. But in order to foster an air of
immutability in our own systems,
it's of utmost importance to create a
façade of immutability. Immutability
-- The Joy of Clojure
requires that we layer over and
abstract the parts of our system that
provide unrestrained mutability.