Skip main navigation

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

Reach your personal and professional goals

Unlock access to hundreds of expert online courses and degrees from top universities and educators to gain accredited qualifications and professional CV-building certificates.

Join over 18 million learners to launch, switch or build upon your career, all at your own pace, across a wide range of topic areas.

Start Learning now