ExperTeach Networking Logo

Terraform

Infrastructure as Code Workshop

ExperTeach Networking Logo

Operations teams currently have to deal with their own infrastructure and/or multiple clouds in parallel. This presents many organizations with significant challenges. Terraform is an Infrastructure as Code open source tool. Terraform is based on a declarative Domain Specific Language (DSL), thanks to which developers can use a high-level configuration language called HCL (HashiCorp Configuration Language) to describe the desired cloud or on-premises infrastructure. A plan to achieve that desired state is then created and executed to deploy the infrastructure. That's why Terraform is currently one of the most popular open source automation tools available. In this Terraform training, you will learn how Terraform and its architecture work. You will be introduced to the examples through hands-on exercises.

Course Contents

  • What is Terraform?
  • Architecture of Terraform
  • What is Infrastructure as Code?
  • Coding (templates, tagging, modules and Terraform function and co.)
  • Developing Terraform configuration files
  • Domain Specific Language (DSL) and HashiCorp Configuration Language (HCL)
  • Examples based on AWS, Azure and OpenStack
  • Limitations of Terraform
  • Differentiation from Ansible or Puppet

Attendees will receive a detailed transcript from the instructor.

Target Group

This Terraform training is intended for anyone who wants an overview of Terraform features and functionality and is interested in the technical aspects of implementation.

Knowledge Prerequisites

Basic knowledge of networking concepts and multi-tier architectures is required for this Terraform training. Basic cloud computing knowledge is helpful, but not a prerequisite.

1 Introduction to IaC Tools
1.1 Current Challenges in Operation
1.2 Infrastructure as Code (IaC)
1.2.1 Declarative Approach
1.3 Delimitation of the Tools
1.3.1 Ansible
1.3.2 Puppet and Chef
1.3.3 AWS CloudFormation
1.4 Terraform
1.4.1 Terraform Open Source, Cloud & Enterprise
2 Installation & Basics
2.1 Installation
2.1.1 Installation of Terraform on Windows
2.1.2 Installation of Terraform on Ubuntu
2.2 Terraform Configuration Files
2.2.1 Resources
2.3 Provider
2.3.1 Installation of a Provider
2.4 The Most Important Terraform Commands
2.4.1 Procedure
2.4.2 Init & Validate
2.4.3 Plan
2.4.4 Apply
2.4.5 Destroy
2.5 Provisioner
2.5.1 Provisioner remote-exec
2.5.2 Provisioner File
3 Variables and References
3.1 Overview
3.2 Input Variables
3.2.1 Handing over Values to Input Variable
3.3 Output Values
3.3.1 Use of Output Values
3.4 Local Values
3.5 Data Sources
3.5.1 A More Complex Example of a Data Source
4 Terraform State
4.1 The Terraform State File
4.1.1 Query Information from State
4.2 Refresh
4.3 Import
4.4 State File Remote
4.4.1 Terraform Back-end Configuration
4.5 Information from Another Remote State
5 Loops, Conditions, and Templates
5.1 Loops
5.1.1 Loops with count
5.1.2 Loops with for_each
5.1.3 for_each in a Dynamic Block
5.1.4 Loops with for
5.2 Conditions
5.2.1 if-else Statements
5.2.2 Dependencies with depends_on
5.2.3 Lifecycle—Pre- & Postconditions
5.2.4 Further Lifecycle Arguments
5.3 Templating
6 Modules & Workspaces
6.1 Directory and File Structure
6.2 Structuring via Modules
6.2.1 Directory Structure with Environments
6.3 Modules in Detail
6.3.1 Module Declaration and Inputs
6.3.2 Module Outputs
6.3.3 Provider in the Module
6.3.4 Loops in the Module
6.4 Module Remote
6.4.1 Module Sources
6.5 CLI Workspaces
6.5.1 Workspaces State
6.5.2 Examples of Code when Using Workspaces
6.5.3 Modules & Workspaces in Combination
A List of Abbreviations
B List of Commands

Classroom training

Do you prefer the classic training method? A course in one of our Training Centers, with a competent trainer and the direct exchange between all course participants? Then you should book one of our classroom training dates!

Hybrid training

Hybrid training means that online participants can additionally attend a classroom course. The dynamics of a real seminar are maintained, and the online participants are able to benefit from that. Online participants of a hybrid course use a collaboration platform, such as WebEx Training Center or Saba Meeting. To do this, a PC with browser and Internet access is required, as well as a headset and ideally a Web cam. In the seminar room, we use specially developed and customized audio- and video-technologies. This makes sure that the communication between all persons involved works in a convenient and fault-free way.

Online training

You wish to attend a course in online mode? We offer you online course dates for this course topic. To attend these seminars, you need to have a PC with Internet access (minimum data rate 1Mbps), a headset when working via VoIP and optionally a camera. For further information and technical recommendations, please refer to.

Tailor-made courses

You need a special course for your team? In addition to our standard offer, we will also support you in creating your customized courses, which precisely meet your individual demands. We will be glad to consult you and create an individual offer for you.
Request for customized courses
PDF SymbolYou can find the complete description of this course with dates and prices ready for download at as PDF.

Operations teams currently have to deal with their own infrastructure and/or multiple clouds in parallel. This presents many organizations with significant challenges. Terraform is an Infrastructure as Code open source tool. Terraform is based on a declarative Domain Specific Language (DSL), thanks to which developers can use a high-level configuration language called HCL (HashiCorp Configuration Language) to describe the desired cloud or on-premises infrastructure. A plan to achieve that desired state is then created and executed to deploy the infrastructure. That's why Terraform is currently one of the most popular open source automation tools available. In this Terraform training, you will learn how Terraform and its architecture work. You will be introduced to the examples through hands-on exercises.

Course Contents

  • What is Terraform?
  • Architecture of Terraform
  • What is Infrastructure as Code?
  • Coding (templates, tagging, modules and Terraform function and co.)
  • Developing Terraform configuration files
  • Domain Specific Language (DSL) and HashiCorp Configuration Language (HCL)
  • Examples based on AWS, Azure and OpenStack
  • Limitations of Terraform
  • Differentiation from Ansible or Puppet

Attendees will receive a detailed transcript from the instructor.

Target Group

This Terraform training is intended for anyone who wants an overview of Terraform features and functionality and is interested in the technical aspects of implementation.

Knowledge Prerequisites

Basic knowledge of networking concepts and multi-tier architectures is required for this Terraform training. Basic cloud computing knowledge is helpful, but not a prerequisite.

1 Introduction to IaC Tools
1.1 Current Challenges in Operation
1.2 Infrastructure as Code (IaC)
1.2.1 Declarative Approach
1.3 Delimitation of the Tools
1.3.1 Ansible
1.3.2 Puppet and Chef
1.3.3 AWS CloudFormation
1.4 Terraform
1.4.1 Terraform Open Source, Cloud & Enterprise
2 Installation & Basics
2.1 Installation
2.1.1 Installation of Terraform on Windows
2.1.2 Installation of Terraform on Ubuntu
2.2 Terraform Configuration Files
2.2.1 Resources
2.3 Provider
2.3.1 Installation of a Provider
2.4 The Most Important Terraform Commands
2.4.1 Procedure
2.4.2 Init & Validate
2.4.3 Plan
2.4.4 Apply
2.4.5 Destroy
2.5 Provisioner
2.5.1 Provisioner remote-exec
2.5.2 Provisioner File
3 Variables and References
3.1 Overview
3.2 Input Variables
3.2.1 Handing over Values to Input Variable
3.3 Output Values
3.3.1 Use of Output Values
3.4 Local Values
3.5 Data Sources
3.5.1 A More Complex Example of a Data Source
4 Terraform State
4.1 The Terraform State File
4.1.1 Query Information from State
4.2 Refresh
4.3 Import
4.4 State File Remote
4.4.1 Terraform Back-end Configuration
4.5 Information from Another Remote State
5 Loops, Conditions, and Templates
5.1 Loops
5.1.1 Loops with count
5.1.2 Loops with for_each
5.1.3 for_each in a Dynamic Block
5.1.4 Loops with for
5.2 Conditions
5.2.1 if-else Statements
5.2.2 Dependencies with depends_on
5.2.3 Lifecycle—Pre- & Postconditions
5.2.4 Further Lifecycle Arguments
5.3 Templating
6 Modules & Workspaces
6.1 Directory and File Structure
6.2 Structuring via Modules
6.2.1 Directory Structure with Environments
6.3 Modules in Detail
6.3.1 Module Declaration and Inputs
6.3.2 Module Outputs
6.3.3 Provider in the Module
6.3.4 Loops in the Module
6.4 Module Remote
6.4.1 Module Sources
6.5 CLI Workspaces
6.5.1 Workspaces State
6.5.2 Examples of Code when Using Workspaces
6.5.3 Modules & Workspaces in Combination
A List of Abbreviations
B List of Commands

Classroom training

Do you prefer the classic training method? A course in one of our Training Centers, with a competent trainer and the direct exchange between all course participants? Then you should book one of our classroom training dates!

Hybrid training

Hybrid training means that online participants can additionally attend a classroom course. The dynamics of a real seminar are maintained, and the online participants are able to benefit from that. Online participants of a hybrid course use a collaboration platform, such as WebEx Training Center or Saba Meeting. To do this, a PC with browser and Internet access is required, as well as a headset and ideally a Web cam. In the seminar room, we use specially developed and customized audio- and video-technologies. This makes sure that the communication between all persons involved works in a convenient and fault-free way.

Online training

You wish to attend a course in online mode? We offer you online course dates for this course topic. To attend these seminars, you need to have a PC with Internet access (minimum data rate 1Mbps), a headset when working via VoIP and optionally a camera. For further information and technical recommendations, please refer to.

Tailor-made courses

You need a special course for your team? In addition to our standard offer, we will also support you in creating your customized courses, which precisely meet your individual demands. We will be glad to consult you and create an individual offer for you.
Request for customized courses

PDF SymbolYou can find the complete description of this course with dates and prices ready for download at as PDF.