Terraform for Azure: Basics (10)

This post is all about simplifying our code by using for / each loops. Rather than filling .tf files with module blocks calling for data from other files, I want us to be able to leave those .tf files static, and when we want a new resource, just add the data to the .tfvars file where it’ll be picked up and applied. Again it’s about abstracting the code from the data that little bit further, whilst also reducing the number of code lines we have to write or repeat.

Terraform for Azure: Basics (9)

This post aims to cover the subject of putting YAML pipelines into templates. This means separating out repeated and re-usable code into separate files that are project or client agnostic, just as we did with our Terraform modules.

Terraform for Azure: Basics (8)

In this post I want to cover the differences between directories and workspaces (I use directories, I’ll explain why, but there are arguments for both and people’s preferences differ – choose what works for you). I’ll try and give examples of how we can create separate environments using pipeline stages, and I’ll also start adding a little more structure to our repository’s root folder.

Terraform for Azure: Basics (7)

This time we’re going to be looking at Terraform modules to try and simplify things and reduce the amount of lines in our main deployment code. It’s another long one I’m afraid, but hopefully it will really help some things gel in your mind. We will discuss what modules are and how to use them, then we’ll make all our code re-usable by moving the data into a separate variables file.

Terraform for Azure: Basics (6)

In this episode I’m going to be looking at refining our pipeline code by adding formatting checks and putting some of our more sensitive variables into and Azure DevOps library. If you’ve been with me on the whole journey you now should have a relatively good understanding of the structure of pipelines, and be able to use them to deploy resources into Azure using basic Terraform code.

Terraform for Azure: Basics (5)

This fifth episode in our series of posts dealing with the basics of HashiCorp Terraform for Azure is going to be a bit shorter than usual. I felt we needed a little breather after the last epic that we had to work through. I’m going to discuss how to lock down the Terraform state storage account and manipulate its firewall while we perform DevOps operations.

Terraform for Azure: Basics (4)

For the fourth post in this series on the basics of Terraform for Microsoft Azure using Azure DevOps and Visual Studio Code, I’m going to be covering the slightly more complex issues of governance and security, along with a bit of automation using triggers. You’ll learn how to stage your pipelines and create code branches…

Terraform for Azure: Basics (2)

Repositories and Pipelines

If you’re following this series on the basics of Terraform for Azure, this is the second post and it deals with repositories (repos) and pipelines. Just to reiterate, this series is designed as a memory aid for myself, and hopefully it can help others at the same time.

Terraform for Azure: Basics (1)

Introduction and Prerequisites

I’ve been architecting Microsoft Azure platforms for a good few years now, and whilst I’ve been fully aware of the benefits of Infrastructure as Code (IaC), I’m not a developer (back in the 1980s I used to copy code from magazines into my Sinclair ZX81, but that’s about it), and any deployments I’ve done myself have been via the portal.