Introduction to Infrastructure as Code (IaC)

Infrastructure as Code is the enablement of allocation a pre-configured set of resources on cloud services, i.e. Azure.

Achieved through creating and managing a descriptive model of the infrastructure, with the same versioning as DevOps teams use for source code. Making continuous delivery and delivery on multiple environments simpler, faster and consistent (Continuous delivery). IaC enables a DevOps infrastructure that IT teams can rebuild in a predictable and repeatable way, or spin up replicas of the environment anytime to test new versions of software.

Benefits

  • Solves the problem of environment drift in managing multiple implementations of the same solution.
  • Make changes to code, NOT the environment(s)
  • Version control with approvals for deployment
  • Easy deployment to any environment or multiple environments
  • Can be validated and tested
  • Provision and tear down dynamically
  • Rapid
  • At scale
  • Repeatable
  • Includes security and compliance
  • Removes the infrastructure management away from a small team to the larger team with controls
  • More transparency
  • Improved process

IaC overview

Microsoft learning page - IaC