In this last part of the guide, we attempt to answer some tough questions. It’s our hope that contemplation here spurs many more questions and observations about immutable infrastructure. The point is to spark minds to go further—to encourage individuals and shops with deep reservoirs of talent and creativity to sharpen solutions, explore the cloud’s intrinsic nature, and tap into its fullest capacities.
The challenges surrounding immutable infrastructure involve not the pattern itself nor the implementation in the runtime, but rather the process, human organization, and tooling that needs to be in place.
To do immutable infrastructure means to fully confront everything about distributed and stateless systems head on. If you end up building big, monolithic programs, you’ll find that those don’t work efficiently in this environment, nor do they work with immutable patterns because immutable patterns require the ability to replace components automatically and often. Large, monolithic programs generally contain many services that need to be patched and maintained in situ. If you go too small, that can gum a system as well, as you will have more components to keep track of than are necessary. Going too small also can cause underutilization of resources. Knowing how to measure services and determining what to do at what scale is tough for even seasoned architects.
A mature ...