Terraform on Azure: Infrastructure as Code from Scratch

Learn how to use Terraform to provision and manage Azure infrastructure

Learn how to use Terraform to provision and manage Azure infrastructure. Discover the patterns and best-practices for writing infrastructure code to manage Azure IaaS and PaaS resources.

Subscribe Now

Already a member? Watch Now

Don't want to subscribe?
Get this course for $7 bucks

Course Instructor: Mike Pfeiffer

Mike Pfeiffer is a twenty-year tech industry veteran who’s worked for some of the largest technology companies in the world including Microsoft and Amazon Web Services (AWS). Mike is a published author, international conference speaker, Microsoft Azure MVP, and host of the CloudSkills.fm podcast.

course author

Course Outline

Module 1: Terraform on Azure: The Big Picture

Learn the foundations of Terraform and the patterns and practices used to automate infrastructure management. In this first session we'll discuss Terraform's template-based configuration files and how they enable you to define, provision, and configure Azure resources in a repeatable and predictable manner.

Module 2: Getting Terraform Up and Running

To use Terraform you will need to install it on your machine. In this session we'll show you how to install the Terraform binary package on your machine manually, along with using popular package managers, and we'll explore how to run Terraform in the Azure Cloud Shell.

Module 3: Creating Terraform Configurations

In this session you'll learn how Terraform uses a declarative model for defining infrastructure, and you'll see how to write a configuration that declares your desired state. From there, you'll see how to use your configurations to create and configure Azure to match your desired state.

Module 4: Building Azure Infrastructure

Learn the three steps used to build infrastructure with Terraform on Azure. In this session you'll see how to initialize your Terraform configuration directory using terraform init, how to create an execution plan, and how to modify infrastructure using terraform apply.

Module 5: Understanding Resource Dependencies

Changes to infrastructure often need to be done in a specific order which is typically determined by resource dependencies. In this session you'll learn how to manage a diverse collection of interdependent resources and how to manage their dependencies.

Module 6: Working with Provisioners

We can use Terraform provisioners to perform additional setup and configuration when a resource is created or destroyed. In this session you'll see how to use provisioners to run shell scripts, install software, and much more.

Module 7: Working with Input/Output Variables

In this session we'll transition from using literals and see how to add variables to our configurations. We'll also explore the concept of output variables that can be used to organize and return data to Terraform operators.

Module 8: Implementing Remote State Storage

In this session you'll learn how to effectively us Terraform state, which includes the settings for all of the resources maintained in your configurations. You'll see how to implement remote state storage and patterns used in Terraform such as team-based workflows using remote backends.

Module 9: Working with Terraform Modules

When creating production-grade Terraform configurations, modules are an absolute must. One of the more apparent benefits of using them is that they allow our code to be DRY. DRY is a software development term that stands for Don't Repeat Yourself. In this session you'll learn how to create modules and integrate them into your Terraform configurations.

Module 10: Understanding Functions, Expressions, and Loops

In this session you'll learn how to create a module and that implements functions, expressions, and loops in your Terraform configurations. Understanding how to create loops and advanced expressions can give your code a cleaner look and it provides teammates with a more precise understanding of the infrastructure when reading the Terraform configuration.

Module 11: Importing Existing Azure Infrastructure

Learn how to leverage pre-existing infrastructure and how to import it into Terraform. We'll start off by deploying some infrastructure with Azure CLI and then you'll see how to import those resources into a state file that can be managed by Terraform.

Module 12: Terraform and Team Collaboration in the Real-World

In this final session you'll see real-world examples of how to implement Continuous Integration and Continous Delivery (CI/CD) with Terraform and Azure DevOps, and you'll see how teams can collaborate on projects with Terraform Cloud.

Subscribe Now

Already a member? Watch Now

Don't want to subscribe?
Get this course for $7 bucks

Join the #1 Cloud & DevOps Global Community

Feedback from active members of the CloudSkills Community

Both trainings were a great experience! Mike gathered some big names in the industry to speak on their specialties, I was truly honored to be able to learn from them.
Great training from experienced and knowledgeable trainers. The training material and demos mix the content with real-world scenarios which really accelerated my understanding.
Mike has done a fantastic job of assembling a group of subject matter experts to help guide you from the basics.
If you are serious and really want to go to next level of your career, I highly recommend to be part of CloudSkills.io.

Frequently Asked Questions

Wondering if training with CloudSkills.io is going to be the right fit?
Here are answers to common questions.

What the prerequisites for this course?

We recommend that you have basic sysadmin skills, along with a high-level understanding of software development. You do not need to be a programmer to succeed in this course.

Who is this for?

Our courses are for anybody working in the IT industry who wants to achieve the Microsoft Certified DevOps Engineer certification and make a career transition into DevOps, regardless if you come from an "ops" or "dev" background.

Do I need an Azure subscription to follow along?

We are big believers in hands-on practice, however, having an Azure subscription is not a requirement for this course. Sit back and watch, and feel free to follow along if you'd like.

How long will I have access to the course?

You will have full access to the recordings with your subscription. You watch videos, follow our proven step-by-step process, get results.

"Nothing short of amazing in a few ways"

The network of individuals I have connected with because of CloudSkills.io is outstanding. The value of the classes, both for networking and for course content was very good. The opportunities I have had because I was enrolled have been astounding to me.


Here's everything you'll get with your CloudSkills.io subscription

Unlimited Access to the CloudSkills Video Library

Enjoy unlimited access to all of the courses in our video library. This includes new content every single month, plus live community calls for Q&A and professional networking.

Access to the CloudSkills Slack Community

Become part of our online Slack community and engage with your peers, network with like-minded people, and get mentorship from others who are further along in their careers.

Monthly Office Hours + Q&A

Your CloudSkills.io subscription includes access to monthly office hours calls so you can engage with your peers and get your questions answered. Get feedback from Microsoft MVP's and other industry experts.

Subscribe Now

Already a member? Watch Now

Don't want to subscribe?
Get this course for $7 bucks