Course Outline
Introduction
- Distinguishing Terraform from Chef, Puppet, Ansible, or Salt.
- Reasons for preferring Terraform over the Google Deployment Manager.
Terraform Features and Architecture Overview
- Exploring Infrastructure as Code, execution plans, resource graphs, and change automation.
Terraform Workflow
- The cycle of Writing, Previewing, Creating, Reproducing, and Destroying resources.
Getting Started
- Configuring a GCP account for Terraform integration.
- Initializing Terraform and provisioning a virtual machine (Compute Engine instance).
Application Creation
- Initiating a new project on GCP.
- Setting up a sample web application.
Execution Plan Preparation
- Drafting, saving, and removing plan definitions in .tf files.
Configuration File Management
- Understanding HCL syntax.
- Creating, version controlling, and updating configuration files.
Resource Dependencies
- Leveraging the Terraform Resource Graph.
- Distinguishing between infrastructure and application dependencies.
Infrastructure Deployment
- Reviewing proposed configuration changes.
- Executing infrastructure modifications.
State Management
- Configuring Google Cloud Storage for state persistence.
- Implementing Remote State management.
Networking
- Establishing firewall rules.
- Managing subnet configurations.
Infrastructure Reproduction
- Establishing isolated environments for application stages: dev, test/qa, stage, and prod.
Module Packaging
- Reducing code duplication through shareable modules.
- Utilizing the Module Registry to create reusable templates.
Pipeline Integration
- Building, deploying, and testing applications within a deployment pipeline.
- Importing existing external resources into Terraform management.
Performance Tuning
- Monitoring infrastructure and analyzing performance metrics.
Troubleshooting
Summary and Conclusion
Requirements
- Proficiency in using the command line interface.
- Fundamental understanding of cloud infrastructure concepts.
Audience
- Cloud Architects
- System Administrators
- DevOps Engineers
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