Terraform – Automation of infrastructure deployment
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,…
- Deployment creation via Terraform
- Validation and automated tests
- Continuous deployment
- Development and use of community providers
Target audience
This training is for any technical profile wishing to discover or deepen their knowledge of the tool
- 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
Course Outline
- Introduction to Terraform
- HashiCorp and product ecosystem
- Terraform history
- Major versions of Terraform
- Getting started with Terraform
- Installation
- Configuration
- Software discovery
- Workshop: Installation and configuration
- 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
- Configuration of the development environment
- Implementation of development aid
- Automatic generation of documentation
- File management and best practices
- Workshop: Configuration of the development environment
- Test strategy
- Overview of the different test tools
- The example of inspec, inspec-iggy and kitchen-terrraform
- Workshop: Continuous Integration with Terraform
- Cooperative work
- Re-use of code, discovery of modules
- Management of competition and persistence
- Credential management
- Workshops: Creation of a module register in gitlab
- 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
Our training sessions
Ce cours vous intéresse ?
Demandez un devis
offer? Contact us