Detailed Course Outline
Module 01: Introduction to Infrastructure as a Code
- Introduction to basic Infrastructure as Code concepts.
- Understanding DevOps methodology. Infrastructure as Code principles and best practices.
- Comparing Terraform to other Infrastructure as Code technologies.
Module 02: Introduction to Terraform and basic workflows in Terraform
- Introduction to Terraform features and architecture.
- Overview of Terraform configuration language and Terraform CLI.
- Minimum Terraform project.
Module 03: Using providers in Terraform
- Overview of the most common providers in Terraform.
- Using various providers to create and manage complete infrastructure.
- Best practices and principles while using various providers.
Module 04: Creating, updating, reproducing, and destroying infrastructures
- Defining a Terraform workflow. Writing configuration files.
- Planning an infrastructure. Creating an infrastructure.
- Configuring an infrastructure created with Terraform (updating, reproducing, or destroying the infrastructure).
- Versioning configuration files.
Module 05: Writing and using modules in Terraform
- Using modules to build reusable Terraform templates.
- Module structure and organization. Invoking modules.
- Nested modules. Using external modules.
Module 06: Terraform programming CI/CD with Terraform
- Data structures and types of expressions to set values.
- Creating multiples of a single resource. Dynamic blocks.
- Using variables for configuration parametrization. Using functions in configuration files.
- Getting and using outputs from a configuration, using iteration loops, and leveraging functions in configurations.