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
  2. HashiCorp and product ecosystem
  3. Terraform history
  4. Major versions of Terraform

  5. Getting started with Terraform

  6. Installation

  7. Configuration

  8. Software discovery

  9. Workshop: Installation and configuration

  10. Languages

  11. “HCL”: HashiCorp Configuration Language

  12. Variables, resources, providers and outputs

  13. Resource life cycle

  14. “HIL”: HashiCorp Interpolation Language

  15. Expressions

  16. Functions

  17. Loop and conditions

  18. Workshop: First deployment of infrastructure

  19. Workshop: Advanced use of interpolations

  20. Configuration of the development environment

  21. Implementation of development aid

  22. Automatic generation of documentation

  23. File management and best practices

  24. Workshop: Configuration of the development environment

  25. Test strategy

  26. Overview of the different test tools

  27. The example of inspec, inspec-iggy and kitchen-terrraform

  28. Workshop: Continuous Integration with Terraform

  29. Cooperative work

  30. Re-use of code, discovery of modules

  31. Management of competition and persistence

  32. Credential management

  33. Workshops: Creation of a module register in gitlab

  34. Use in production

  35. Manipulation of the state file

  36. Continuous deployment via Gitlab-ci

  37. Presentation of the offer for Terraform Cloud companies

  38. Development and use of community providers

  39. 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.