Course Outline:
DURATION: 4 Days
Cloud Platform: Microsoft Azure
Hands-On Format: This hands-on class is approximately 80/20 lab to lecture ratio, combining engaging lecture, demos, group activities and discussions with comprehensive machine-based practical programming labs and project work.
Module 1 – Getting Started & Setting Up Labs:
- Choosing a right Infrastructure as Code tool.
- Terraform Overview.
- Installing Terraform – Windows Users.
- Difference between Terraform and Ansible.
- Setting up Azure Account.
- Introduction to Azure CLI.
- Authenticate Azure with Terraform.
- Terraform init, plan and apply.
Module 2 – Building Cloud Infrastructure with Terraform:
- Introduction to Terraform with Azure
- Create Resource Group.
- Terraform Destroy.
- Azure Virtual Networks.
- Azure Subnet
- Azure Public IP.
- Azure Network Interface.
- Create Windows and Linux VM.
- Azure Storage.
- Security Groups.
- Load Balancers.
- Understanding Terraform State files.
- Understanding Desired & Current States.
- Terraform Provider Versioning.
- Types of Terraform Providers.
- Methods to define Terraform provider Version.
Module 3 – Read, Generate, Modify Configurations:
- Understanding Attributes and Output Values in Terraform.
- Referencing Cross-Account Resource Attributes.
- Terraform Variables.
- Methods to Define Variables.
- Data Types for Variables.
- Fetching Data from Maps and List in Variable.
- Count and Count Index.
- For_each.
- Create multiple VMs with Terraform.
- Conditional Expressions.
- Local Values.
- Splat Expressions.
- Terraform Functions.
- Lookup Function.
- Element Function.
- Zipmap Function.
- Data Sources.
- Debugging in Terraform.
- Terraform Format.
- Validating Terraform.
- Configuration Files Load.
- Dynamic Blocks.
- Tainting Resources.
- Terraform Graph.
- Saving Terraform Plan to File.
Module 4 – Terraform Provisioners:
- Understanding Provisioners in Terraform.
- Types of Provisioners.
- Implementing remote-exec provisioners.
- Implementing local-exec provisioners.
Module 5 – Terraform Modules & Workspaces:
- Understanding DRY principle.
- Variables and Terraform Modules.
- Terraform Registry.
- Terraform Workspace.
- Implementing Terraform Workspace.
Module 6 – Remote State Management:
- Integrating with GIT for team management.
- Git Initialize.
- Git Commit.
- Git Push.
- Git Tagging.
- Git Branching.
- Security Challenges in Committing TFState to GIT.
- Remote State Management with Terraform.
- Terraform State Management.
- Importing Existing Resources with Terraform Import.
Module 7 – Terraform Cloud and Enterprise Overview:
- Introduction to Terraform Cloud.
- Creating Infrastructure with Terraform Cloud.
- Overview of Sentinel Security.
- Introduction to Local and Remote Backends.
- Implementing Remote Backend in Terraform Cloud.