Terraform in Action - Build & Manage Cloud Infrastructure
Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Terraform in Action - Build & Manage Cloud Infrastructure
Included with
Ask Coursera
Recommended experience
Recommended experience
What you'll learn
Design, deploy, and manage scalable cloud infrastructure using Terraform.
Automate deployments with Terraform workspaces and multi-provider configurations.
Apply best practices for cloud governance, security, and resource state management.
Skills you'll gain
Details to know
April 2026
29 assignments
See how employees at top companies are mastering in-demand skills
There are 30 modules in this course
This course features Coursera Coach!
A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. Learn how to efficiently manage cloud infrastructure using Terraform, one of the most popular Infrastructure-as-Code (IaC) tools in the industry. This course covers all aspects of Terraform from setting up your first configuration to working with advanced modules and integrating multiple providers. You will gain practical experience in deploying cloud services, configuring virtual machines, managing containers, and working with serverless infrastructure. By mastering Terraform, you will be able to automate cloud management processes and build scalable, repeatable infrastructures with ease. As you progress through the course, you will start with the basics of Terraform, including creating templates, initializing configurations, and applying changes to cloud resources. The course then delves deeper into variables, workspaces, and Terraform’s execution plan to ensure you are equipped to handle complex cloud environments. You will also explore real-world use cases, such as deploying containers, virtual machines, and key vaults on Azure, while learning to automate deployments across different cloud platforms. Along the way, you’ll gain hands-on experience with Terraform's built-in features, such as resource state management, dynamic blocks, and multi-provider configurations. You will also dive into advanced topics like cloud governance, container orchestration with Kubernetes, and CI/CD pipelines with Azure DevOps and GitHub Actions. By the end of the course, you will feel confident in deploying a wide array of cloud resources and applying best practices for scalable infrastructure management. This course is perfect for IT professionals, cloud engineers, and DevOps practitioners who want to master cloud infrastructure automation using Terraform. Some experience with cloud platforms like Azure or AWS and basic command-line knowledge is recommended. The difficulty level is intermediate, designed for those who are familiar with cloud infrastructure concepts and basic coding. By the end of the course, you will be able to design and implement scalable cloud infrastructure, manage and automate cloud resources with Terraform, configure multi-environment workspaces, and deploy containerized applications using Azure Kubernetes Service (AKS) and Azure DevOps.
In this module, we will introduce you to the world of Terraform, highlighting the essential tools and prerequisites needed for successful deployment. You’ll learn the basics of Terraform’s functionality, setting the stage for managing cloud resources effectively. We will also guide you in preparing your local environment for seamless Terraform integration.
What's included
1 video1 reading
1 video•Total 4 minutes
- Course requirements•4 minutes
1 reading•Total 10 minutes
- Full Course Resources•10 minutes
In this module, we will dive into the fundamental concepts of Terraform, helping you create and manage cloud resources through your first Terraform template. We will explore essential Terraform commands for initialization, planning, and application, as well as demonstrate how to manage and reconfigure existing resources effectively. You’ll also learn how to validate and format your templates for better clarity and best practices.
What's included
4 videos1 assignment
4 videos•Total 16 minutes
- Create the first terraform template•4 minutes
- Terraform init, plan and apply•7 minutes
- Recreating resources•4 minutes
- Validation and formatting a template•2 minutes
1 assignment•Total 15 minutes
- Terraform basics - Assessment•15 minutes
In this module, we will focus on defining and using variables within Terraform templates. You will learn how to create a template for deploying Azure Web Apps and deploy them efficiently using input variables. Additionally, we’ll explore variable overrides and how to use output variables to capture key information from your Terraform deployments.
What's included
6 videos1 assignment
6 videos•Total 24 minutes
- Creating a template for Azure Web App•6 minutes
- Deploying Web App•4 minutes
- Terraform Variables•5 minutes
- Overriding variables with .tfvars•3 minutes
- Overriding variables with command line•2 minutes
- Output variables•3 minutes
1 assignment•Total 15 minutes
- Input & output variables - Assessment•15 minutes
In this module, we will explore Terraform’s execution plan, a key feature for managing cloud resources efficiently. You will learn how to generate and apply execution plans, ensuring that your infrastructure deployments are planned and executed smoothly. The module will also provide a live demonstration of creating and applying an execution plan.
What's included
2 videos1 assignment
2 videos•Total 12 minutes
- Execution plan overview•4 minutes
- Execution plan demo•8 minutes
1 assignment•Total 15 minutes
- Terraform execution plan - Assessment•15 minutes
In this module, we will focus on Terraform state files, their purpose, and how they are integral to managing cloud infrastructure. You will understand how Terraform maintains state to track resources and how to inspect and manage the state for smoother resource management.
What's included
2 videos1 assignment
2 videos•Total 8 minutes
- Terraform state overview•2 minutes
- Terraform state demo•6 minutes
1 assignment•Total 15 minutes
- Terraform state - Assessment•15 minutes
In this module, we will explore the relationship between Terraform’s execution plan and state files, demonstrating how these two features work together to deploy and manage resources. You’ll gain insights into managing resources more efficiently through a comprehensive understanding of how these elements interact.
What's included
1 video1 assignment
1 video•Total 8 minutes
- How Terraform works with plan and state•8 minutes
1 assignment•Total 15 minutes
- How Terraform works with plan and state - Assessment•15 minutes
In this module, we will introduce you to Terraform workspaces and their role in managing different environments, such as Dev, Test, and Prod. We’ll demonstrate how to set up and switch between workspaces for seamless infrastructure management, helping you efficiently deploy resources across various environments.
What's included
5 videos1 assignment
5 videos•Total 25 minutes
- Dev/Test/Prod Environments•5 minutes
- [Demo] Dev/Test/Prod Environments•2 minutes
- Deploy Web App and SQL Database•11 minutes
- Terraform Workspace•4 minutes
- [Demo] Terraform Workspace•4 minutes
1 assignment•Total 15 minutes
- Terraform Workspace - Assessment•15 minutes
In this module, we will focus on deploying container services using Terraform, specifically Azure Kubernetes Service (AKS). You will learn to deploy an AKS cluster, configure Azure Container Registry (ACR), and set up necessary permissions. We’ll also walk you through practical demonstrations of deploying AKS and configuring it for efficient container management.
What's included
4 videos1 assignment
4 videos•Total 15 minutes
- Deploy AKS cluster•4 minutes
- [Demo] Deploy AKS cluster•3 minutes
- Deploy AKS, ACR and Permissions•4 minutes
- [Demo] Deploy AKS, ACR and Permissions•3 minutes
1 assignment•Total 15 minutes
- Deploy container services - Assessment•15 minutes
In this module, we will introduce you to Azure Container Apps, a powerful tool for deploying containerized workloads. You will learn how to deploy Azure Container Apps using Terraform and manage them effectively. We’ll guide you through the entire process with a practical demonstration to ensure hands-on learning.
What's included
2 videos1 assignment
2 videos•Total 5 minutes
- Introduction to Container Apps resource•3 minutes
- [Demo] Deploying the Terraform template for Container Apps•2 minutes
1 assignment•Total 15 minutes
- Deploying Azure Container Apps - Assessment•15 minutes
In this module, we will focus on deploying Platform-as-a-Service (PaaS) resources such as Azure Key Vault and Storage accounts. You will learn to manage secrets securely with Azure Key Vault and deploy containers and blobs in Azure Storage using Terraform. Hands-on demos will help solidify these concepts.
What's included
4 videos1 assignment
4 videos•Total 12 minutes
- Deploy Key Vault and Secrets•5 minutes
- [Demo] Deploy Key Vault and Secrets•2 minutes
- Deploy Storage Account, Container and Blob•2 minutes
- [Demo] Deploy Storage Account, Container and Blob•2 minutes
1 assignment•Total 15 minutes
- Deploying PaaS services - Assessment•15 minutes
In this module, we will guide you through deploying Infrastructure-as-a-Service (IaaS) resources using Terraform. You will learn to deploy both Linux and Windows VMs, as well as Bastion hosts for secure access to these VMs, empowering you to efficiently manage infrastructure on Azure.
What's included
4 videos1 assignment
4 videos•Total 16 minutes
- Deploy Linux VM•6 minutes
- [Demo] Deploy Linux VM•4 minutes
- Deploy Windows VM & Bastion host•5 minutes
- [Demo] Deploy Windows VM & Bastion host•2 minutes
1 assignment•Total 15 minutes
- Deploying IaaS services - Assessment•15 minutes
In this module, we will explore Azure Logic Apps, a serverless solution for automating workflows. You’ll learn to create and deploy Logic Apps both through the portal and Terraform, helping you design serverless architectures for your cloud applications.
What's included
3 videos1 assignment
3 videos•Total 17 minutes
- Introduction to serverless model with Logic Apps•4 minutes
- Creating a sample Logic Apps in the portal•7 minutes
- Deploying Logic Apps using Terraform•6 minutes
1 assignment•Total 15 minutes
- Deploying Logic Apps - Assessment•15 minutes
In this module, we will focus on securing your cloud infrastructure with Azure Firewall. You will learn how to deploy and configure Azure Firewall in a Hub-and-Spoke model, ensuring your network is safe and well-managed using Terraform.
What's included
2 videos1 assignment
2 videos•Total 12 minutes
- [Lightboard] Introduction to Azure Firewall•6 minutes
- [Demo] Azure Firewall in Hub and Spoke model•6 minutes
1 assignment•Total 15 minutes
- Deploying Firewall - Assessment•15 minutes
In this module, we will introduce you to Azure API Management and demonstrate how to deploy and configure it with Terraform. You’ll gain the knowledge needed to manage API access, improve security, and streamline API management in your cloud environment.
What's included
3 videos1 assignment
3 videos•Total 20 minutes
- [Lightboard] Introduction•7 minutes
- Introduction to API Management•7 minutes
- [Demo] Deploying API Management•7 minutes
1 assignment•Total 15 minutes
- Deploying Azure API Management - Assessment•15 minutes
In this module, we will show you how to deploy ARM templates using Terraform. You’ll learn the significance of ARM templates in cloud resource management and gain practical experience in deploying Azure resources through these templates.
What's included
2 videos1 assignment
2 videos•Total 4 minutes
- Deploying ARM templates•3 minutes
- [Demo] Deploying ARM templates•1 minute
1 assignment•Total 15 minutes
- Deploying ARM templates - Assessment•15 minutes
In this module, we will focus on cloud governance by leveraging Terraform to manage Azure Active Directory users and groups. You will learn how to assign existing policies, create custom ones, and enforce them on cloud resources to ensure compliance and security.
What's included
6 videos1 assignment
6 videos•Total 15 minutes
- Create users and groups in Azure Active Directory•2 minutes
- [Demo] Create users and groups in Azure Active Directory•2 minutes
- Assign an existing Policy•4 minutes
- [Demo] Assign an existing Policy•1 minute
- Create and assign a custom policy•3 minutes
- [Demo] Create and assign a custom policy•3 minutes
1 assignment•Total 15 minutes
- Cloud Governance using Terraform - Assessment•15 minutes
In this module, we will explore Terraform modules and their power in promoting reusability. You’ll learn how to create and manage modules within your project and how to share them through the Terraform Registry to foster collaboration and efficiency.
What's included
4 videos1 assignment
4 videos•Total 15 minutes
- Introduction to modules•4 minutes
- [Demo] Terraform modules•3 minutes
- Sharing modules with Terraform registry•4 minutes
- Implicit and explicit modules dependencies•3 minutes
1 assignment•Total 15 minutes
- Terraform modules•15 minutes
In this module, we will show you how to configure multiple providers in a single Terraform project. You will gain the ability to deploy and manage resources across various cloud platforms, broadening your expertise in multi-cloud infrastructure management.
What's included
2 videos1 assignment
2 videos•Total 5 minutes
- Configuring multiple providers•3 minutes
- [Demo] Configuring multiple providers•2 minutes
1 assignment•Total 15 minutes
- Deploying to multiple targets using multi-provider - Assessment•15 minutes
In this module, we will demonstrate how to import existing infrastructure into Terraform. You’ll learn the steps for bringing in cloud resources that are already deployed and managing them efficiently within Terraform.
What's included
4 videos1 assignment
4 videos•Total 26 minutes
- Terraform import•2 minutes
- [Demo] Terraform import•7 minutes
- Import Azure resources into Terraform with Terrafy•11 minutes
- Terraform import block (best option)•6 minutes
1 assignment•Total 15 minutes
- Import existing infrastructure into Terraform - Assessment•15 minutes
In this module, we will dive into advanced Terraform features that enhance your ability to manage cloud infrastructure. You’ll explore functions and conditionals, along with dynamic blocks for efficient resource handling, making your Terraform templates more flexible and powerful.
What's included
8 videos1 assignment
8 videos•Total 41 minutes
- for_each, list, map, bool, number, validation•6 minutes
- if/else, count, lower, upper, max, min•5 minutes
- random_string, random_number, random_uuid•4 minutes
- http, local-exec, remote-exec•6 minutes
- [Demo] http, local-exec, remote-exec•1 minute
- dynamic for nested block•3 minutes
- enable or disable resource creation•8 minutes
- Terraform Count vs For_each•8 minutes
1 assignment•Total 15 minutes
- Terraform features - Assessment•15 minutes
In this module, we will introduce you to the Terraform Kubernetes provider. You’ll learn to deploy and manage Kubernetes clusters and resources, equipping you with the skills to handle containerized applications with Terraform.
What's included
1 video1 assignment
1 video•Total 15 minutes
- Terraform provider for Kubernetes•15 minutes
1 assignment•Total 15 minutes
- Deploy to Kubernetes using Terraform provider - Assessment•15 minutes
In this module, we will show you how to use Terraform to deploy applications to Kubernetes with Helm charts. You’ll learn the process of configuring and managing Helm charts, simplifying the deployment of containerized applications within Kubernetes environments.
What's included
1 video1 assignment
1 video•Total 15 minutes
- Terraform provider for Helm•15 minutes
1 assignment•Total 15 minutes
- Deploy Helm Charts to Kubernetes using Terraform provider - Assessment•15 minutes
In this module, we will introduce Rover, a powerful tool for visualizing your Terraform resources. You’ll learn how to use Rover to improve your understanding of your infrastructure, making it easier to manage and optimize your Terraform deployments.
What's included
2 videos1 assignment
2 videos•Total 9 minutes
- Resource visualization with Rover•1 minute
- [Demo] Resource visualization with Rover•8 minutes
1 assignment•Total 15 minutes
- Resource visualization with Rover - Assessment•15 minutes
In this module, we will guide you through the process of automating Terraform configuration testing with Terratest. You will learn to write and run tests for various resources, ensuring your Terraform configurations are robust and reliable.
What's included
6 videos1 assignment
6 videos•Total 12 minutes
- Introduction to Terratest•3 minutes
- [Demo] Running simple test in Terratest•1 minute
- Automated tests for Resource Group•2 minutes
- [Demo] Automated tests for Resource Group•2 minutes
- Automated tests for an AKS cluster•4 minutes
- More resources for learning Terratest•1 minute
1 assignment•Total 15 minutes
- Automated testing using Terratest - Assessment•15 minutes
In this module, we will cover how to design scalable and manageable multi-layer architectures for your Terraform configurations. You’ll learn how to structure your project into distinct layers for improved efficiency and easier maintenance.
What's included
1 video1 assignment
1 video•Total 10 minutes
- Multi-layer architecture for Terraform•10 minutes
1 assignment•Total 15 minutes
- Multi-layer architecture - Assessment•15 minutes
In this module, we will introduce the AzApi provider, which extends Terraform’s capabilities by supporting additional Azure resources. You will learn to deploy custom resources like App Service Domains and gain the skills to work with unsupported resources in Terraform.
What's included
5 videos1 assignment
5 videos•Total 27 minutes
- Implementing Azure App Service Domain in Terraform•9 minutes
- [Demo] Running the custom Terraform resource•4 minutes
- Introduction to AKS monitoring using Prometheus and Grafana•2 minutes
- Exploring the Terraform azapi configuration•8 minutes
- Deploying and checking the resources•5 minutes
1 assignment•Total 15 minutes
- AzApi provider to extend support for resources in Terraform - Assessment•15 minutes
In this module, we will show you how to use the Azure DevOps provider with Terraform. You’ll learn to automate the creation and management of DevOps projects and repositories, streamlining your DevOps workflows using Terraform.
What's included
2 videos1 assignment
2 videos•Total 8 minutes
- Introduction to Azure DevOps provider and its features•4 minutes
- [Demo] Creating Azure DevOps project and repositories using Terraform•4 minutes
1 assignment•Total 15 minutes
- Azure DevOps provider for Terraform - Assessment•15 minutes
In this module, we will guide you through implementing a Container Apps Landing Zone in Azure. You will learn the architecture behind this deployment and gain practical experience deploying and configuring a landing zone for containerized applications.
What's included
3 videos
3 videos•Total 20 minutes
- Introduction to Container Apps Landing Zone•7 minutes
- Explaining Landing Zone implementation with Terraform•9 minutes
- [Demo] Deploying Landing Zone with Terraform•4 minutes
In this module, we will explore how to integrate Terraform with DevOps tools like Azure DevOps and GitHub Actions. You will learn how to set up and automate CI/CD pipelines, ensuring streamlined and efficient infrastructure management.
What's included
2 videos1 assignment
2 videos•Total 40 minutes
- CI/CD Pipelines using Azure DevOps•19 minutes
- CI/CD pipelines with Github Actions•21 minutes
1 assignment•Total 15 minutes
- DevOps for Terraform - Assessment•15 minutes
In this module, we will help you navigate the process of migrating deprecated Azure resources. You will learn how to transition to newer Terraform-supported resource configurations while ensuring your infrastructure remains functional and compliant.
What's included
1 video2 assignments
1 video•Total 9 minutes
- Migrating deprecated resources•9 minutes
2 assignments•Total 75 minutes
- Full Course Assessment•60 minutes
- Full Course Practice Assessment•15 minutes
Instructor
Why people choose Coursera for their career
Frequently asked questions
Terraform in Action is a course focused on learning how to use Terraform to manage cloud infrastructure. Terraform is an open-source tool used for automating the provisioning and management of cloud resources. It is highly relevant today as cloud computing becomes more prevalent, and organizations need efficient, scalable, and repeatable methods to deploy and manage infrastructure. Learning Terraform empowers professionals to streamline cloud resource management, reduce human error, and increase operational efficiency.
This course provides a hands-on introduction to Terraform, guiding learners through the process of creating, managing, and automating cloud infrastructure. You will gain practical experience with various tools and services such as Azure, Kubernetes, container apps, and much more. By the end of the course, you will be proficient in using Terraform templates to deploy and manage cloud-based resources efficiently.
Upon completing this course, you will be able to create and manage cloud infrastructure using Terraform. You will know how to write Terraform templates to deploy web apps, manage virtual machines, configure Azure Kubernetes Services, and much more. You will also understand how to use Terraform variables, handle state management, and apply best practices for scalable and maintainable infrastructure automation.
More questions
Financial aid available,
