Looking at Azure DevOps
Throughout this chapter, we have been looking at how we can encode infrastructure in script files and ARM templates that then allow us to automate deployments using those artifacts. This process is often referred to as Infrastructure as Code (IaC) and fits well with agile-based delivery mechanisms as it provides the ability to build solutions iteratively.
Another related discipline is immutable infrastructure, which dictates that no changes should be made to existing infrastructure. When changes are required, the amendments should be made to the code that describes the system, and the existing infrastructure should then be completely destroyed and then re-deployed using the update code. This not only enforces the use of IaC but it also ensures that any changes are always encoded.
If, therefore, we are building out systems using code, we can start to utilize software development tools and technologies. Together, the tools and processes we employ are called...