Building Evolutionary Infrastructure
This video is also available in the GOTO Play video app! Download it to enjoy offline access to our conference videos while on the move.
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.
What will the audience learn from this talk?
- The role of different types of tools and technologies in an evolutionary infrastructure
- Implementing automated infrastructure testing and validation
- Designing pipelines to deliver changes across environments and into production
- Handling data and configuration in a system where infrastructure is dynamically rebuilt, expanded, and contracted
- Advanced patterns for structuring and integrating infrastructure projects and pipelines in larger systems used by multiple teams
Does it feature code examples and/or live coding?
Prerequisite attendee experience level: