Terraform 101 - Infrastructure as Code (IaC) (TIAC)

 

Course Overview

As enterprises seek to deploy and maintain increasingly complex cloud infrastructure, there is a necessity to use “Infrastructure as Code” (IaC) tools, like Terraform. An open-source, state management tool developed by HashiCorp, Terraform allows developers to use a common coding interface to work through their various clouds safely and efficiently. Attendees will leave being able to write and understand Terraform code (HCL), have a clear understanding of Terraform’s various components and supporting tools, as well as when to reach for Terraform over another IaC tool, such as Ansible.

Who should attend

  • DevOps Engineers
  • Software Developers
  • Technical Managers and Leads
  • System and Cloud Administrators
  • Network Engineers and Developers

Prerequisites

Although not required, students with some experience programming, or pre-existing knowledge of cloud architecture, will most appreciate the technical nature of this hands-on course.

Course Objectives

  • Writing Terraform HCL code
  • Deploying into common clouds such as AWS, Azure, Docker, Kubernetes, and VMWare
  • Where Terraform fits in the Enterprise CI/CD model
  • Differences between Terraform and Ansible
  • Best practices

Follow On Courses

Outline: Terraform 101 - Infrastructure as Code (IaC) (TIAC)

Up and Running with Terraform

  • Terraform Overview
  • Defining “declarative”
  • How to think about Terraform (versus Ansible)
  • Reviewing the Terraform Configuration
  • Running the Terraform Configuration
  • Provisioners

Syntax

  • “Low Level” HCL syntax
  • Style Conventions
  • Comments
  • Blocks
  • Arguments
  • JSON Configuration Syntax

Resources

  • Meta-Arguments
  • depends_on
  • count
  • for_each
  • provider
  • lifecycle
  • Data Sources

Variables and Output

  • Input Variables
  • Output Values
  • Local Values

Modules

  • Module Blocks
  • Module Sources
  • Meta Arguments

Terraform Templates

  • templatefile Function
  • Template Demonstration
  • Introducing Data Sources
  • Creating an External Data Source
  • Building tftpl template files

Expressions

  • Types and Values
  • Strings and Templates
  • Reference to Values
  • Operators
  • Function Calls
  • Conditionals
  • For Expressions
  • Splat Expressions
  • Dynamic Blocks
  • Type Constraints
  • Version Constraints

Functions

  • String
  • Collection
  • Numeric
  • Encoding
  • Filesystem
  • Date and Time
  • Hash and Crypto
  • IP Network
  • Type Conversion

State

  • Understanding the importants of state
  • State storage and locking
  • importing existing resources
  • Remote State
  • What to do when local state is lost

CICD Piplines with Terraform

  • Terraform and GitLab pipelines
  • Terraform and Jenkins pipelines

Enterprise Case Studies

  • Terraform and Docker
  • Terraform and Kubernetes
  • Terraform and Amazon AWS
  • Terraform and Azure
  • Terraform and VMWare
  • Understanding how to apply Terraform to your unique infrastructure

Beyond Basics

  • Intro to Go Programming
  • Terraform Cloud
  • Additional HashiCorp Offerings
  • Backends
  • Secrets

Prices & Delivery methods

Online Training

Duration
3 days

Price
  • Online Training: CAD 2,370
  • Online Training: US$ 1,795
Classroom Training

Duration
3 days

Price
  • Canada: CAD 2,370

Click on town name or "Online Training" to book Schedule

This is an Instructor-Led Classroom course
Guaranteed date:   We will carry out all guaranteed training regardless of the number of attendees, exempt from force majeure or other unexpected events, like e.g. accidents or illness of the trainer, which prevent the course from being conducted.
Instructor-led Online Training:   This computer icon in the schedule indicates that this date/time will be conducted as Instructor-Led Online Training.
*   This class is delivered by a partner.

United States

Guaranteed to Run Online Training 10:00 US/Eastern * Enroll
Online Training 10:00 US/Eastern * Enroll
Online Training 10:00 US/Eastern * Enroll
Online Training 10:00 US/Eastern * Enroll
Online Training 10:00 US/Eastern * Enroll