Immutability
The concept behind immutability is the idea of recreation of resources instead of changing them in-situ.
Benefits
The application of concept of immutability for infrastructure yields the following benefits:
- Clear identification of state
- No configuration drift
- unplanned changes over time
- "quick fix"
- Trivial to automate
- "Phoenix" vs "Snowflake"
- "Pet" vs "Cattle"
To find out more about the concept of immutability refer to the following paper of the COTB authors:
[Volpert et al.] Holistic Life-Cycle Management of Cloud-To-Thing Compute Entities. Percom IEEE"
Vertical Immutable infrastructure
Transferring this concept to the holistic perspective of a multi-layer infrastructure is a fundamental concept of COTB. We regard every layer to be immutable. As a consequence, every layer needs to have is state strictly separated and provide an API as described in the architecture section