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.
Testimonials (7)
The pace was extremely good, you can follow the trainer along.
Mihaela Stefan
Course - Terraform : Fundamentals
Environment and explanation
Eduard-Costin Dumistracel
Course - Terraform : Fundamentals
The content of the course and the way we applied in labs
Ghenta Sorin
Course - Terraform : Fundamentals
That the trainer had patience
Bogdan Olaru
Course - Terraform : Fundamentals
The hands-on exercises.
Sprinceana Ana
Course - Terraform : Fundamentals
I liked the most how Vincenzo solved our issues, quickly and detailed. He was very calm and explained again and again important points.
Victorita
Course - Terraform : Fundamentals
The trainer had a great attitude throughout, made it really easy to ask for help/clarifications/anything