Course Outline
Introduction
- Distinguishing Terraform from Chef, Puppet, Ansible, or Salt.
- Evaluating alternatives, such as why not use Google Deployment Manager.
Terraform Features and Architecture Overview
- Core concepts: Infrastructure as Code, execution plans, resource graphs, and change automation.
The Terraform Workflow
- Key stages: Write, Preview, Create, Reproduce, and Destroy.
Getting Started
- Preparing a GCP account for use with Terraform.
- Initializing Terraform and provisioning a virtual machine (compute engine instance).
Creating an Application
- Initiating a project on GCP.
- Setting up a sample web application.
Preparing an Execution Plan
- Authoring, saving, and managing .tf files for new plans.
Working with Configuration Files
- Overview of syntax conventions.
- Processes for writing, version controlling, and updating configurations.
Setting Resource Dependencies
- Leveraging the Terraform Resource Graph.
- Differentiating between infrastructure and application dependencies.
Deploying Infrastructure
- Previewing configuration changes.
- Executing planned changes.
Managing State
- Configuring Google Cloud Storage for persistence.
- Setting up Remote State management.
Networking
- Configuring firewall rules.
- Managing subnet structures.
Reproducing Infrastructure
- Setting up distinct environments for an application: dev, test/QA, staging, and production.
Packaging Configuration Files as Modules
- Avoiding code duplication through shareable modules.
- Utilizing the Module Registry to create reusable templates.
Integrating Terraform into a Deployment Pipeline
- Building, deploying, and testing applications.
- Importing existing external resources into Terraform management.
Terraform Performance Tuning
- Monitoring infrastructure and tracking performance metrics.
Troubleshooting
Summary and Conclusion
Requirements
- Familiarity with command-line operations
- A solid understanding 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