Terraform : Infrastructure Automation Training & Certification
December 13, 2022 2023-01-04 12:45Terraform : Infrastructure Automation Training & Certification
Terraform : Infrastructure Automation Training & Certification
Requirements
- Desire to learn
- Basic terminal skills
- Basic understanding of on premises and cloud architecture
About the course:
Our instructor-led Terraform training course will give you hands-on experience building, changing, and versioning infrastructure as code.
Through practical hands-on exercises you’ll learn how to provision and manage infrastructure and services whether in the cloud or on-premises.
We can customise the course to take into account your preferred provider such as Amazon Web Services, Microsoft Azure, Google Cloud or on-premise – just let us know your preference.
Harness the power of reproducible infrastructure patterns, version-control, automated provisioning, and collaborating and sharing configurations.
Let us know if you are interested in remote training – we’re happy to customise a syllabus to meet your project and learning needs, delivered via virtual classroom.
Training syllabus
Introduction to Terraform
- Overview of Terraform architecture
- Obtaining and installing Terraform
- Terraform CLI
- Infrastructure lifecycle
Language Components
- Resources
- Data Sources
- Terraform Providers – AWS, Microsoft Azure, Google Cloud, On-premise
- Modules
- Input and output variables
- Complex variable types
- Locals
- Validation rules
- Interpolation
- Expressions
Infrastructure as Code
- Patterns for structuring projects
- Terraform workspaces
- Abstracting services and resources
- Planning your architecture
- Creating Terraform Configuration Files
- Terraform in CI/CD pipelines
- Terminating infrastructure with Terraform Destroy
- Using terraform modules from Git
- Setting up a simple two-tier AWS architecture
- Using Packer to pre-configure Amazon Machine Images (AMIs)
- Using Consul for Service DIscovery
State Management
- Managing state files
- State file structure
- Backend configuration (Terraform Cloud, Azure, AWS)
- State locking
- Terraform Cloud vs Azure differences
- Inspecting and modifying state
- Importing resources
- Tainting resources
Environment Variables
- Dealing with parameters
- Environment variable options and precedence
- Automatic loading of variables
- Variables in Terraform Cloud
- Key variables (TF_LOG, TF_VAR_name…)
Managing Resources
- Implicit and Explicit Dependencies
- Non-dependant Resources
- Using triggers
- Iterating on Resources
- Conditional resources
Testing Terraform
- Testing terraform code (Terratest)
Terraform Security
- Managing secrets in Terraform
- Protecting resources
- System Accounts & Permissions
Maintenance and Troubleshooting
- Debugging Terraform
- Verbose Logging and log levels
- Writing logs to files
- Error messages
-
Understand infrastructure as code (IaC) concepts
-
Understand the purpose of Terraform (vs other IaC)
-
Understand Terraform basics
-
Use Terraform outside of core workflow
-
Interact with Terraform modules
-
Use the core Terraform workflow
- Describe Terraform workflow ( Write -> Plan -> Create )
- Initialize a Terraform working directory (terraform init)
- Validate a Terraform configuration (terraform validate)
- Generate and review an execution plan for Terraform (terraform plan)
- Execute changes to infrastructure with Terraform (terraform apply)
- Destroy Terraform managed infrastructure (terraform destroy)
- Apply formatting and style adjustments to a configuration (terraform fmt)
-
Implement and maintain state
- Describe default local backend
- Describe state locking
- Handle backend and cloud integration authentication methods
- Differentiate remote state back end options
- Manage resource drift and Terraform state
- Describe backend block and cloud integration in configuration
- Understand secret management in state files
-
Read, generate, and modify configuration
- Demonstrate use of variables and outputs
- Describe secure secret injection best practice
- Understand the use of collection and structural types
- differentiate resource and data configuration
- Use resource addressing and resource parameters to connect resources together
- Use HCL and Terraform functions to write configuration
- Describe built-in dependency management (order of execution based)
-
Understand Terraform Cloud capabilities