We may earn an affiliate commission when you visit our partners.
Alan Rodrigues

This course is meant to help students create a Terraform configuration to deploy an Azure resource group.

A lot of students have requested to have a course on how to use Terraform to work with Azure-based services. So here it is.

This course has 100+ Terraform configuration files and 10 Assignments

There is also a mini-project for an end-to-end implementation of an application hosting environment

In this course , we will learn a lot including the following

Read more

This course is meant to help students create a Terraform configuration to deploy an Azure resource group.

A lot of students have requested to have a course on how to use Terraform to work with Azure-based services. So here it is.

This course has 100+ Terraform configuration files and 10 Assignments

There is also a mini-project for an end-to-end implementation of an application hosting environment

In this course , we will learn a lot including the following

  • Some basic concepts when it comes to working with Terraform. We need to learn some important concepts when it comes to aspects such as Planning and applying Terraform configuration files.

  • We will focus on working with Azure Storage Accounts. We will see how to use various Terraform features to create dynamic configuration files when working with Azure services.

  • Along with looking at Azure Storage Accounts, we will work with Azure Virtual Machines. We will look at

    • Creating the various components linked to an Azure VM

    • How to manage data disks

    • How to use custom script extensions

    • Using the Azure Key vault to store the Administrator account password

    • Using the Azure Bastion Host

    • How to create multiple Azure Virtual Machines

    • Making machines part of an Availability Set or an Availability Zone

  • Next we will focus on Azure Web Apps and Azure SQL databases. We will see

    • How to create Azure Web Apps

    • Deploy code from GitHub onto the Azure Web App

    • Deploy an Azure SQL database

    • Azure SQL Database auditing

    • How to deploy Azure SQL Server Virtual Machine

  • Then we will move onto Azure Networking where we will cover

    • Working with the Azure Load Balancer

    • Using the Azure Virtual Machine Scale Set

    • Azure Public DNS Zones

    • Working with the Azure Application Gateway

    • How to work with Virtual Network Peering

Enroll now

What's inside

Syllabus

Introduction

This chapter has the slides and diagrams download

How the course has been structured

This chapters covers a quick note on the course expectations

Read more

This chapters covers what is Terraform

This chapters covers why terraform is important

This chapters covers the Terraform workflow

This chapters covers the Terraform editions

This chapters covers Installing Terraform

Introduction to Azure

This chapters covers using the Azure Free account

This chapters covers creating an Azure Free account

This chapters covers a tour around the Azure Portal

This section goes into Azure Storage Accounts and Virtual Machines

This chapter has the code download for the section

Setting up an Integrated Development Environment
Creating our first terraform configuration file
Authentication and Authorization onto Azure
Lab - Creating a user and using Azure CLI

This chapters covers creating a resource group

Understanding core concepts when it comes to Configuration file

This chapters covers the plan and apply phase

Lab - Terraform apply
What's with the new terraform generated files
Authenticate using an Application Object

This chapters covers creating an Azure Storage account

Lab - Creating an Azure Storage Account - Terraform

This chapters covers uploading a Blob

This chapters covers important points in Terraform

Lab - Reference to named values
Lab - Terraform - Destroying your infrastructure

This chapters covers dependency across resources

This chapters covers reviewing the creation of an Azure virtual machine

This chapters covers a lab on creating an Azure virtual network

This chapters covers using local variables

Splitting our Terraform configuration files

This chapters covers a note on types and variables

This chapters covers using a map of values

Use Maps for the subnets

This chapters covers another way of creating subnets

Creating a virtual network interface

This chapters covers output values

This chapters covers creating a Public IP address

This chapters covers creating a network security group

This chapters covers creating a network security group via terraform

This chapters covers creating an Azure virtual machine

Look into the terraform state file
Lab - Using Input variables
Lab - Using a variable definition file
Lab - Passing secret values
Lab - Adding a data disk

This chapters covers keeping a check on the costs

Assignment - Adding a secondary network interface
This section goes more on Azure Storage Accounts and Virtual Machines

This chapters covers the count meta argument

Revisit the Terraform state file
Assignment - Creating multiple containers

This chapters covers the for each meta argument

This chapters covers the for each meta argument for blobs

This chapters covers creating multiple subnets

Creating multiple network interfaces
Lab - Creating multiple Public IP addresses
Using for each and variables

This chapters covers a lab on adding the network security group

This chapters covers creating multiple machines

This chapters covers availability sets

This chapters covers availability zones

This chapters covers a lab on the key vault service

Lab - Azure Key Vault - via Terraform

This chapters covers data sources

Lab - What goes into building a web server
Lab - Building the web server via Terraform
Using dynamic blocks
Lab - Building a Linux machine
Lab - Building a Linux machine - Terraform - Reading a local file
Lab - Building a Linux machine - Terraform - Restructure
Terraform restructure and the state file
Lab - Building a Linux machine via Terraform - Deployment
Lab - Using provisioners
Lab - Azure Bastion
This section goes into Azure Web App and SQL Database
Azure Web App service

This chapters covers a lab on Azure Web App

Lab - Deploying code onto an Azure Web App

This chapters covers a lab on Azure Web App via Terraform

Deploying another web app
Attempting to resolve our issue
Using the lifecycle meta-argument
Using resource tags
Terraform debugging

This chapters covers an understanding on deployment slots

This chapters covers deployment slots via Terraform

Lab - Deploying slots - via Terraform - Swapping the slot
Azure Web App - App Service Logs
The Azure SQL Database service

This chapters covers a lab on Azure SQL database

This chapters covers a lab on Azure SQL database via Terraform

This chapters covers Azure SQL database firewall settings

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers Azure Storage Accounts, Virtual Machines, Web Apps, SQL databases, and Networking, which are essential components for building and managing cloud infrastructure
Starts with basic Terraform concepts and progresses to more advanced topics like dynamic blocks, meta-arguments, and provisioners, which allows learners to gradually build their expertise
Includes over 100 Terraform configuration files, 10 assignments, and a mini-project, which provides ample opportunity for hands-on learning and practical application of skills
Emphasizes labs and assignments, such as creating Azure Storage Accounts and Virtual Machines, which allows learners to immediately apply what they've learned and reinforce their understanding
Explores the Terraform workflow, including planning and applying configuration files, which is crucial for managing infrastructure as code effectively and efficiently
Requires learners to set up an Integrated Development Environment, which may require additional software installation and configuration beyond a basic text editor

Save this course

Save Terraform on Azure to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Terraform on Azure with these activities:
Review Azure Fundamentals
Reinforce your understanding of core Azure concepts before diving into Terraform-specific configurations. This will help you better understand the resources you are provisioning with Terraform.
Browse courses on Azure Fundamentals
Show steps
  • Review the core Azure services.
  • Understand Azure Resource Manager.
  • Familiarize yourself with Azure pricing.
Practice Basic Command-Line Usage
Improve your comfort level with the command line, as it's essential for interacting with Terraform and Azure CLI. This will make running Terraform commands smoother.
Browse courses on Command-Line Interface
Show steps
  • Practice navigating directories.
  • Learn to execute basic commands.
  • Familiarize yourself with command-line arguments.
Read 'Terraform: Up & Running'
Gain a deeper understanding of Terraform concepts and best practices. This book will supplement the course material and provide additional context.
Show steps
  • Read the chapters on core Terraform concepts.
  • Study the examples of Terraform configurations.
  • Experiment with the code snippets provided.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Terraform Azure Resource Group Deployment
Practice deploying Azure resource groups using Terraform to solidify your understanding of the core workflow. This hands-on practice will reinforce the concepts covered in the course.
Show steps
  • Write a Terraform configuration file.
  • Initialize the Terraform working directory.
  • Plan the infrastructure changes.
  • Apply the Terraform configuration.
Document Your Terraform Projects
Improve your understanding and retention by documenting your Terraform projects. Explaining your code to others (even yourself) forces you to think critically about your design choices.
Show steps
  • Choose a Terraform project you've worked on.
  • Write a README file explaining the project's purpose.
  • Document the resources created by the configuration.
  • Explain any design decisions you made.
Automate a Multi-Tier Application Deployment
Apply your Terraform skills to automate the deployment of a more complex application architecture on Azure. This project will test your ability to integrate various Azure services using Terraform.
Show steps
  • Design a multi-tier application architecture.
  • Write Terraform configurations for each tier.
  • Test the deployment process thoroughly.
  • Document the entire infrastructure.
Contribute to a Terraform Module
Deepen your understanding of Terraform by contributing to an open-source module. This will expose you to real-world challenges and best practices in Terraform development.
Show steps
  • Find an open-source Terraform module project.
  • Identify an area where you can contribute.
  • Submit a pull request with your changes.
  • Respond to feedback from the maintainers.

Career center

Learners who complete Terraform on Azure will develop knowledge and skills that may be useful to these careers:
Infrastructure Automation Engineer
Infrastructure Automation Engineers specialize in automating the provisioning and management of IT infrastructure. If this is your career aspiration, then this Terraform on Azure course is valuable. The course centers around creating Terraform configurations to deploy Azure resource groups. This helps you develop hands-on expertise in infrastructure as code. You'll learn to automate the deployment of Azure services like Storage Accounts, Virtual Machines, Web Apps, and SQL databases using Terraform. Furthermore, you'll explore how to manage networking components like Load Balancers and Virtual Machine Scale Sets with Terraform. This course helps Infrastructure Automation Engineers to efficiently manage and scale infrastructure using automation techniques.
DevOps Engineer
DevOps Engineers streamline the software development lifecycle through automation and collaboration. The Terraform on Azure course is highly relevant, as it emphasizes infrastructure as code, a key principle of DevOps. This course helps to automate the deployment of Azure resources using Terraform. With hands-on experience in creating Terraform configurations for Azure services, you'll understand how to automate infrastructure provisioning, configuration management, and application deployment. The course includes a mini project for an end-to-end implementation of an application hosting environment. You'll also learn to manage Azure networking components, such as Load Balancers and Virtual Machine Scale Sets, with Terraform. A DevOps Engineer can apply the knowledge from this course to implement continuous integration and continuous delivery pipelines.
Cloud Engineer
As a Cloud Engineer, you'll be responsible for designing, implementing, and managing cloud infrastructure and services. This Terraform on Azure course directly aligns with the practical skills needed for this role. The course's focus on creating Terraform configurations to deploy Azure resource groups provides hands-on experience in infrastructure as code, a core competency for cloud engineers. You'll learn to automate the provisioning of Azure services like Storage Accounts, Virtual Machines, Web Apps, and SQL databases using Terraform. The course also showcases how to manage networking components like Load Balancers and Virtual Machine Scale Sets with Terraform, vital for building scalable and resilient cloud solutions. If you want to become a Cloud Engineer, then this course could benefit your career aspirations.
Azure Administrator
Azure Administrators implement, manage, and monitor an organization's Azure environment. The Terraform on Azure course directly supports the responsibilities of an Azure Administrator. The course focuses on creating Terraform configurations to deploy Azure resource groups. It provides hands-on experience in automating the provisioning and management of Azure resources. You'll learn to automate the deployment of Azure services like Storage Accounts, Virtual Machines, Web Apps, and SQL databases using Terraform. In addition, the course covers managing networking components like Load Balancers and Virtual Machine Scale Sets with Terraform. This helps Azure Administrators streamline their tasks, improve efficiency, and ensure consistent configurations across the Azure environment.
Site Reliability Engineer
Site Reliability Engineers focus on ensuring the reliability, availability, and performance of IT systems. The Terraform on Azure course helps SREs to automate infrastructure management and improve system reliability. The course centers around creating Terraform configurations to deploy Azure resource groups, providing hands-on experience in infrastructure as code. You'll learn to automate the deployment of Azure services like Storage Accounts, Virtual Machines, Web Apps, and SQL databases using Terraform. Additionally, the course includes how to manage networking components like Load Balancers and Virtual Machine Scale Sets with Terraform. Site Reliability Engineers can apply this knowledge to automate incident response, improve system monitoring, and optimize infrastructure performance.
Cloud Architect
Cloud Architects design and implement cloud computing strategies for organizations. The Terraform on Azure course could add to the practical skill set of cloud architects. The course helps to use Terraform to deploy Azure resource groups. You'll gain hands-on experience in infrastructure as code, a crucial aspect of cloud architecture. The course covers the automation of Azure services like Storage Accounts, Virtual Machines, Web Apps, and SQL databases using Terraform. You will also learn to manage networking components like Load Balancers and Virtual Machine Scale Sets. This knowledge helps Cloud Architects design scalable, reliable, and cost-effective cloud solutions that meet business requirements.
Technical Architect
Technical Architects design and oversee the implementation of complex IT systems and solutions. The Terraform on Azure course helps Technical Architects to automate infrastructure deployments and ensure consistency across environments. The course's focus on creating Terraform configurations to deploy Azure resource groups provides hands-on experience in infrastructure as code. You'll learn to automate the deployment of Azure services like Storage Accounts, Virtual Machines, Web Apps, and SQL databases using Terraform. The course also covers managing networking components like Load Balancers and Virtual Machine Scale Sets with Terraform. By using Terraform on Azure, Technical Architects can design and implement scalable, reliable, and maintainable IT solutions.
Solutions Architect
Solutions Architects design and implement IT solutions that align with business goals. The Terraform on Azure course could provide practical knowledge for anyone wishing to become a solutions architect. The course's focus on creating Terraform configurations to deploy Azure resource groups helps you to work with infrastructure as code. You'll learn to automate the deployment of Azure services like Storage Accounts, Virtual Machines, Web Apps, and SQL databases using Terraform. The course also covers managing networking components like Load Balancers and Virtual Machine Scale Sets with Terraform. A Solutions Architect can use this knowledge to design and implement cloud-based solutions that meet specific business requirements.
Systems Administrator
Systems Administrators are responsible for the upkeep, configuration, and reliable operation of computer systems and servers. The Terraform on Azure course could be useful for systems administrators looking to modernize infrastructure management. The course's focus on creating Terraform configurations to deploy Azure resource groups provides practical skills in automating infrastructure provisioning. The course also covers managing Azure services like Storage Accounts, Virtual Machines, Web Apps, and SQL databases using Terraform. This enables Systems Administrators to automate tasks such as server deployment, configuration management, and application updates. By using Terraform on Azure, Systems Administrators can improve efficiency, reduce manual errors, and ensure consistency across their infrastructure.
Cloud Security Engineer
Cloud Security Engineers are responsible for implementing and managing security measures within cloud environments. The Terraform on Azure course helps Cloud Security Engineers to automate the deployment of secure infrastructure and enforce security policies. The course's focus on creating Terraform configurations to deploy Azure resource groups provides practical skills in infrastructure as code. The course covers the secure deployment of Azure services like Storage Accounts, Virtual Machines, Web Apps, and SQL databases using Terraform. You'll also learn to manage networking components like Load Balancers and Virtual Machine Scale Sets with Terraform. By learning Terraform on Azure, Cloud Security Engineers can automate security configurations, enforce compliance standards, and improve overall security posture within Azure environments.
Cloud Consultant
Cloud Consultants advise organizations on how to best leverage cloud computing technologies to meet their business objectives. The Terraform on Azure course can increase a cloud consultant's familiarity with infrastructure as code. The course focuses on creating Terraform configurations to deploy Azure resource groups, showcasing the automation of infrastructure provisioning. You'll learn to automate the deployment of Azure services like Storage Accounts, Virtual Machines, Web Apps, and SQL databases using Terraform. Furthermore, the course covers managing networking components like Load Balancers and Virtual Machine Scale Sets with Terraform. This will enable Cloud Consultants to provide informed recommendations on how to automate infrastructure management, optimize cloud costs, and improve overall efficiency.
Data Engineer
Data Engineers design, build, and maintain data pipelines and infrastructure for data storage and processing. The Terraform on Azure course may be useful for data engineers looking to automate the deployment of data-related resources in Azure. The course focuses on creating Terraform configurations to deploy Azure resource groups, providing hands-on experience in infrastructure as code. You'll learn to automate the deployment of Azure services like Storage Accounts and SQL databases using Terraform. This could enable Data Engineers to automate the provisioning of data lakes, data warehouses, and data processing clusters in Azure. A Data Engineer can then streamline the management and scaling of data infrastructure.
Database Administrator
Database Administrators are responsible for the performance, integrity, and security of databases. The Terraform on Azure course may be useful for Database Administrators looking to automate the deployment and management of databases in Azure. The course focuses on creating Terraform configurations to deploy Azure resource groups, providing hands-on experience in infrastructure as code. You'll learn to automate the deployment of Azure SQL databases using Terraform. This functionality enables Database Administrators to automate database provisioning, configuration management, and backup/restore operations in Azure.
Cloud Application Developer
Cloud Application Developers design, develop, and deploy applications in cloud environments. The Terraform on Azure course may be useful for the cloud application developer, providing them with the skills necessary to manage the infrastructure that supports their applications. The course's focus on creating Terraform configurations to deploy Azure resource groups gives a hands-on experience in infrastructure as code. You'll learn to automate the deployment of Azure services like Web Apps and SQL databases using Terraform. This enables Cloud Application Developers to automate the provisioning of application environments, scale resources on demand, and ensure consistent deployments.
Network Engineer
Network Engineers design, implement, and manage computer networks. The Terraform on Azure course could be useful to Network Engineers who want to manage network infrastructure in Azure using infrastructure as code principles. The course focuses on creating Terraform configurations to deploy Azure resource groups. You'll learn to automate the deployment of Azure services like Virtual Networks, Load Balancers, and Application Gateways using Terraform. This enables Network Engineers to automate network configurations, improve network security, and ensure network performance within Azure environments.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Terraform on Azure.
Provides a comprehensive guide to Terraform, covering everything from basic concepts to advanced techniques. It's a valuable resource for understanding Terraform's core principles and best practices. It serves as a useful reference throughout the course and beyond. The book also provides practical examples and real-world scenarios.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser