WEBVTT

00:10.240 --> 00:13.570
-Hello, and welcome to this
course on Terraform for Beginners.

00:14.120 --> 00:18.350
My name is Vijin Palazhi, and I will
be your instructor for this course.

00:20.200 --> 00:23.990
In this course, we will get started
with Terraform, but first we will

00:24.020 --> 00:28.030
take a look at Infrastructure as
Code, or IaC, and the different

00:28.040 --> 00:32.140
types of tools available in IaC
and their purpose in managing

00:32.140 --> 00:33.810
the modern IT infrastructure.

00:35.130 --> 00:37.160
We will then see the
role of Terraform in

00:37.160 --> 00:38.640
today's IT infrastructure.

00:39.760 --> 00:42.140
Then, we will learn how
to install Terraform.

00:42.690 --> 00:46.160
This is followed by the basics of
HashiCorp Configuration Language.

00:47.490 --> 00:50.940
Next, we have our very first lab,
where you'll get your hands dirty

00:50.940 --> 00:52.770
working with the HCL syntax.

00:53.950 --> 00:57.220
Next, we will understand the basics
of Terraform, such as Providers,

00:57.230 --> 01:00.890
Input and Output Variables, Resource
Attributes, and Dependencies.

01:02.860 --> 01:07.050
After this, we will take a look at
state in Terraform – what it is, why

01:07.050 --> 01:10.530
it is used and the considerations
to follow when working with state.

01:11.710 --> 01:15.030
We then dig deeper into the
fundamentals, starting with different

01:15.040 --> 01:16.560
commands provided by Terraform.

01:17.630 --> 01:20.650
This is followed by a lecture where
we understand the difference between

01:20.650 --> 01:22.680
Mutable and Immutable infrastructure.

01:23.880 --> 01:27.130
Next, we'll take a look at lifecycle
rules in Terraform, where we

01:27.130 --> 01:30.630
will learn how to manage the ways
in which resources are created.

01:31.910 --> 01:35.480
After this, we have lectures on
basic topics such as data sources,

01:35.680 --> 01:39.290
meta-arguments, such as count and
for_each, and finally understand

01:39.300 --> 01:40.820
version constraints in Terraform.

01:42.280 --> 01:45.590
After this, we have a
dedicated section on AWS.

01:46.240 --> 01:49.650
This section begins with optional
lectures and demos where we learn

01:49.650 --> 01:55.020
the basics of AWS, such as setting
up an AWS account and learning

01:55.050 --> 02:00.020
about the basic AWS services
such as IAM, S3, and DynamoDB.

02:01.280 --> 02:04.760
We will then see how to provision
and manage these using Terrform.

02:05.780 --> 02:10.190
Each of these topics, including the
ones for AWS are followed by hands-on

02:10.190 --> 02:13.150
labs where we get to practice the
concepts that we have learned.

02:14.420 --> 02:17.740
We will then learn concepts such
as remote state and state locking

02:17.740 --> 02:21.920
with Terraform and then see how to
store state in a remote S3 backend.

02:23.200 --> 02:25.790
Next, we will see how to use
Terraform state commands to

02:25.790 --> 02:27.100
manipulate the state file.

02:28.230 --> 02:31.500
We then have a few lectures and
demos where we get introduced to

02:31.500 --> 02:35.580
the EC2 service and then learn how
to provision it using Terraform.

02:37.080 --> 02:39.270
Following this, we will
learn about provisioners in

02:39.270 --> 02:42.580
Terraform – what they are, the
different types, the behavior,

02:42.620 --> 02:45.350
and considerations to follow
when working with provisioners.

02:46.680 --> 02:50.130
We then look at resource taints,
learn how to enable debugging,

02:50.380 --> 02:53.760
and then import other resources
into the management of Terraform.

02:55.320 --> 02:58.910
Next, we will learn about Terraform
modules – what they are, how to

02:58.920 --> 03:02.220
create them, and how to make use
of the modules which are available

03:02.220 --> 03:03.840
in the public Terraform registry.

03:04.700 --> 03:07.670
After this, we have a few lectures
where we learn about functions

03:07.670 --> 03:10.730
and conditional expressions in
Terraform and how to test them

03:10.740 --> 03:12.180
using the Terraform console.

03:13.280 --> 03:17.090
We will then learn about workspaces
in Terraform – what they are, how to

03:17.100 --> 03:18.720
create them, and when to use them.

03:19.890 --> 03:23.110
We will then wrap up this course
with an introduction and high-level

03:23.120 --> 03:26.310
overview of the features that
are provided by Terraform cloud.

03:27.490 --> 03:30.670
In this course we have video
lectures that simplify complex

03:30.670 --> 03:32.270
concepts using animations.

03:33.690 --> 03:37.230
In the AWS section of this course,
we have demonstration videos that

03:37.230 --> 03:41.200
are intended to help you get started
with AWS and make use of services

03:41.220 --> 03:45.950
such as IAM, DynamoDB, and EC2
with the AWS management console.

03:47.170 --> 03:50.070
We have hands-on labs where
you will get to provision

03:50.090 --> 03:52.530
and manage infrastructure
resources using Terraform.

03:53.210 --> 03:56.850
You don't need to set up your own
labs or create any cloud accounts.

03:57.850 --> 04:01.400
Our labs are embedded in the course
and open right in your browser.

04:02.360 --> 04:05.530
To optimize the user experience,
we have integrated Visual

04:05.540 --> 04:06.930
Studio Code with the labs.

04:07.450 --> 04:10.700
This will allow you to make use of
the built-in Terraform extensions

04:10.700 --> 04:13.910
to write configuration files
easily and then run the commands

04:13.920 --> 04:15.400
from the integrated terminal.

04:16.430 --> 04:19.240
You would also be developing
configuration files that will

04:19.250 --> 04:21.170
work with the AWS infrastructure.

04:22.730 --> 04:25.440
Well, I am very excited
to begin this journey with

04:25.440 --> 04:27.290
you, so let's get started.

