Skip main navigation

£199.99 £139.99 for one year of Unlimited learning. Offer ends on 28 February 2023 at 23:59 (UTC). T&Cs apply

Find out more

Tools for Infrastructure as Code


When designing scripts or definitions for IaC, it’s important to make sure that the code and tools are set up to be idempotent or able to run multiple times without error and with consistency.

In this step, you’ll discover tools that you can use for implementing and running IaC.

IaC can also be set up with developers’ help because many tools offer code that can be written in familiar programming languages, even ones as simple as JavaScript Object Notification (JSON) definitions.

Some examples of tools for working with IaC are:

  • Vagrant
  • Ansible
  • Puppet
  • Chef
  • Docker
  • Windows PowerShell DSC
  • Cloud-provided tools such as Azure Resource Management templates.

Azure Resource Manager

Microsoft Azure is built with IaC and includes tools that help facilitate the discipline’s adoption. Azure Resource Manager has been built from the ground up to support all the IaC principles.

Resource Manager works with resource providers such as Azure Compute, Azure Storage, and Azure Network. Each resource provider is responsible for creating the underlying resource, and Resource Manager orchestrates all providers.

Every Azure component is exposed via an application program interface (API) that grants you fine control over all parts of your infrastructure. The API can be invoked through the cross-platform Azure Command-Line Interface or Azure PowerShell, which has recently been open-sourced and now supports cross-platform use.

These connections let the creation of infrastructure as a service (IaaS) or platform as a service (PaaS) assets be scripted and run for any platform.

Infrastructure as Code

Beyond the creation of Azure assets, tools such as Azure Automation and Desired State Configuration allow for deeper integration with services once they’re deployed to configure the environment. Azure is a first-class platform for Linux and open-source technology, and there’s a great story to tell about support for open source on Azure. Nearly one in three Azure virtual machines run Linux, and there is an open-source project for Desired State Configuration for Linux.

This article is from the free online

Microsoft Future Ready: DevOps Development, Implementation and Azure Automation

Created by
FutureLearn - Learning For Life

Our purpose is to transform access to education.

We offer a diverse selection of courses from leading universities and cultural institutions from around the world. These are delivered one step at a time, and are accessible on mobile, tablet and desktop, so you can fit learning around your life.

We believe learning should be an enjoyable, social experience, so our courses offer the opportunity to discuss what you’re learning with others as you go, helping you make fresh discoveries and form new ideas.
You can unlock new opportunities with unlimited access to hundreds of online short courses for a year by subscribing to our Unlimited package. Build your knowledge with top universities and organisations.

Learn more about how FutureLearn is transforming access to education