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
No prior experience
Access to labs will be provided, so no extra hardware is required
AWS basics are covered in the course
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 the 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 state in terraform – what it is, why it is used and considerations to follow when working with state. We then dig deeper in to 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 datasources, 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 some of the basic AWS services such as IAM, S3, DynamoDB. We will then see how to provision and manage these services using Terraform. Each of these topics, including the ones for AWS are 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, behaviour 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.
Who this course is for:
- Systems Administrators
- DevOps Engineers
- Anyone who wants to excel in their DevOps or Cloud Journey
- Get started with Infrastructure as Code
About the instructor
Mumshad is an IT Solutions Architect and specializes in Cloud Native Computing, Automation and DevOps. He is the founder of KodeKloud – a hands-on learning platform and a Certified Kubernetes Training Partner. He is passionate about learning new technology and teaching. He believes the best way to learn is to learn by doing and in a fun way. Mumshad has authored multiple courses on DevOps, Cloud and Automation technologies. His courses focus on providing students with an interactive and hands-on experience in learning new technology that makes learning really interesting.