Terraform-Chef-Docker: Advanced Infrastructure Deployment

Terraform-Chef-Docker: Advanced Infrastructure Deployment


Learn an end-to-end infrastructure deployment process using Terraform to launch infrastructure, Chef to configure that infrastructure and Docker containers to deploy services.  You will also learn a solid introduction to AWS networking so you can confidently know your IGW from your RTA without embarrassing your VPC, as well as how to use the AWS CLI.


This 4-day instructor-led hands-on technical class will give DevOps Engineers, System Operators and Code Developers the ability to deploy infrastructure using Terraform, Chef and Docker

Topics covered:

Environment setup

  • Github or Bitbucket repositories (your choice)
  • Git branching
  • Installing Terraform
  • Installing Chef Workstation
  • Installing AWS CLI


AWS Networking

  • CIDR: Classless Inter-Domain Routing
  • VPCs
  • Subnets
  • Internet Gateways
  • Route Tables
  • Route Table Associations



  • Overview & Purpose
  • Use Cases
  • Cloud credentials
  • Providers
  • Terraform Resources
  • Creating S3 buckets
  • Initializing, Validating and, Applying (implementing) Terraform configurations
  • Destroying cloud resources
  • Using the AWS CLI
  • Terraform state
  • Outputs
  • Credential profiles
  • Remote state storage
  • Creating AWS VPCs
  • Creating subnets
  • Creating Internet gateways
  • Creating route tables
  • Creating route table associations
  • Running additional instructions: remote-exec and local-exec
  • Terraform variables
  • Sharing variables between configurations: Terraform Data
  • Auto-approving configurations
  • Terraform logging
  • Using SSH Public/Private key pairs with VM's
  • Tagging resources
  • Security access: creating AWS Security Groups
  • Terraform modules: reusable code
  • Module variables
  • Module outputs
  • Referencing file locations
  • Launching multiple instances: Count
  • Launching multiple types of instances
    • Webservers and Loadbalancers

Terraform - Chef Integration

  • Creating a Web Server cookbook
  • Chef-specific variables in Terraform
  • Provisioning Chef with Terraform
  • Bootstrapping Chef-nodes from Terraform
  • Automatically deleting nodes and clients from Chef infra Server
  • Creating an HAProxy Load Balancer cookbook
  • Using Chef Attributes

Docker Containerization

  • Docker Overview and Purpose
  • Use cases
  • Docker Hub
  • Port mapping
  • Common Docker workflow
  • Docker basic commands
  • Mounting file systems
  • Mounting volumes
  • Building images
  • Launching Containers

Terraform - Chef - Docker: Full Integration

  • Creating a Web Docker Host
  • Installing Docker on Chef-managed VM's
  • Using the Chef Supermarket Docker cookbook
  • Deploying the Official HAProxy Loadbalancer Docker image
  • Deploying the Official httpd Apache Webserver Docker image
  • Launching loadbalancer and webserver containers with Chef
  • Launching thousands of loadbalanced web containers

Workstation Requirements
For virtual classes, you should have a computer (on which you have root or Administrator access), a microphone, a headset and an external monitor.
For in-person classes, only a Wi-Fi enabled laptop (on which you have root or Administrator access) is needed.
The following operating systems have been tested as workstation systems with the hands on exercises:
Ubuntu 10.04, 12.04
Mac OS X 10.7.3+
Windows 7+
Other platforms and platform versions may work without modification. Due to time constraints we will not be able to troubleshoot issues with unlisted platforms.
Attendees should install the following required software before the workshop starts and verify the required access:
Student Requirements:
  • Comparable experience or successful completion of Chef's beginner CI/CD course: Introduction to Chef and the Jenkins CI/CD Pipeline
  • Familiarity and comfort with the following:
    - Writing code (of just about any flavor) in a text editor
    - Working on the command line
    - Basic system administration – installing packages, configuring those packages, starting a service
    - Using Github with SSH Public and Private Keys- Writing Chef cookbooks and using Chef Policyfiles


4 Days

Upcoming Classes

No classes have been scheduled, but you can always Request a Quote.

Onsite Training

For groups of three or more

Request Quote

Public Training

Customer Comments

Just Great!


I will recommend this class to my organization as one of the more complete solutions to on boarding new Chef users.

- The MITRE Corporation

Class was excellent, and the Instructor was even better! Robin Beck is the best!


Robin Beck provided an excellent training: he was very knowledgeable and held a very comprehensive two day training session!

- Shomi

This was the best course I've ever taken. The instructor was just GREAT!


Even though I've been using Chef for three years, I found this class immensely useful; not only did it allow me to examine and compare my current practices to those presented in the training, but I learned several new techniques for using Chef tools.

- Texas Comptroller of Public Accounts

this is a great class, with great content and mentor

- Softtek

Excellent information presented by an experienced practitioner and an excellent presenter.

- Telmate