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