The Infrastructure Developer's Guide to Terraform: AWS Edition

OverviewStepsAuthor
DifficultyBeginner
AVG Duration5h
Students179
Ratings
5/5
starstarstarstarstar
Content
1 Labs Created with Sketch. 15

Description

With the increasing complexity of the public cloud, infrastructure as code with software development practices has become the recommended way to manage the cloud. Terraform is an open-source, cloud-agnostic tool that enables Cloud and DevOps Engineers to automate and maintain infrastructure with a powerful machine-friendly but human-readable syntax. This learning path contains a series of hands-on labs that will teach you how to build infrastructure using Terraform. An IDE browser is provided in each lab to write and deploy the Terraform code. Complete the challenge at the end to validate your Terraform skills.

Learning Objectives

The learning path teaches you how to perform the following in Terraform:

  • Deploy and destroy AWS infrastructure using Terraform
  • Use variables to create dynamic Terraform code
  • Creating conditional logic
  • How to create loops to scale infrastructure
  • Securely store Terraform state data
  • Develop modules to create reusable infrastructure code
  • Use Terragrunt to scale and enhance Terraform code
  • Write tests to validate Terraform configurations

Intended Audience

This learning path is intended for Cloud and DevOps Engineers.

Prerequisites

You must have some experience with AWS fundamentals. If you want to familiarize yourself with AWS fundamentals, the following content is recommended before attempting the learning path:

Fundamentals of AWS

Feedback

If you have any feedback or suggestions relating to this learning path, feel free to contact us at support@cloudacademy.com.  

Certificate

Your certificate for this learning path
lock

Learning Path Steps

1labs

In this hands-on infrastructure as code lab, you will learn how to download and install Terraform on Windows and Linux platforms.

2labs

Get started on your DevOps journey and learn how to build infrastructure on AWS using Terraform.

3labs

Following along in this hands on lab to discover the importance of resource dependencies in Terraform configurations.

4labs

Follow along in this hand on lab and create re-usable infrastructure code with Terraform variables.

5labs

Discover the use case of Terraform provisioners and learn when to use them in Terraform configurations.

6labs

Follow along in this hands on lab and explore the concept of Terraform state when managing AWS infrastructure through code.

7labs

Follow along with this hands on lab and configure remote state for Terraform configurations using AWS services like S3 and DynamoDB.

8labs

Follow along in this hands-on lab and create reusable infrastructure that can be versioned and tested with Terraform modules.

9labs

Follow along with this hands on lab and import existing AWS resources into a Terraform configuration to be managed by code.

10labs

Follow along with this hands-on lab and create a dynamic Terraform module by inserting conditional logic into the Terraform configuration.

11labs

Follow along with this hands-on lab and create clean scalable Terraform code by using loops.

12labs

Learn how to use Terragrunt to create separate Terraform environments with a remote state following DRY principles.

13labs

Learn advanced Terraform techniques by reducing the blast radius of critical infrastructure using Terragrunt to deploy an environment with separate Terraform states.

14labs

Follow along in this hands-on lab and use Terragrunt to duplicate a Terraform environment and change the environment by modifying a single file.

15labs

Develop a test to validate a Terraform module using Terratest, a popular Golang library for testing Terraform code.

16

In this lab challenge, you will test your Terraform knowledge. You will be tasked with developing an infrastructure as code solution using Terraform by creating a configuration to create a VPC, Subnet, and EC2 instance.

About the Author
Students2117
Labs30
Courses1
Learning paths2

Luke currently serves as a Cloud Labs Developer at Cloud Academy. His background is infrastructure development using Terraform. He is an Azure DevOps Engineer Expert, Azure Administrator Associate, and HashiCorp Certified - Terraform Associate.

Covered Topics