Simple play icon Course
Skills Expanded

Infrastructure as Code on Azure Deep Dive

by Henry Been

This course will teach you how to work with Infrastructure as Code (IaC) on Azure. You will learn about Bicep ARM Templates (which replace JSON ARM Templates), Terraform, and Pulumi--three popular IaC choices on Azure--and how to choose between them.

What you'll learn

In this course, Infrastructure as Code on Azure Deep Dive, you’ll learn about the three most used languages for Infrastructure as Code on the Azure platform. You will learn the language, toolchain, and the pros and cons of all three alternatives. All three of them come with an example project that you can download and review or build yourself while you follow along with the course.

This course is made up of four main sections. For the bulk of this course you will be using Azure Bicep – the new Azure-native IaC language – for defining an application infrastructure that is ready for serving your web application, its supporting messaging system, and a SQL database. You will start with a minimal, working and deployable example and then step-by-step improve that together and visit all important Bicep language features that way. You will also take a look under the hood and learn what the Azure Resource Manager is, how Bicep templates are compiled to the traditional JSON ARM Templates, and what that means for you. After that, you will switch gears a bit and talk about how to write templates that are ready to be reused. Let’s say you have a default VM configuration that you want to share with your team, or even other teams – how would you go about that? You will cover the various approaches available to you in Azure: A Bicep Registry, and Template Specs. After building some reusable templates, you will continue using Bicep, but now to build a minimal Azure landing zone, following Microsofts Cloud Adoption Framework. You will see how to combine Azure DevOps and Bicep to deploy your management groups, and subscriptions. This is how many organizations deploy what are called landing zones. You will then follow along with a smaller-scale example that mimics this architecture in resource groups to deploy two landing zones that you will use in the next two modules. You will then take a first look at how to use Terraform, and Pulumi in combination with Azure. You will learn about the differences between Bicep, Terraform, and Pulumi: their pros and cons; and how to choose between them.

Table of contents

Course Overview
2mins

About the author

Henry Been is an independent architect and developer from The Netherlands. He enjoys working with software development teams to create and deliver great software. His interests include the Azure cloud, Agile, DevOps, software architecture, and testable and maintainable software design and implementation. Besides his work, he is a conference speaker at international conferences, is the author of two books, and creates online training courses for Pluralsight and A Cloud Guru. For his work in the c... more

Ready to upskill? Get started