Terraform - Automation of infrastructure deployment

2 days (14 hours)

Course overview

This training covers the fundamental aspects of Terraform software. Terraform is an infrastructure as code tool developed by the company Hashicorp and widely used in the context of multi-cloud deployment management while keeping a single user journey regardless of the destination platform (GCP, AWS, Azure, OVH, …).

The tool also allows the configuration of SAAS and PAAS services such as Github, PagerDuty, Rundeck, Vault, …

An official list of eligible resources is available here .

It is also possible to create your own providers to meet needs that are not covered by Hashicorp, particularly in the context of private applications. This course will use different tools such as a cloud provider (GCP, AWS, Azure, OVH,…), Git, Gitlab-ci, Vault, Vim,…

Learning outcomes

This course teaches participants the following skills:

  • Deployment creation via Terraform
  • Validation and automated tests
  • Continuous deployment
  • Development and use of community providers


To get the most out of this course, participants should have:

  • Basic Linux skills: folder, environment variables, binary execution, use of Vim
  • Understanding of code versioning and the use of Gitlab
  • Internet access and valid account with a target cloud provider (depending on the client, by default: Google Cloud Platform)
  • Basic skills on the target cloud provider: authentication, project and network management, use of the sdk

Target audience

This course is intended for the following participants:

This training is for any technical profile wishing to discover or deepen their knowledge of the tool

Course Outline

  1. Introduction to Terraform
  • HashiCorp and product ecosystem
  • Terraform history
  • Major versions of Terraform
  1. Getting started with Terraform
  • Installation
  • Configuration
  • Software discovery
  • Workshop: Installation and configuration
  1. Languages
  • “HCL”: HashiCorp Configuration Language
  • Variables, resources, providers and outputs
  • Resource life cycle
  • “HIL”: HashiCorp Interpolation Language
  • Expressions
  • Functions
  • Loop and conditions
  • Workshop: First deployment of infrastructure
  • Workshop: Advanced use of interpolations
  1. Configuration of the development environment
  • Implementation of development aid
  • Automatic generation of documentation
  • File management and best practices
  • Workshop: Configuration of the development environment
  1. Test strategy
  • Overview of the different test tools
  • The example of inspec, inspec-iggy and kitchen-terrraform
  • Workshop: Continuous Integration with Terraform
  1. Cooperative work
  • Re-use of code, discovery of modules
  • Management of competition and persistence
  • Credential management
  • Workshops: Creation of a module register in gitlab
  1. Use in production
  • Manipulation of the state file
  • Continuous deployment via Gitlab-ci
  • Presentation of the offer for Terraform Cloud companies
  • Development and use of community providers
  • Workshops: Continuous Deployment via Terraform

€1400 ex. VAT

Suggested courses

Ansible fundamentals
Back in 2012, Michael DeHaan proposed an alternative to Configuration Management tools such as SaltStack, Puppet and Chef by introducing Ansible. Ansible is easier to use because of its SSH based communication mode between machines and its completely decentralized operation. This eliminates the need for a very rigid master-slave relationship or configuration. Since then, Ansible has evolved while keeping the simplicity of the beginnings. It was later bought by RedHat Inc., integrated into its DevOps platform, which lead to Ansible Galaxy. At the end of this training, you will master the fundamentals as well as some of the most advanced concepts of Ansible. You will be able to use the tools of the Ansible ecosystem to your advantage in order to deploy your packages on servers as efficiently and as quickly as possible. You will find the happiness of maintaining servers without the side of management of deployment errors.

Contact us

You can unsubscribe from our communications at any time.

In order to take into account your request, we must store and process your personal data. If you authorize us to store your personal data for this purpose, check the box below.

By clicking on « Send » below, you authorize SFEIR to store and process the personal data submitted above so that it can provide you with the requested content.