Description
In this course, we will get started with Terraform, but first, we will take a look at Infrastructure as a code Or IaC and 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.
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 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 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 a real infrastructure.
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 EC2 service and learn how to provision it using Terraform. Finally, we will learn about provisioners in terraform - what they are, the different types, 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 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. 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.