Terraform and Packer

February 26, 2020

Overview

  • IaS (Infrastructure as Code) is one of the most important developments in application
    deployment in many years, and paves the way for many other exciting
    possibilities in DevOps.
  • Terraform is a HashiCorp open source tool for deploying infrastructure
    in multiple cloud environments.
  • Packer is a HashiCorp open source tool for creating images in
    multiple environments

What you will learn

  • DevOps and IaC
  • How to use Terraform
  • How to use Packer for image creation

Audience

DevOps, Developers, Architects

Duration

3 days

Format

Lectures and hands-on labs. (50%, 50%)

Prerequisites

  • Some background with Unix or Linux including the command line
  • Some knowledge of a programming language such as Java, C#, Python, Node.js, etc.

Lab environment

  • A reasonably modern laptop
  • Unrestricted connection to the Internet. Laptops with overly restrictive VPNs or firewalls may not work properly
  • Chrome browser
    • SSH client for your platform

Detailed Outline

  • What is Terraform?
  • Terraform Language HCL
  • Terraform projects, resources, commands
  • Provisioners, State
  • Practical examples
  • Terraform module composition
  • Security
  • Errors, debugging, troubleshooting
  • New in version 0.12
  • Terraform expression
  • Workshop
  • What is Packer
  • Packer terminology
  • Packer templates
  • Variables in Packer
  • Packer language HCL2
  • Packer for AWS, Azure, 
  • Packer and Docker
  • Packer and AWS, Azure, Google Cloud
  • Google Cloud
  • Packer provisioners
  • Packer postprocessor