Course Code: terrazur4days
Duration: 28 hours
Prerequisites:
  • Basic understanding of cloud computing concepts
  • Familiarity with Microsoft Azure services and portal
  • Basic knowledge of scripting or programming

Audience

  • Cloud engineers
  • DevOps engineers
  • IT professionals
  • System administrators
Course Outline:

Module 1: Introduction to Terraform

• What Is Terraform?

• Benefits of Using Terraform

• Key Concepts and Terminology

• Terraform Compared to Other Infrastructure as Code Tools

• Understanding Infrastructure as Code Principles

 

Module 2: Setting Up Your Environment

• Installing Terraform

• Preparing Your Development Environment

• Configuring Azure Accounts for Terraform

• Overview of Required Permissions and Roles

 

Module 3: Getting Started with Terraform on Azure

• AzureRM Provider Configuration

• Authenticating to Azure

• Writing Your First Terraform Configuration

• Deploying a Basic Azure Resource

 

Module 4: Managing Terraform State

• Understanding Terraform State Files

• Remote State Management Using Azure Storage

• State Locking and Consistency Mechanisms

• Best Practices for State Management

 

Module 5: Building Infrastructure with Terraform - Virtual Machines

• Creating and Managing Azure Virtual Machines

• Configuring Virtual Machine Settings

• Managing VM Availability and Scalability

• Understanding VM Extensions and Custom Scripts

 

Module 6: Building Infrastructure with Terraform - Networking

• Configuring Azure Virtual Networks (VNet)

• Managing Subnets and Network Security Groups (NSGs)

• Implementing Network Peering and Gateways

• Setting Up Azure Load Balancers

 

Module 7: Building Infrastructure with Terraform - Storage

• Deploying Azure Storage Accounts

• Configuring Blob, Table, and Queue Storage

• Setting Access Controls and Policies

• Managing Storage Account Replication and Performance

Module 8: Building Infrastructure with Terraform - Databases

• Setting Up Azure SQL Databases

• Configuring Database Servers and Firewalls

• Understanding Database Scaling Options

• Managing Backups and Restore Procedures

 

Module 9: Advanced Terraform Features - Modules

• Introduction to Terraform Modules

• Creating and Using Reusable Modules

• Managing Module Versions and Dependencies

• Best Practices for Module Design

 

Module 10: Advanced Terraform Features - Data and Outputs

• Using Data Sources in Terraform

• Defining and Using Output Variables

• Working with Terraform Expressions and Functions

• Handling Complex Resource Dependencies

 

Module 11: Dependency Management in Terraform

• Understanding Resource Dependencies

• Using Explicit Dependencies

• Managing Parallel Resource Creation

• Avoiding Circular Dependencies

 

Module 12: Continuous Integration and Deployment Fundamentals

• Overview of CI/CD Concepts

• Benefits of Automating Terraform Deployments

• Common CI/CD Pipelines for Infrastructure as Code

• Introduction to Infrastructure Testing

 

Module 13: Azure DevOps for Terraform

• Setting Up Azure DevOps Projects

• Creating Pipelines for Terraform Deployment

• Managing Pipeline Variables and Secrets

• Monitoring and Troubleshooting Pipeline Runs

 

Module 14: GitHub Actions for Terraform Automation

• Introduction to GitHub Actions

• Building Workflows for Terraform

• Managing Secrets Securely in GitHub

• Integrating Pull Requests with Terraform Plans

 

Module 15: Handling Secrets and Sensitive Data

• Managing Secrets with Azure Key Vault

• Integrating Key Vault with Terraform Configurations

• Best Practices for Secret Management

• Protecting Sensitive Outputs and Logs

 

Module 16: Monitoring Azure Infrastructure

• Setting Up Azure Monitoring and Alerts

• Using Metrics and Logs for Infrastructure Health

• Configuring Diagnostic Settings

• Responding to Alerts and Incidents

 

Module 17: Scaling Azure Resources with Terraform

• Principles of Infrastructure Scaling

• Configuring Manual and Auto-Scaling Groups

• Managing Scaling Policies and Triggers

• Optimising Cost and Performance

 

Module 18: Troubleshooting Terraform Configurations

• Debugging Terraform Plans and Applies

• Handling Common Errors and Issues

• Reading and Interpreting Terraform Logs

• Strategies for Rollback and Recovery

 

Module 19: Security Best Practices for Terraform on Azure

• Implementing Role-Based Access Control (RBAC)

• Securing Terraform State Files

• Managing Access to Azure Resources

• Auditing and Compliance Considerations