Chapter 20. Team Workflows
Using code to build and change infrastructure is a radically different way of working from traditional approaches. We make changes to virtual servers and network configuration indirectly, rather than by typing commands at prompts or directly editing live configuration. Writing code and then pushing it out to be applied by automated systems is a bigger shift than learning a new tool or skill.
Infrastructure as Code changes how everyone involved in designing, building, and governing infrastructure works as individuals and as a group. This chapter aims to explain how different people work on infrastructure code. Processes for working on infrastructure involve designing, defining, and applying code.
Some characteristics of effective processes for teams who manage Infrastructure as Code include:
The automated process is the easiest, most natural way for team members to make changes.
People have a clear way to ensure quality, operability, and alignment to policies.
The team keeps its systems up-to-date with little effort. Things are consistent where appropriate, and where variations are required, they are clear and well-managed.
The team’s knowledge of the system is embedded in code, and its ways of working are articulated in the automation.
Errors are quickly visible and easily corrected.
It’s easy and safe to change the code that defines the system and the automation that tests and delivers that code.
Overall, a good automated workflow is fast ...