People are adopting dynamic infrastructure technologies like the cloud, containers, and serverless so that they can easily make changes to their systems. 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.
In order to routinely change, extend, and improve infrastructure, teams need 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. Teams can gain this confidence by applying appropriate design patterns and implementation practices.
Kief Morris shares patterns and examples of Terraform projects using pipelines, automated tests, and loosely integrated stacks to enable a continuous flow of changes and improvements. These patterns—which have been used at clients across the financial services, retail, public sector, and media industries—ensure that any part of the infrastructure can be easily rebuilt, minimize the “blast radius” for a given change, automatically validate changes for correctness, security, compliance, and other operational and architectural requirements, and structure projects to enable multiple people and teams to work on systems while minimizing coordination overhead.
Kief Morris (he/him) is cloud practice lead at ThoughtWorks and the author of the upcoming O’Reilly book Infrastructure as Code. Kief works with organizations to understand how to take advantage of the cloud, infrastructure automation, DevOps, and continuous delivery to become more effective at delivering IT services. Originally from Tennessee, Kief moved to London in the dot-com days and has been there ever since.
Comments on this page are now closed.
©2018, O’Reilly UK Ltd • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org