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.

 21 Hours

Number of participants


Price per participant

Testimonials (7)

Upcoming Courses

Related Categories