Get in Touch

Course Outline

Introduction to Infrastructure as Code

  • Objective: Grasp the necessity of IaC.
  • Definition and purpose of IaC.
  • Comparison of traditional infrastructure with IaC.
  • Overview of prominent IaC tools.

Introduction to Terraform

  • Objective: Explore Terraform's position within the IaC ecosystem.
  • What is Terraform?
  • Terraform's core components: Providers, Resources, and State.
  • Terraform compared to other IaC tools.

Installing and Setting Up Terraform

  • Objective: Install Terraform and configure a basic environment.
  • Installation procedures across various platforms.
  • Configuring the Terraform CLI.
  • Introduction to HashiCorp Configuration Language (HCL).

First Terraform Project: Provisioning a Simple Resource

  • Objective: Create and deploy a fundamental resource on a cloud provider.
  • Introduction to Terraform commands (init, plan, apply, destroy).
  • Provisioning an AWS EC2 instance or its equivalent on an alternative cloud provider.
  • Understanding providers and provider blocks.

Understanding Variables and Outputs

  • Objective: Utilize variables and outputs to create dynamic configurations.
  • Defining variables in HCL.
  • Employing variable files for different environments.
  • Configuring outputs to retrieve useful information.

Managing Terraform State

  • Objective: Learn how Terraform manages state and the importance of this process.
  • What is Terraform state?
  • State storage options (local versus remote backends).
  • Secure management of state files.

Data Sources and Dependencies

  • Objective: Understand how Terraform data sources facilitate the retrieval of existing resources.
  • Utilizing data sources to reference existing resources.
  • Establishing dependencies between resources.

Terraform Workspaces and Environments

  • Objective: Manage multiple environments within a single 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.
  • Decomposing code into modules for reusability.
  • Input variables in modules.

Hands-on Lab: Deploy a Web Server with Terraform

  • Objective: Apply all learned concepts by deploying a simple web server.
  • Provisioning a web server on AWS/GCP/Azure.
  • Using variables and outputs for environment-specific configurations.
  • Managing 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 - Please indicate your preferred platform when making your booking.

 21 Hours

Number of participants


Price per participant

Testimonials (7)

Upcoming Courses

Related Categories