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 (3)

Upcoming Courses

Related Categories