Course Outline
Introduction
- How does Terraform differ from Chef, Puppet, Ansible, and SaltStack?
- Why is Google Deployment Manager not the optimal choice?
Overview of Terraform Features and Architecture
- Infrastructure as Code, execution planning, resource dependency graphs, and automated change management
Terraform Workflow
- Configuration authoring, previewing changes, resource creation, reproducibility, and resource destruction
Getting Started
- Preparing a GCP account for use with Terraform
- Initializing Terraform and provisioning a compute engine instance (virtual machine)
Creating an Application
- Initiating a new project in GCP
- Setting up a sample web application
Preparing an Execution Plan
- Authoring a new plan, saving configurations, and removing .tf files
Working with Configuration Files
- Syntax overview
- Authoring, version controlling, and updating configurations
Setting Resource Dependencies
- Utilizing the Terraform Resource Graph
- Distinguishing between infrastructure and application dependencies
Deploying Infrastructure
- Previewing configuration changes
- Executing changes
Managing State
- Configuring Google Cloud Storage for persistence
- Setting up Remote State
Networking
- Configuring firewall rules
- Managing subnets
Reproducing Infrastructure
- Establishing environments for an application: dev, test/qa, stage, and prod
Packaging Configuration Files as Modules
- Reducing code duplication 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 for government IT tasks
- An understanding of cloud infrastructure concepts
Audience
- Cloud architects for government agencies
- System administrators
- DevOps engineers supporting government systems
Testimonials (3)
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.
Chris Carlino - Mailchimp
Course - Terraform on GCP (Google Cloud Platform)
Intractive sessions