This post is the first of a large serie of blog posts on DevOps on Azure, I will expose my current experience for the implementation of a Devops process with Terraform, Ansible, VSTS, Inspec, Jenkins, …..
The objective of this serie is not to rewrite existing documentation, posts, articles, … but it will be a “cookbook” type series with posts that will expose real uses cases with best pratice of use of these tools in entreprises.
To start, I’ll talk about Terraform and how to use it to provision resources in Azure (also valid for other cloud providers).
Terrafom from HashiCorp is Infrastructure As code tool that allows to provision resources in Azure with a very simple language (HCL).
Advantages of Terraform are:
- It is open source with a large active community.
- It’s Multi Cloud provider (Azure, AWS, OpenStack, …..)
- It’s multi-plateforme: work on Linux, Windows, Mac OS, …
- It allows to preview the changes that it will apply before its application (with the plan command).
- It runs in command line, so it can be integrated in an automated devops pipeline.
- The command line tool has some very useful options (which we will see as we go along).
- and many others ….