What you'll learn:
- 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
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 IAM, S3, and DynamoDB. 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
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.
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.
Finally, we will learn about provisioners in terraform – what they are, the different types, behaviors, and considerations to follow when working with provisioners.
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.
We will then learn about functions and continual expressions in Terraform and how to test them using the Terraform console.
Next, we will then learn about workspaces in terraform – what they are, how to create them and when to use them.
We will wrap up the course with an introduction and high-level overview of the features offered by Terraform Cloud.