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 (5)
I really enjoyed this training from multiple point of views: - the instructor clearly has experience with the taught topic and he lively worked with the trainees to solve the issues occurred in exercises - each of us had sandboxes to work with, I liked the fact that the instructor was able to quickly jump into anyone's screen and workspace to check for errors and see the progress along the way. This is very efficient, as opposed to having separate environments on our own and then share the screen on Teams. - the pace was fine tuned, adapted to our needs continuously, props for that! - each session began with a well-paced recap for the things learned in the past session, which really helped bond the topics to our reflexes, shall I say. All in all, great work and I am looking forward to attend other trainings taught by Vincenzo!
Cosmin
Course - Terraform : Fundamentals
It had a nice structure, i understood gradually everything. The information, the coding same time with trainer and the individual exercises all made sense and worked together. Perfect for Terraform fundamentals.
Andreas Dragoman
Course - Terraform : Fundamentals
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