Course Outline
Introduction
- How is Terraform different from Chef, Puppet, Ansible or Salt?
- Why not use Google Deployment Manager?
Overview of Terraform Features and Architecture
- Infrastructure as Code, execution plans, resource graphs, change automation
Terraform Workflow
- Write, Preview, Create, Reproduce, Destroy
Getting Started
- Preparing a GCP account to use with Terraform
- Initializing Terraform and building a virtual machine (compute engine instance)
Creating an Application
- Starting a project on GCP
- Initializing a sample web app
Preparing an Execution Plan
- Writing a new plan, saving, and removing .tf files
Working with Configuration Files
- Syntax overview
- Writing, version controlling, and updating
Setting Resource Dependencies
- Using the Terraform Resource Graph
- Infrastructure vs application dependencies
Deploying Infrastructure
- Previewing configuration changes
- Executing changes
Managing State
- Setting up Google Cloud Storage for persistence
- Setting up Remote State
Networking
- Setting up a firewall
- Managing subnets
Reproducing Infrastructure
- Setting up environments for an app: dev, test/qa, stage, and prod
Packaging Configuration Files as Modules
- Duplicating code with shareable modules
- Using the Module Registry to build reusable templates
Integrating Terraform into a Deployment Pipeline
- Building, deploying, and testing an application
- Importing existing external resources into Terraform
Terraform Performance Tuning
- Infrastructure monitoring and performance metrics
Troubleshooting
Summary and Conclusion
Requirements
- Experience working with a command line
- An understanding of cloud infrastructure concepts
Audience
- Cloud architects
- System administrators
- DevOps engineers
Testimonials (2)
Trainer's depth of knowledge on Terraform, his enthusiasm on good ways of coding and principles and his patience.
Douglas Hanna - Mailchimp
Course - Terraform on GCP (Google Cloud Platform)
The Pomodoro Technique, the size which made engagement easy and not taking too much time because there are too many people in the class.