Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Terraform in Action - Build & Manage Cloud Infrastructure

Packt via Coursera

Overview

Google, IBM & Meta Certificates — All 10,000+ Courses at 40% Off
One annual plan covers every course and certificate on Coursera. 40% off for a limited time.
Get Full Access
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.

Syllabus

  • Introduction
    • 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.
  • Terraform basics
    • 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.
  • Input & output variables
    • 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.
  • Terraform execution plan
    • 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.
  • Terraform state
    • 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.
  • How Terraform works with plan and state
    • 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.
  • Terraform Workspace
    • 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.
  • Deploy container services
    • 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.
  • Deploying Azure Container Apps
    • 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.
  • Deploying PaaS services
    • 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.
  • Deploying IaaS services
    • 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.
  • Deploying Logic Apps
    • 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.
  • Deploying Firewall
    • 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.
  • Deploying Azure API Management
    • 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.
  • Deploying ARM templates
    • 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.
  • Cloud Governance using Terraform
    • 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.
  • Terraform modules
    • 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.
  • Deploying to multiple targets using multi-provider
    • 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.
  • Import existing infrastructure into Terraform
    • 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.
  • Terraform features
    • 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.
  • Deploy to Kubernetes using Terraform provider
    • 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.
  • Deploy Helm Charts to Kubernetes using Terraform provider
    • 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.
  • Resource visualization with Rover
    • 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.
  • Automated testing using Terratest
    • 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.
  • Multi-layer architecture
    • 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.
  • AzApi provider to extend support for resources in Terraform
    • 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.
  • Azure DevOps provider for Terraform
    • 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.
  • Container Apps Landing Zone implementation
    • 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.
  • DevOps for Terraform
    • 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.
  • Migrating deprecated resources
    • 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.

Taught by

Packt - Course Instructors

Reviews

Start your review of Terraform in Action - Build & Manage Cloud Infrastructure

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.