Devlin Duldulao

Terraform for Developers

Stop clicking in the cloud console. Learn to define, preview, and deploy your entire infrastructure as code using Terraform.

Terraform for Developers
#1about 1 minute

Understanding the fundamentals of Infrastructure as Code

Infrastructure as Code (IaC) uses automation to manage infrastructure, eliminating manual errors and bringing software best practices to operations.

#2about 2 minutes

Introducing Terraform for multi-cloud infrastructure management

Terraform is an open-source tool that lets you define and manage the full lifecycle of your cloud infrastructure as code.

#3about 1 minute

Exploring the features of Terraform Cloud for teams

Terraform Cloud provides collaboration features like VCS integration, remote state management, policy as code with Sentinel, and cost estimation.

#4about 2 minutes

Understanding Terraform syntax and language features

Terraform's configuration language uses blocks, variables, conditional expressions, function calls, and for expressions to define resources dynamically.

#5about 2 minutes

Core Terraform commands and the execution workflow

The standard Terraform workflow involves using `init` to prepare the directory, `plan` to preview changes, and `apply` to create or update infrastructure.

#6about 9 minutes

Demo of provisioning resources on Microsoft Azure

A step-by-step demonstration shows how to write a Terraform configuration file and use the CLI to deploy an app service and SQL database on Azure.

#7about 4 minutes

Demo of provisioning resources on Google Cloud Platform

This demonstration walks through initializing, planning, and applying a configuration to create compute instances and networking resources in GCP.

#8about 5 minutes

Demo of provisioning resources on Amazon Web Services

A brief walkthrough shows how to configure the AWS provider and run `terraform plan` to preview the creation of a launch configuration.

#9about 4 minutes

Managing Terraform state and CI/CD integration

The Terraform state file, which maps resources to your configuration, should be stored remotely and securely in a separate resource group for team collaboration.

#10about 2 minutes

Building an Azure DevOps release pipeline for Terraform

An example release pipeline in Azure DevOps uses CLI and PowerShell tasks to manage storage keys before running `terraform init`, `plan`, and `apply`.

#11about 4 minutes

Comparing Terraform with configuration management tools

Terraform is a provisioning tool for creating immutable infrastructure, differing from configuration management tools like Ansible, Chef, and Puppet which manage software on existing servers.

#12about 3 minutes

Using Terraform with Packer, Docker, and Kubernetes

Packer can build virtual machine images with Docker and Kubernetes pre-installed, which Terraform then deploys as a cluster to run containerized applications.

#13about 2 minutes

Comparing Terraform with other cloud provisioning tools

Unlike cloud-native tools like AWS CloudFormation or Azure Resource Manager, Terraform is open-source and cloud-agnostic, while Pulumi offers a similar approach using general-purpose programming languages.

#14about 2 minutes

Summary of IaC benefits and learning resources

Infrastructure as Code provides consistency, scalability, and traceability, and you can learn more through Terraform's official documentation, certifications, and books.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.

Dev Ops / Infra

Dev Ops / Infra

Roots Energy GmbH
Vienna, Austria

Senior
Python
Docker
Terraform
IT Security
Continuous Integration