Skip to content
Getting Digital

Cloud Computing

Infrastructure as code and automation

An environment clicked together in a console exists only in the memory of whoever clicked. Infrastructure as code writes networks, servers, permissions and databases down as files that can be reviewed, versioned, repeated and destroyed on purpose. It is the working habit cloud teams hire for, and the clearest line between someone who has used a platform and someone who can operate one.

Why this topic exists: Declaring environments in code (Terraform, CloudFormation, Bicep, Pulumi, Ansible) is CNCF's Provisioning category and the operating habit every cloud team is hired for (AZ-400; SAP-C02).

From runbook to repository

Before automation, a new environment meant a ticket, a checklist and a patient administrator, and no two environments ended up quite alike. The CNCF landscape guide puts the tools that replaced this at the very bottom of its stack, in the provisioning layer, because everything else is built on the resources they create. Their promise is reproducibility: once the setup is written down, creating it again produces the same result, and a mistake can be found by reading a file instead of by clicking through screens.

Most tools are declarative. You describe the end state, such as a network with two subnets and a database reachable only from one of them, and the tool works out which calls to the platform's API will get there. That same description is compared with reality on every run, so a change becomes a diff someone can read before it is applied. Kept in Git and passed through a pull request, the infrastructure acquires the review culture that application code already has.

  • Provisioning tools create cloud resources: Terraform and OpenTofu (the latter a CNCF sandbox project) across many providers, CloudFormation on AWS, Bicep and ARM templates on Azure, and Pulumi, which uses general-purpose programming languages instead of a dedicated syntax.
  • Configuration tools such as Ansible, Chef and Puppet set up what runs inside machines once they exist: packages, files, services and users.
  • Pipelines run both kinds automatically, planning a change, waiting for approval and then applying it, so no person needs standing rights to production.

State, drift and the console

Two problems catch every team eventually. The first is state. Terraform and similar tools keep a record of what they believe exists, and losing or corrupting that record makes the next run dangerous; stored remotely, locked and backed up, it stops being a worry. The second is drift: someone fixes an incident by hand in the console, the code no longer matches reality, and the following deployment quietly undoes the fix. The cure is cultural rather than technical. Emergency changes are allowed, but they are written back into code the same day, and a scheduled plan run reports any difference.

What the exams expect

Azure Fundamentals asks you to describe infrastructure as code and ARM templates. At the expert tier, DevOps Engineer Expert treats pipelines and release safety as its core, and AWS's SAP-C02 assumes that large estates are deployed from templates across many accounts. In interviews, a repository you wrote and can explain counts for more than either.

Beginners tend to start too big, with a module library before they have deployed one stack. Start with one small environment you can destroy and recreate in minutes, and then add the pieces that hurt: remote state, a pipeline, a policy check. The same files feed operations, since an environment described in code is also an inventory, and cost work, because tags applied in code are tags that actually exist.

Next to this topic

Concepts to know

Glossary entries with the reason each one matters here.

  • Git

    Infrastructure in code lives in version control like any other code.

  • Containers

    Container images and the clusters that run them are declared, not clicked.

Certifications that test it

Vendor exams and free certificates; facts, cost and the preparation path are on each page, and the certifications hub has them all.

Tools of the trade

  • Terraform

    The infrastructure-as-code tool that works across providers.

  • Ansible

    Configuration management by playbook.

Frequently asked

Should I learn Terraform or my cloud's native tool first?
If you work on one platform, its native tool is closest to the documentation and exams. If your team spans several providers, or you want the most transferable skill, Terraform or OpenTofu covers more ground. The concepts, plan, apply, state and modules, carry between them.
Is Ansible infrastructure as code?
Yes, though it mostly configures machines that already exist rather than creating cloud resources. Many teams pair a provisioning tool for the resources with Ansible for what runs inside them.
Can an administrator without programming experience write infrastructure as code?
Most tools use a configuration language rather than full programming, so an administrator with scripting experience can be productive quickly. Pulumi and the AWS CDK use ordinary programming languages and reward developers more.

Courses in the directory

102 courses are filed here; the top 6 by our ranking, details and the provider link on each course page.

Browse the directory shelf

Last reviewed 26 September 2026 · Getting Digital