Terraform Cookbook

Krief, Mikael



Key Features

  • Get up and running with the latest version of Terraform, v0.13
  • Design and manage infrastructure that can be shared, tested, modified, provisioned, and deployed
  • Work through practical recipes to achieve zero-downtime deployment and scale your infrastructure effectively

Book Description

HashiCorp Configuration Language (HCL) has changed how we define and provision a data center infrastructure with the launch of Terraform—one of the most popular and powerful products for building Infrastructure as Code. This practical guide will show you how to leverage HashiCorp's Terraform tool to manage a complex infrastructure with ease.

Starting with recipes for setting up the environment, this book will gradually guide you in configuring, provisioning, collaborating, and building a multi-environment architecture. Unlike other books, you'll also be able to explore recipes with real-world examples to provision your Azure infrastructure with Terraform. Once you've covered topics such as Azure Template, Azure CLI, Terraform configuration, and Terragrunt, you'll delve into manual and automated testing with Terraform configurations. The next set of chapters will show you how to manage a balanced and efficient infrastructure and create reusable infrastructure with Terraform modules. Finally, you'll explore the latest DevOps trends such as continuous integration and continuous delivery (CI/CD) and zero-downtime deployments.

By the end of this book, you'll have developed the skills you need to get the most value out of Terraform and manage your infrastructure effectively.

What you will learn

  • Understand how to install Terraform for local development
  • Get to grips with writing Terraform configuration for infrastructure provisioning
  • Use Terraform for advanced infrastructure use cases
  • Understand how to write and use Terraform modules
  • Discover how to use Terraform for Azure infrastructure provisioning
  • Become well-versed in testing Terraform configuration
  • Execute Terraform configuration in CI/CD pipelines
  • Explore how to use Terraform Cloud

Who this book is for

This book is for developers, operators, and DevOps engineers looking to improve their workflow and use Infrastructure as Code. Experience with Microsoft Azure, Jenkins, shell scripting, and DevOps practices is required to get the most out of this Terraform book.


Mikael Krief lives in France and works as a DevOps engineer. He came to believe that Infrastructure as Code is a fundamental practice in DevOps culture. He is therefore interested in HashiCorp products and specializes in the use of Terraform in several company contexts. He loves to share his passion through various communities, such as the HashiCorp User Groups. In 2019, he wrote the book Learning DevOps (Packt Publishing), and he also contributes to many public projects, writes blogs and other books, and speaks at conferences. For all his contributions and passion, he was nominated and selected as a HashiCorp Ambassador, and he has been awarded the Microsoft Most Valuable Professional (MVP) award for 5 years.


  1. Setting Up the Terraform Environment
  2. Writing Terraform Configuration
  3. Building Dynamic Environments with Terraform
  4. Using the Terraform CLI
  5. Sharing Terraform Configuration with Modules
  6. Provisioning Azure Infrastructure with Terraform
  7. Deep Diving into Terraform
  8. Using Terraform Cloud to Improve Collaboration