We may earn an affiliate commission when you visit our partners.
Course image
Mumshad Mannambeth, KodeKloud Training, and Vijin Palazhi

Where To Start With Terraform Basics

Read more

Where To Start With Terraform Basics

In this course, we will get started with the Terraform basics, but first, we will take a look at infrastructure as a code or IaC, the different types of tools available in IaC, and their purpose in managing modern IT infrastructure. We’ll then see the role of Terraform in today’s IT Infrastructure. We’ll then learn how to install Terraform. This is followed by the basics of Hashicorp Configuration Language (HCL). Next, we have our first lab, where you’ll get your hands dirty with HCL syntax. We will then learn the basics of Terraform, such as Providers, Input and Output variables, Resource Attributes, and Dependencies.

What Is Terraform?

After this, we take a look at the state in Terraform – what it is, why it is used, and considerations to follow when working with the state. We then dig deeper into the fundamentals– starting with the different commands provided by Terraform. This is followed by a lecture where we understand the difference between Mutable and Immutable infrastructure. This is followed by lifecycle rules in Terraform where we will learn how to manage the ways in which resources are created. This is followed by other basic topics such as data sources, meta arguments such as count and for each, and finally understanding of the version constraints in Terraform.

Terraform and AWS

After this, we have a dedicated section on AWS. This section begins with optional lectures and demos where we learn the basics of AWS. – such as setting up an AWS Account and learning about some of the basic AWS services such as We will then see how to provision and manage these services using Terraform. Each of these topics, including the ones for AWS, is followed by hands-on labs where we get to practice the concepts on real infrastructure.

Steps In Learning Terraform

  1. We will then learn Terraform concepts such as remote state and state locking with Terraform and then see how to store state in a remote s3 backend.

  2. Next, we will see how to use terraform state commands to manipulate the state file. We then have a few lectures and demos where we get introduced to EC2 service and learn how to provision it using terraform.

  3. Finally, we will learn about provisioners in terraform – what they are, the different types, behaviors, and considerations to follow when working with provisioners.

  4. We then look at resource taints, learn how to enable debugging, and then import other resources in the management of Terraform, Terraform modules – what they are, how to create them, and also how to make use of modules available in the public Terraform registry.

  5. We will then learn about functions and continual expressions in Terraform and how to test them using the Terraform console.

  6. Next, we will then learn about workspaces in terraform – what they are, how to create them and when to use them.

  7. We will wrap up the course with an introduction and high-level overview of the features offered by Terraform Cloud.

Enroll now

What's inside

Learning objectives

  • Gain a good understanding of infrastructure as code
  • Gain confidence working with the hcl format
  • Gain hands-on experience working with terraform
  • Learn to provision aws infrastructure with terraform

Syllabus

Introduction
Course Introduction

Download the PDF

Join Our Community
Read more
Introduction to Infrastructure as Code
Challenges with Traditional IT Infrastructure
Types of IAC Tools
Why Terraform?
Getting Started with Terraform
Installing Terraform
HashiCorp Configuraton Language (HCL) Basics
Update and Destroy Infrastructure
Demo: Accessing Labs
Course setup - accessing the labs
Lab: HCL Basics
Terraform Basics
Using Terraform Providers
Configuration Directory
Lab: Terraform Providers
Multiple Providers
Lab: Multiple Providers
Using Input Variables
Understanding the Variable Block
Lab: Variables
Using Variables in Terraform
Lab: Using Variables in terraform
Resource Attributes
Lab: Resource Attributes
Resource Dependencies
Lab: Resource Dependencies
Output Variables
Lab: Output Variables
Terraform State
Introduction to Terraform State
Purpose of State
Lab: Terraform State
Terraform State Considerations
Working with Terraform
Terraform Commands
Lab: Terraform Commands
Mutable vs Immutable Infrastructure
LifeCycle Rules
Lab: Lifecycle Rules
Datasources
Lab: Datasources
Meta-Arguments
Count
for-each
Lab: Count and for each
Version Constraints
Lab: Version Constraints
Terraform with AWS
Getting Started with AWS
Demo Setup an AWS Account
Introduction to IAM
Demo IAM
Programmatic Access
Lab: AWS CLI and IAM
AWS IAM with Terraform
IAM Policies with Terraform
Lab: IAM with Terraform
Introduction to AWS S3
S3 with Terraform
Lab: S3
Introduction to DynamoDB
Demo Dynamodb
DynamoDB with Terraform
Lab: DynamoDB
Remote State
What is Remote State and State Locking?
Remote Backends with S3
Lab: Remote State
Terraform State Commands
Lab: Terraform State Commands
Terraform Provisioners
Introduction to AWS EC2 (optional)
Demo: Deploying an EC2 Instance (optional)
AWS EC2 with Terraform
Provisioner Behaviour
Lab: AWS EC2 and Provisioners
Considerations with Provisioners
Terraform Import, Tainting Resources and Deubugging
Terraform Taint
Debugging
Lab: Taint and Debugging
Terraform Import
Lab: Terraform Import
Terraform Modules
What are modules?
Creating and Using a Module
Using Modules from the Registry
Lab: Terraform Modules
Terraform Functions and Conditional Expressions
More Terraform Functions
Conditional Expressions
Lab: Functions and Conditional Expressions
Terraform Workspaces (OSS)
Lab: terraform Workspaces

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops confidence working with the HCL format, a core skill for managing modern IT infrastructure
Develops knowledge in Infrastructure as Code, a vital concept for managing modern IT infrastructure
Explores HashiCorp Configuration Language (HCL) basics, a standard in IT infrastructure
Taught by instructors Mumshad Mannambeth, KodeKloud Training, and Vijin Palazhi, who are recognized for Infrastructure as Code expertise
Provides hands-on experience with Terraform, an essential tool in managing IT infrastructure

Save this course

Save Terraform for the Absolute Beginners with Labs to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Terraform for the Absolute Beginners with Labs with these activities:
Read DevOps Handbook
Review DevOps principles and best practices to enhance your understanding of Terraform in a DevOps context.
Show steps
  • Read Chapters 1-4 to understand the fundamentals of DevOps.
  • Read Chapters 5-8 to learn about continuous delivery and continuous deployment.
  • Read Chapters 9-12 to explore advanced DevOps practices and case studies.
Follow Terraform Tutorials on HashiCorp Learn
Reinforce your understanding of Terraform concepts by following official tutorials and hands-on exercises.
Browse courses on Terraform
Show steps
  • Visit HashiCorp Learn and select the Terraform Tutorials section.
  • Complete the Terraform 101 tutorial to grasp the basics.
  • Explore other tutorials relevant to your specific interests or project requirements.
Practice Terraform Syntax and Commands
Sharpen your Terraform syntax and command proficiency through repetitive practice.
Show steps
  • Create a sample infrastructure definition using Terraform.
  • Practice using Terraform commands to manage and provision resources.
  • Troubleshoot common errors and issues encountered during Terraform operations.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Build a Terraform Infrastructure for a Simple Website
Apply your Terraform skills to create a functional infrastructure for a website, solidifying your understanding of real-world applications.
Show steps
  • Define the infrastructure requirements for a simple website.
  • Write Terraform code to provision the necessary resources (e.g., EC2 instance, S3 bucket).
  • Test and deploy the infrastructure using Terraform.
Participate in a Terraform Hackathon
Join a hackathon or competition to challenge yourself, collaborate with others, and push your Terraform skills to the next level.
Show steps
  • Identify and register for a suitable Terraform hackathon or competition.
  • Form a team or collaborate with other participants.
  • Develop and implement a Terraform solution to address the hackathon's challenges.
Mentor Newcomers to Terraform
Reinforce your own understanding by assisting and sharing your knowledge with others who are new to Terraform.
Show steps
  • Join online communities or forums dedicated to Terraform.
  • Identify opportunities to answer questions or provide guidance to beginners.
Compile a Terraform Resource Cheat Sheet
Enhance your Terraform fluency by creating a comprehensive cheat sheet of commonly used resources, syntax, and best practices.
Show steps
  • Research and gather information about various Terraform resources.
  • Organize and document the information in a clear and concise format.

Career center

Learners who complete Terraform for the Absolute Beginners with Labs will develop knowledge and skills that may be useful to these careers:

Reading list

We haven't picked any books for this reading list yet.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Terraform for the Absolute Beginners with Labs.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser