Book Image

Terraform Cookbook - Second Edition

By : Mikael Krief
4.5 (2)
Book Image

Terraform Cookbook - Second Edition

4.5 (2)
By: Mikael Krief

Overview of this book

Imagine effortlessly provisioning complex cloud infrastructure across various cloud platforms, all while ensuring robustness, reusability, and security. Introducing the Terraform Cookbook, Second Edition - your go-to guide for mastering Infrastructure as Code (IaC) effortlessly. This new edition is packed with real-world examples for provisioning robust Cloud infrastructure mainly across Azure but also with a dedicated chapter for AWS and GCP. You will delve into manual and automated testing with Terraform configurations, creating and managing a balanced, efficient, reusable infrastructure with Terraform modules. You will learn how to automate the deployment of Terraform configurations through continuous integration and continuous delivery (CI/CD), unleashing Terraform's full potential. New chapters have been added that describe the use of Terraform for Docker and Kubernetes, and explain how to test Terraform configurations using different tools to check code and security compliance. The book devotes an entire chapter to achieving proficiency in Terraform Cloud, covering troubleshooting strategies for common issues and offering resolutions to frequently encountered errors. Get the insider knowledge to boost productivity with Terraform - the indispensable guide for anyone adopting Infrastructure as Code solutions.
Table of Contents (20 chapters)
16
Other Books You May Enjoy
17
Index

Overviewing Terraform best practices

Before starting to learn how to install Terraform through the recipes presented in this chapter, it’s necessary to understand the most common best practices of IaC with Terraform.

The first group of best practices is about IaC and are best practices for development in general:

  • Store all Terraform configuration files and source code using a version control system such as GitHub, Azure DevOps, or Bitbucket.
  • When the code is in Git, apply all good Git practices using branches, tags, commits, comments, and pull requests.
  • Decouple your code file with multiple components; having a big monolithic code structure will make maintenance and deployment more difficult.
  • Modularize and share common code for better reusability. For example, do not repeat the same code (as per the Don’t Repeat Yourself (DRY) principle) and share the same business logic between components. We will learn about Terraform module implementation...