You are on page 1of 5

DevOps IaC Pipeline with Terraform

Course Goal:

Candidates will understand the DevOps fundamentals, Application deployment as well


as Advance architecting on Microsoft Azure and AWS with Automation tools like Ansible,
Azure pipelines, terraform using CI/CD Pipelines.

Duration:

5 days

Objectives:

After completing this course student will have confidence on AWS & Azure administration and
Automated Deployment of architectures with Terraform.

Target Audience:

The course is designed for people having basic knowledge of System Administration or
Development on Cloud.

LAB Prerequisites:

Laptop with open Internet connection

1 CentOS 7.x Linux machine with 2 vcpu, 4 GB RAM & 40 GB Hard disk drive

AWS and Azure Accounts with Admin level privileges

Course Content:

DevOps IaC with Azure, AWS, terraform, Azure Devops


Day 1:
Infrastructure as Code

• Introduction to IaC
• Difference between GUI, CLI and IaC
• Why IaC
• Multiple Tools and services available for IaC

Terraform Basics

• Terraform Introduction

• Why Terraform – picking the right tool

• Desired and current states

• LAB: Installing Terraform on Linux

• LAB: Installing Terraform on Windows

• Understanding Resources and Providers

• Terraform Code

Automated deployment on Azure

• Azure Fundamentals & Services offered

• Azure Resource Manager

• Azure Resource Groups & Use cases

• Azure Service Principals

• LAB: Integrating Terraform with Azure and Creating a Virtual Instance with Terraform

Day 2:

Terraform Fundamentals

• Terraform commands & state files.


• Destroying Infra with Terraform

• Understanding Attributes and Output Values in Terraform

• Understanding Provisioners in Terraform

• Understanding terraform HCL

• Terraform Variable

• Lab: Passing variables and using same in code

• Terraform Variable Types

• Outputting attributes

• Lab: Checking output attributes

• Data Sources

• Terraform Modules

• Interpolation

• Conditionals

• For & For-Each loop

• LAB: For condition and Loops

• Shell scripting: Linux

• PowerShell

Day 3:

Terraform Advanced

• Terraform code- Do droplet

• Terraform commands & state files.

• Understanding Provisioners in Terraform


• Types of Provisioners

• Lab: Working with Azure for deploying Virtual Machines, Network and Storage resources

• Understanding DRY principle

• Remote State Management with Terraform

• Templates

• Terraform Project Structure

• Challenges with State File locking

• Terraform with Configuration management tools

• LAB: Working with multiple production grade deployments on Azure

Day 4:

Integrating other IAc tools with terraform


 Executing json templates with terraform
 Integrating az cli commands with terraform
 Integrating scripts with terraform

DevOps Toolsets

• Introduction to Version Control System

• Importance of Versioning in DevOps Toolsets

• Working with Git & GitHub


• Pull, Fetch and push on VCS

• Merge requests and handling conflicts

• Branching in Github

• Reverting versions

• LAB: Working with versioning tools

Day 5:

Ci/CD Pipelines

• Terraform in CICD pipelines

• LAB: Creating sample projects with Jenkins and Github

• Challenges with State File locking

• Integrating Terraform with existing CICD Project

• Integrating Configuration management tools in Pipeline

• LAB: Working with multiple production grade deployments on Azure & AWS using CICD

Discussion on Production Scenarios & best practices

Real time issues and troubleshooting steps

Q&A.

You might also like