Course Outline
Introduction to Infrastructure as Code
- Objective: Understand the need for IaC.
- Definition and purpose of IaC
- Traditional infrastructure vs. IaC
- Overview of popular IaC tools
Introduction to Terraform
- Objective: Learn Terraform’s role in the IaC ecosystem.
- What is Terraform?
- Terraform's core components: Providers, Resources, State.
- Terraform vs. other IaC tools.
Installing and Setting Up Terraform
- Objective: Install Terraform and set up a basic environment.
- Installation on various platforms.
- Setting up Terraform CLI.
- Introduction to HashiCorp Configuration Language (HCL).
First Terraform Project: Provisioning a Simple Resource
- Objective: Create and deploy a basic resource on a cloud provider.
- Introduction to Terraform commands (init, plan, apply, destroy).
- Provisioning an AWS EC2 instance or equivalent on another cloud provider.
- Understanding providers and provider blocks.
Understanding Variables and Outputs
- Objective: Use variables and outputs to make configurations dynamic.
- Defining variables in HCL.
- Using variable files for different environments.
- Setting outputs to retrieve useful information.
Managing Terraform State
- Objective: Learn how Terraform manages state and why it matters.
- What is Terraform state?
- State storage (local vs. remote backends).
- Managing state files securely.
Data Sources and Dependencies
- Objective: Understand how Terraform data sources can be used to fetch existing resources.
- Using data sources to reference existing resources.
- Establishing dependencies between resources.
Terraform Workspaces and Environments
- Objective: Manage multiple environments within the same configuration.
- What are workspaces?
- Managing development, staging, and production environments using workspaces.
Structuring Terraform Code
- Objective: Write clean, reusable, and modular Terraform code.
- Best practices for organizing Terraform files.
- Breaking code into modules for reusability.
- Input variables in modules.
Hands-on Lab: Deploy a Web Server with Terraform
- Objective: Apply everything learned by deploying a simple web server.
- Provision a web server on AWS/GCP/Azure.
- Use variables and outputs for environment-specific configurations.
- Manage the infrastructure state and dependencies.
Course Wrap-Up and Q&A
- Objective: Review key concepts and answer questions.
- Summary of Terraform basics.
- Live Q&A session.
- Resources for continued learning.
Requirements
Cloud Account - When booking, please specify which platform you prefer.
Testimonials (3)
When trainer mentioned some useful commands at the end of training :)
Eva
Course - Terraform Fundamentals LP
The trainer and the subject matter as well, Vincenzo is very knowledgeable.
Iulian-Alexandru Baltaretu
Course - Terraform Fundamentals LP
The trainer spoke freely and was extremely friendly and extremely knowledgeble