Overview
This hands-on 2-day training provides a deep dive into Terraform, covering infrastructure as code (IaC) fundamentals, automation techniques, and best practices. You will learn how to use Terraform to define, provision, and manage infrastructure across different cloud providers. The course includes hands-on labs with AWS, Docker, and other providers.
Day 1 – Terraform Fundamentals
Module 1: Terraform Architecture
- What is Terraform?
- Declarative vs. imperative infrastructure management
- How Terraform works: Providers, state, and execution plans
- Terraform vs. other IaC tools (CloudFormation, Ansible, Pulumi)
Module 2: Terraform Installation & Lab Setup
- Installing Terraform on different platforms
- Setting up a development environment
- Configuring Terraform CLI and provider authentication
- Hands-on: Lab setup with Terraform and AWS CLI
Module 3: Quick Start with Terraform
- Writing your first Terraform configuration
- Initializing, planning, applying, and destroying resources
- Understanding
terraform.tfstate
and state management
- Hands-on: Deploying a simple infrastructure on AWS
Module 4: Introduction to AWS
- Overview of AWS services relevant to Terraform
- Setting up AWS credentials and provider configuration
- Hands-on: Deploying an EC2 instance with Terraform
Day 2 – Advanced Terraform & Multi-Cloud Management
Module 5: Variables in Terraform
- Declaring and using input variables
- Variable types and default values
- Sensitive variables and environment overrides
- Hands-on: Using variables to parameterize configurations
Module 6: Outputs in Terraform
- Defining and using output values
- Exporting Terraform outputs for other tools
- Hands-on: Creating meaningful outputs for an AWS deployment
Module 7: Terraform Modules
- Why use modules?
- Creating reusable modules
- Using public modules from the Terraform Registry
- Hands-on: Refactoring an existing configuration with modules
Module 8: Advanced Terraform (Optional)
- Resource dependencies (
depends_on
)
- Local values for better organization
- Data sources for referencing external information
- Count and for_each for dynamic resource creation
- Dynamic blocks for flexible configurations
- Hands-on: Using advanced Terraform features in real-world scenarios
Module 9: Provisioning Resources
- Understanding Terraform provisioning
- Bootstrapping infrastructure with Ansible
- Hands-on: Automating instance configuration with Terraform & Ansible
Module 10: Hands-on Exercise – Docker & Terraform
- Using Terraform to provision Docker containers
- Hands-on: Deploying a containerized application with Terraform
Module 11: Examples for Other Providers
- Managing VMware infrastructure with Terraform
- Working with Terraform and Azure
Hands-on Labs & Final Project
- Lab 1: Writing and applying a basic Terraform configuration
- Lab 2: Using variables and outputs for dynamic configurations
- Lab 3: Creating and using Terraform modules
- Lab 4: Bootstrapping infrastructure with Ansible
Who is this training for?
- DevOps engineers and system administrators
- Cloud engineers managing infrastructure at scale
- Developers looking to automate infrastructure provisioning
Prerequisites
- Basic knowledge of cloud computing (AWS, Azure, or VMware)
- Familiarity with Linux command line
- Some experience with YAML or JSON (helpful but not required)
Outcomes
By the end of this training, you will:
✅ Understand Terraform’s core architecture and workflow
✅ Use Terraform to automate AWS, Azure, and VMware infrastructure
✅ Follow best practices for state management and modular design
✅ Apply advanced Terraform techniques for scalable configurations
✅ Gain hands-on experience with real-world infrastructure automation
Price
2 pax: 2000 €, 3 pax: 2420 €, 4 pax: 2800, €, 5 pax: 3140, €, 6 pax: 3440, €, 7 pax: 3690,€, 8 pax: 3900 €.
Delivery languages
English or French
Technical environment
- AWS environment for labs (access details provided before the course).
- Recommended: Laptop with SSH client and modern browser installed.