Terraform Webinar

Terraform Webinar

These are the slides from my Terraform webinar held in April 2020

6848c06ef647ab606c668cc5264c0fc9?s=128

Thorsten Hans

April 15, 2020
Tweet

Transcript

  1. Infrastructure as Code with HashiCorp Terraform Thorsten Hans @ThorstenHans Consultant

  2. Focus: Cloud Native & Infrastructure as Code Consultant @ Thinktecture

    AG thorsten.hans@thinktecture.com thorsten.hans@gmail.com thinktecture.com thorsten-hans.com @ThorstenHans Thorsten Hans
  3. Talking Points Terraform and Infrastructure as Code Introduction Terraforming Microsoft

    Azure Continuous Integration with GitHub Actions Terraform Resources
  4. by HashiCorp • Toolset for Infrastructure as Code • Written

    in Go • Available for Windows, Linux, macOS, FreeBSD, OpenBSD, Solaris • Open Source • Optional paid services • Terraform Cloud (adds collaboration features) • Terraform Enterprise (adds governance features) Terraform
  5. Terraform Write, Plan, and Create 1 Infrastructure as Code 2

    Preview Changes before applying 3 Build reproducible infrastructure
  6. Terraform Write, Plan, and Create 1 Infrastructure as Code 2

    Preview Changes before applying 3 Build reproducible infrastructure
  7. Infrastructure as Code • Automate your Infrastructure • Can be

    stored in a version control system (git) • Change History / Change Tracking • Collaboration • Better documentation • Eliminates the Truck Factor (or Single Point of Failure) • Predictable deployments Terraform - Write
  8. Terraform Write, Plan, and Create 1 Infrastructure as Code 2

    Preview Changes before applying 3 Build reproducible infrastructure
  9. Preview changes before applying • Execution plan tells you which

    parts of the environment will be • Created • Modified • Deleted • Displayed / Verified before modifying the targeting infrastructure • Think of git status Terraform - Plan
  10. Terraform Write, Plan, and Create 1 Infrastructure as Code 2

    Preview Changes before applying 3 Build reproducible infrastructure
  11. Build reproducible infrastructure • One Terraform script can be applied

    million times • Configurable environments • Variables • Interpolation • Built-in functions Terraform - Create
  12. Write Code Terraform plan Verify Terraform apply Consume The Terraform

    Lifecycle Terraform Destroy
  13. HashiCorp Configuration Language • Declarative language used to code your

    infrastructure • Based on JSON but more focused • Simple but powerful type system • Strings, Numbers, Booleans, Maps, Lists • One language for all infrastructure vendors • Using dedicated Providers Meet the HCL
  14. Talking Points Terraform and Infrastructure as Code Introduction Terraforming Microsoft

    Azure Continuous Integration with GitHub Actions Terraform Resources
  15. The AzureRM Provider • Terraform Provider supports all ARM API

    Features • Different Authentication patterns supported • Reuse Azure CLI Authentication • Dedicated Service Principal • Dedicated Managed Service Identity • Read/Write Azure Resources Terraforming Microsoft Azure
  16. Demo Terraforming Microsoft Azure

  17. Talking Points Terraform and Infrastructure as Code Introduction Terraforming Microsoft

    Azure Continuous Integration with GitHub Actions Terraform Resources
  18. Terraform in GitHub Actions • Use official Actions provided by

    HashiCorp • hashicorp/terraform-github-actions@master • Use GitHub’s Repository Secrets to establish context • Display output from various Actions such as • Format • Validate • Plan Continuous Integration
  19. Demo Continuous Integration with GitHub Actions

  20. Talking Points Terraform and Infrastructure as Code Introduction Terraforming Microsoft

    Azure Continuous Integration with GitHub Actions Terraform Resources
  21. Essential Features • Modules • https://thns.io/2R73oIQ • Workspaces • https://thns.io/2OZMs4Y

    • Terraform State • https://thns.io/2AftGS2 • Backends • https://thns.io/2DFyNOy Terraform Resources
  22. Great free and paid resources • Terraform Guide for Azure

    enthusiasts • https://thns.io/terraform-guide • Terraform Best Practices • https://thns.io/2P0mb6z • Book: Terraform: Up and Running • https://thns.io/2QdJSNz Terraform Resources
  23. Q&A If you have further questions: shoot me a mail

    at thorsten.hans@thinktecture.com / thorsten.hans@gmail.com or tweet at @ThorstenHans