You’ve learned how to write infrastructure as code, update it with your team by using delivery pipelines and testing, and manage its security and cost within your organization. As you evolve your infrastructure system, you adapt these patterns and practices and adjust them to fit new workflows and use cases. Similarly, tools change but should not disrupt the patterns and practices to scale, collaborate, and operate your infrastructure.
Updating your tool can require several actions. You could upgrade to a new version, replace it with a new tool, or handle more dynamic use cases for IaC. This chapter discusses common patterns and practices to handle updates to IaC tools.
The patterns apply to any tools that cover provisioning, configuration management, and image building use cases. You’ll find they also apply to software development, although I adapted them in an opinionated way to infrastructure. Use these patterns and practices to mitigate the blast radius of an update, scale the new tool across teams, and continue evolving your system to support business requirements.