-Hello, and welcome to this course on Terraform for Beginners.
My name is Vijin Palazhi, and I will be your instructor for this course.
In this course, we will get started with Terraform, but first we will
take a look at Infrastructure as Code, or IaC, and the different
types of tools available in IaC and their purpose in managing
the modern IT infrastructure.
We will then see the role of Terraform in
today's IT infrastructure.
Then, we will learn how to install Terraform.
This is followed by the basics of HashiCorp Configuration Language.
Next, we have our very first lab, where you'll get your hands dirty
working with the HCL syntax.
Next, we will understand the basics of Terraform, such as Providers,
Input and Output Variables, Resource Attributes, and Dependencies.
After this, we will take a look at state in Terraform – what it is, why
it is used and the considerations to follow when working with state.
We then dig deeper into the fundamentals, starting with different
commands provided by Terraform.
This is followed by a lecture where we understand the difference between
Mutable and Immutable infrastructure.
Next, we'll take a look at lifecycle rules in Terraform, where we
will learn how to manage the ways in which resources are created.
After this, we have lectures on basic topics such as data sources,
meta-arguments, such as count and for_each, and finally understand
version constraints in Terraform.
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 the basic AWS services such as IAM, S3, and DynamoDB.
We will then see how to provision and manage these using Terrform.
Each of these topics, including the ones for AWS are followed by hands-on
labs where we get to practice the concepts that we have learned.
We will then learn concepts such as remote state and state locking
with Terraform and then see how to store state in a remote S3 backend.
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
the EC2 service and then learn how to provision it using Terraform.
Following this, we will learn about provisioners in
Terraform – what they are, the different types, the behavior,
and considerations to follow when working with provisioners.
We then look at resource taints, learn how to enable debugging,
and then import other resources into the management of Terraform.
Next, we will learn about Terraform modules – what they are, how to
create them, and how to make use of the modules which are available
in the public Terraform registry.
After this, we have a few lectures where we learn about functions
and conditional expressions in Terraform and how to test them
using the Terraform console.
We will then learn about workspaces in Terraform – what they are, how to
create them, and when to use them.
We will then wrap up this course with an introduction and high-level
overview of the features that are provided by Terraform cloud.
In this course we have video lectures that simplify complex
concepts using animations.
In the AWS section of this course, we have demonstration videos that
are intended to help you get started with AWS and make use of services
such as IAM, DynamoDB, and EC2 with the AWS management console.
We have hands-on labs where you will get to provision
and manage infrastructure resources using Terraform.
You don't need to set up your own labs or create any cloud accounts.
Our labs are embedded in the course and open right in your browser.
To optimize the user experience, we have integrated Visual
Studio Code with the labs.
This will allow you to make use of the built-in Terraform extensions
to write configuration files easily and then run the commands
from the integrated terminal.
You would also be developing configuration files that will
work with the AWS infrastructure.
Well, I am very excited to begin this journey with
you, so let's get started.