Terraform

Course Overview:

Terraform is a configuration orchestration tool for building and managing infrastructure on cloud & data centers. The course is instructor-led, live training (onsite or remote), and is designed for Engineers with little or no previous experience managing infrastructure. The course talks about in-depth Terraform syntax and techniques used to automate the setup and deployment of infrastructure.

Course Objectives:

  • Install and configure Terraform
  • Understand the principles of infrastructure as code
  • Set up and automate infrastructure using Terraform
  • Write and share configuration file with team members

Pre-requisites:

  • To be able to do the demos, the delegate should have an AWS account, can open one for free, and will explain how to open one in the course.

Target Audience:

  • DevOps Engineers
  • System Administrators
  • System Architects

Course Duration:

  • 3 Days

Course Content:

DAY 1

Introduction 

  • Understanding Cloud Orchestration code and Terraform
  • Why Terraform?
  • Terraform Vs. Other Orchestration Tools – Why Terraform is the right choice
  • Core Terraform Components
  • Fundamental Concepts

Programming Structure 

  • Terraform Syntax: Providers
  • Terraform Syntax: Resources
  • Terraform Syntax: Variables
  • Terraform Syntax: Data sources
  • Terraform Syntax: Outputs
  • Connecting to Cloud using Providers
  • Terraform Coding Examples
  • Resources

Provisioning resources with Terraform

  • Types of Provisioners
  • Implementing remote-exec provisioners
  • Remote Exec Provisioners (Code)
  • Implementing local-exec provisioners
  • Integrating Ansible with Terraform
  • Implementing File provisioners
  • Creating and accessing compute instances

Script Executions 

  • Obtaining variables from Terraform into external scripts
  • Using shell script remote executor from Terraform to configure platform on launched VMs

DAY 2

Deployment Automation using Terraform 

  • Deploying Java application on VMs launched through terraform
  • Use of elastic IP in Terraform
  • Automation through Hosts entry modification
  • Using tomcat API to provision application

Managing RDS using Terraform 

  • Understanding RDS
  • Launching RDS DB Instance using Terraform
  • Launching Aurora DB Instance using Terraform

Terraform Modules 

  • Understanding the use case for modules
  • Understanding the DRY principle
  • Create and use a module
  • Module Variables
  • Remote State

Integrating with GIT for team management 

  • Security Challenges in Committing TFState to GIT
  • Understanding the use case for Remote State
  • Managing Remote State using S3
  • Challenges with State File locking

DAY 3

Data Sources

  • Understanding Data Sources
  • Using Data Source

Templates 

  • Understanding Templates
  • Using Templates

Integration with Configuration Management Tools 

  • Understanding configuration management
  • Integration with puppet configuration management

Jenkins Integrations 

  • Understanding integration points between Jenkins and Terraform

Conclusions 

  • Understanding alternatives to Terraform
  • Where terraform succeeds

 

Course Customization Options

To request a customized training for this course, please contact us to arrange.

Best selling courses

PROJECT MANAGEMENT

Agile Program Management

CLOUD COMPUTING

Cloud Architect

CYBER SECURITY / BLOCKCHAIN / NETWORK

Combined JAVA, PHP and Web Application Security

ARTIFICIAL INTELLIGENCE / MACHINE LEARNING / IOT

Natural Language Processing

PROGRAMMING / CODING

C++ Programming