People are adopting dynamic infrastructure technologies like cloud, containers, and serverless so that they can easily make changes to it. Defining infrastructure as code should make systems consistent, reliable, and easy to manage.
But an infrastructure codebase can easily become a complicated, fragile mess that is scary to change. Teams can gain confidence to make frequent, rapid changes to continuously improve their infrastructure by applying appropriate design patterns and implementation practices.
In order to routinely change, extend, and improve infrastructure, the team needs to have confidence that changes will work correctly, and that the impact of failures is low and easily corrected. This creates a virtuous cycle of continuously improving the quality of the systems.