WEBVTT

00:00.180 --> 00:03.650
-In this section, we will
learn how to install Terraform.

00:05.370 --> 00:09.610
Terraform can be downloaded as
a single binary or an executable

00:09.630 --> 00:15.290
file from the Terraform download
section in www.terraform.io.

00:16.230 --> 00:20.140
Installing Terraform is as simple
as downloading this file and

00:20.140 --> 00:22.030
copying it to the system path.

00:22.870 --> 00:26.140
Once installed, we can check
the version by running the

00:26.140 --> 00:28.380
command Terraform version.

00:29.500 --> 00:34.460
The latest version of Terraform
as of this recording is 0.13

00:34.930 --> 00:38.080
and we'll be making use of this
version throughout the course.

00:39.490 --> 00:43.520
Terraform is supported on
Windows, Mac and several other

00:43.520 --> 00:45.000
Linux-based distributions.

00:46.240 --> 00:49.790
Please note that all the examples
and labs used in this course

00:50.000 --> 00:53.440
will make use of Terraform
running on a Linux machine and

00:53.440 --> 00:56.270
specifically the version 0.13.

00:57.320 --> 00:57.970
That's it.

00:57.980 --> 01:00.790
We can now start deploying
resources using Terraform.

01:01.970 --> 01:05.870
As stated earlier, Terraform
uses configuration files which

01:05.870 --> 01:08.930
are written in HCL to deploy
infrastructure resources.

01:10.020 --> 01:15.000
These files have a .tf extension
and can be created using any text

01:15.000 --> 01:20.340
editor such as Notepad or Notepad++
for Windows or command line text

01:20.340 --> 01:26.010
editors such as Vim or eMac in Linux
or it could be any ID of your choice.

01:28.100 --> 01:29.300
What is a resource?

01:29.870 --> 01:32.530
A resource is an object
data for managers.

01:33.010 --> 01:37.310
It could be a file on a local host
or it could be a virtual machine on

01:37.310 --> 01:39.390
the cloud such as an EC2 instance.

01:39.860 --> 01:46.610
It could be services like S3 buckets,
ECS, DynamoDB tables, IM users or IM

01:46.610 --> 01:49.180
groups, rules, policies, et cetera.

01:50.240 --> 01:53.650
Or it could be resources on
major cloud providers such as

01:53.660 --> 01:58.770
the Compute an App Engine from
GCP, databases on Azure, Azure

01:58.770 --> 02:00.350
Active Directory, et cetera.

02:01.740 --> 02:04.400
There are literally hundreds
of resources that can be

02:04.400 --> 02:07.250
provisioned across most of
the cloud and on-premise

02:07.250 --> 02:08.940
infrastructure using Terraform.

02:11.230 --> 02:14.450
We will look into some of these
examples later in this course,

02:14.720 --> 02:18.850
but for the first few sections,
we will stick to two very easy to

02:18.870 --> 02:24.090
understand resources, the local file
type of resource and a special kind

02:24.090 --> 02:26.010
of resource called a random pit.

02:26.740 --> 02:30.390
It is important to use a simple
resource type to really understand

02:30.390 --> 02:34.060
the basics of Terraform such
as the lifecycle of resources,

02:34.300 --> 02:36.340
the HCL format, et cetera.

02:37.000 --> 02:41.090
Once we gain a good understanding
of the basics, we can easily apply

02:41.100 --> 02:45.180
that knowledge to other real-life
use cases and we will see that

02:45.200 --> 02:47.570
in later sections of this course.

