Course Outline
Introduction
- What distinguishes Terraform from Chef, Puppet, Ansible, or Salt?
- Why choose Terraform over Google Deployment Manager?
Terraform Features and Architecture Overview
- Infrastructure as Code, execution plans, resource graphs, and change automation
Terraform Workflow
- Write, Preview, Create, Reproduce, and Destroy
Getting Started
- Preparing a GCP account for Terraform integration
- Initializing Terraform and building a virtual machine (compute engine instance)
Building an Application
- Initiating a project on GCP
- Setting up a sample web application
Preparing an Execution Plan
- Authoring new plans, saving, and managing .tf files
Handling Configuration Files
- Syntax overview
- Writing, version controlling, and updating configurations
Defining Resource Dependencies
- Leveraging the Terraform Resource Graph
- Distinguishing between infrastructure and application dependencies
Deploying Infrastructure
- Previewing configuration changes
- Executing planned changes
Managing State
- Configuring Google Cloud Storage for data persistence
- Setting up Remote State
Networking
- Configuring firewalls
- Managing subnets
Reproducing Infrastructure
- Setting up environments for applications: dev, test/qa, stage, and prod
Packaging Configuration Files as Modules
- Reducing code duplication with shareable modules
- Using the Module Registry to create reusable templates
Integrating Terraform into Deployment Pipelines
- Building, deploying, and testing applications
- Importing existing external resources into Terraform
Terraform Performance Optimization
- Infrastructure monitoring and performance metrics
Troubleshooting
Summary and Conclusion
Requirements
- Proficiency in using a command-line interface
- A solid grasp of cloud infrastructure concepts
Target 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