• Home
  • Workshops
  • Services
  • Contact
Mont-Cenis-Straße 399, Herne 44627, Germany
+49 (0) 221 9865099 0
hello@devninjas.io

Workshops

  • Docker Fundamentals
  • Kubernetes Introduction
  • CKAD Exam Prep
  • CKA Exam Prep
  • All Workshops

Services

  • Shogun · Platform Consulting
  • Mamori · Managed Retainer
  • Kensho · Platform Audit

Company

  • Contact
  • Sitemap
2026 • Coded with by DevNinjas
  • Imprint
  • Privacy
  • GTC

Introduction to Terraform

Learn to use Terraform productively in three days. From HCL basics through state management and modules to CI/CD integration and security scanning. You work hands-on in your own cloud environment.

Share via email
  • Workshop levelNo prior knowledge needed
  • Satisfied participants2340+
  • Days3
  • LanguageGerman & English
  • Workshop codeDW20

Workshop Details

What makes this workshop stand out

🎯

What you will learn and take away

After three days of Terraform training, you work independently with Infrastructure as Code. Here is what you take away:

  • Read and write HCL confidently: From simple resources through variables and outputs to for_each, dynamic blocks and built-in functions
  • Master state and modules: Configure remote backends with locking, import existing infrastructure and build, version and document your own modules
  • Test and secure your code: Native tests with .tftest.hcl, security scanning with Checkov and Trivy, and a CI/CD pipeline skeleton for team workflows

All exercises run in our cloud environment. No local setup, no hassle. You take home a working Terraform project.

Want to continue? Our Kubernetes fundamentals training shows how to provision Kubernetes clusters with Terraform and deploy workloads.

💼

Why the investment pays off

Without standardised infrastructure processes, your team spends time on manual configuration instead of development. This Terraform training changes that:

  • Reproducible infrastructure instead of manual work: Standardised HCL configurations ensure environments are consistent and version-controlled via Git
  • Fewer errors during changes: Terraform plan shows exactly what will happen before any change. Plus native tests and automated security scanning
  • Faster onboarding: New team members understand infrastructure through readable code rather than tribal knowledge or outdated wikis

Small groups of maximum 8 participants so we can address questions specific to your project context.

📋

Prerequisites

Required:

  • Basic Linux terminal skills (navigating files, running commands)
  • Comfortable with a text editor or IDE
  • Basic understanding of cloud concepts (What is a VM? What is a network in the cloud?)

Not required:

  • Programming skills
  • Prior experience with Terraform or Infrastructure as Code
  • Experience with a specific cloud provider (AWS, Azure, GCP)

Unsure about Linux basics? Our Linux introduction provides the ideal preparation.

Workshop Agenda

Your Agenda at a Glance

Hands-on and structured. Every participant works in their own cloud environment. The agenda shows you what to expect each day.

Day 1: Understand IaC, set up Terraform and provision your first infrastructure

5 topics
09:00–10:00💬 Introduction Round

Why not just click infrastructure together? This module shows the difference between manual configuration and declarative infrastructure code: reproducible, version-controlled, reviewable. You compare Terraform with alternatives like Ansible, CloudFormation and Pulumi and understand when to use which tool. We also provide a factual overview of the current license situation (BSL) and the open-source fork OpenTofu.

terraformTerraform

Instead of lengthy theory, you write your first HCL file right away. You learn the building blocks of the HashiCorp Configuration Language: resource blocks, data blocks, attributes and references. Using the Local Provider, you create files on your system and run through the complete cycle from terraform init to terraform apply. By the end of this block, you read HCL like a familiar language.

12:00–13:00🥪 Lunch Break

Providers connect Terraform to the outside world: AWS, Azure, GCP or hundreds of other APIs. You configure your first cloud provider, pin versions in the required_providers block and understand the lifecycle of a terraform plan and terraform apply. Afterward, you know what happens under the hood with every command and why terraform plan before every apply is mandatory.

Hardcoded values make configurations inflexible. You work with input variables, define types (string, number, list, map, object) and set defaults and validation rules. With outputs you make results visible to other modules and the command line, and with locals you avoid repetition. At the end, you refactor your first configuration into a cleanly parameterised version.

Everything you learned comes together: you provision a dedicated VM with security group and elastic IP in the cloud. You use variables for region and instance type, outputs for the public IP, and the Terraform documentation as a reference. By the end of the day, your first code-defined infrastructure is running.

16:00–16:30💭 Questions & Answers

Day 2: Understand state, build modules and structure infrastructure

5 topics
09:00–10:00💭 Questions & Answers

State is Terraform's memory: without it, Terraform doesn't know what exists. You configure a remote backend with S3 and DynamoDB (locking), enable versioning for rollbacks and understand why state files never belong in Git. Then you isolate state by environment and component so that a mistake in the staging network configuration doesn't endanger production.

Taking over existing infrastructure, renaming resources or removing them from state: in the past, you used imperative CLI commands for this. Today there is a better way. You work with the import block, the moved block and the removed block. These declarative operations are reviewable in pull requests, repeatable and self-documenting. You know the old CLI commands (terraform import, terraform state mv) as a fallback, but not as the standard.

12:00–13:00🥪 Lunch Break

Modules are the key to maintainable Terraform code. You build a custom module with input variables, outputs and internal logic. Then you consume modules from the Terraform Registry, pin versions with semantic versioning (~> 1.2.0) and auto-generate documentation with terraform-docs. By the end, you understand the principle of "small, reusable building blocks" and can apply it to your own projects.

How do you organise Terraform code when the project outgrows a single main.tf? You work with CLI workspaces for environment separation (dev, staging, prod), learn common file structure conventions (main.tf, variables.tf, outputs.tf, providers.tf) and apply DRY principles with modules. You also see how Terragrunt helps as an orchestration layer in larger setups.

You build a complete multi-tier infrastructure from reusable modules: VPC with public and private subnets, security groups and a VM in the private network. State is stored remotely, modules are versioned, and the structure follows the conventions from the previous block. At the end, you have a reference architecture you can carry over to your own projects.

16:00–16:30💭 Questions & Answers

Day 3: Test, automate and work production-ready

5 topics
09:00–10:00💭 Questions & Answers

HCL can do more than simple assignments. You work with for_each and count for dynamic resource creation, write dynamic blocks for repeated nested structures and use conditionals (condition ? true : false) for environment-dependent configuration. Built-in functions like lookup, merge, flatten and templatefile round out the picture. Afterward, you write HCL that adapts to changing requirements instead of rewriting it for every change.

Code without tests is a promise without proof. You write your first .tftest.hcl files with command = plan for unit tests and command = apply for integration tests. With provider mocking (since v1.7) you test modules without cloud credentials. Additionally, you use TFLint for static analysis and terraform validate as a baseline check. At the end, you have a test suite that catches errors before they cost money in the cloud.

12:00–13:00🥪 Lunch Break

Terraform state contains sensitive data, and sensitive = true alone does not protect it: the value still ends up in state. Since v1.10, ephemeral values exist: temporary credentials and tokens that never touch state. On top of that, write-only arguments (v1.11) provide resource attributes that are not persisted. You configure both mechanisms and supplement them with Checkov and Trivy for automated security scanning of your Terraform files.

terraformTerraformtrivyTrivy

In production teams, terraform apply does not run from a laptop. You integrate Terraform into a CI/CD pipeline with GitLab CI or GitHub Actions: plan as PR comment, apply after approval. You also learn the basics of HCP Terraform (formerly Terraform Cloud) as a managed backend and Atlantis as a self-hosted alternative. At the end, you have a clear picture of how Terraform workflows look in real teams.

Everything combined: you build a production-like infrastructure with custom modules, remote state backend, variables for environment separation and a test suite. On top, you write a CI pipeline skeleton that runs terraform plan automatically. The result is a Terraform project you take home as a template for your own work.

terraformTerraform
16:00–16:30💭 Questions & Answers

Our Benefits

All from one hand!

With our high-quality trainings and workshops, you can bring yourself and your team up to date. All this with many benefits that you get from us.

👨‍💻High Practical Content
70% hands-on, 30% theory. You work continuously with real scenarios and take working code home with you. No PowerPoint battles, but directly applicable knowledge for your projects.
☁️Cloud Learning Environment
DevNinjas Dojo: Your own Kubernetes clusters and VMs for each participant in the browser. No installation, works despite VPN/proxy/firewalls. You work with dedicated resources, not in shared environments.
🥷Experienced Trainers
Full-time DevOps engineers and consultants from DevNinjas lead the workshops. Not external trainers, but specialized employees actively working on client projects and sharing real-world experience.
👥Small Groups
Maximum 8 participants per workshop. Everyone gets individual support from the trainer. Your specific questions and use cases get answered, not passed over in anonymous crowds.
🏗️Real-World Scenarios
No toy examples or hello-world demos. You work with production-grade setups: multi-container applications, CI/CD pipelines, monitoring stacks. Directly transferable to your production environments.
🎓Certification
You receive an official certificate of attendance as PDF and a verified LinkedIn badge. Document your professional development for your employer, HR, and recruiters professionally.

Testimonials

How participants experience our trainings

4.9/ 5

1047+ participant reviews · unfiltered

across all DevNinjas trainings

Trainer
5.0
Content
4.8
Hands-on
4.8

DevNinjas overall: over 1,384 participants · 207 companies · 241 workshops

Including BMW, Bundeswehr, Deutsche Bahn and many more.

"My colleagues specifically looked for a sysadmin course for Docker with another provider and had an instructor who only set up an IDE for them and then only worked on a task sheet with development tasks. I had a course with lots of background information, an instructor who had a really extensive knowledge of the whole subject matter beyond the slides, and I feel optimally informed."

Default avatar picture of DevNinjas
Johannes Bernstein
@TRIMET Gelsenkirchen SE

"The advanced Kubernetes workshop at DevNinjas really helped me grow professionally. The content was practical and excellently prepared, so even complex topics like RBAC, network policies and Ingress were conveyed in an understandable and directly applicable way. The deep expertise of the trainer was especially impressive and noticeable in every session. I can recommend this workshop to anyone who wants to use Kubernetes in production!"

Default avatar picture of DevNinjas
Marius Büttner
@Siemens AG

"From my perspective, the workshop had the right speed and an appropriate level of challenge. The subject matter was explained clearly by the instructor and practically consolidated with well-distributed exercises. Adjusting the workshop focus to the participants wishes was not a problem. Valuable practical experiences were shared, and even more specific questions were gladly answered. The instructor's professional expertise and extensive practical experience on the subject gave this workshop a special quality."

Default avatar picture of DevNinjas
S. Kaiser
@forcont business technology GmbH

"The seminar gave a very good overview of Docker administration, with a look at Kubernetes and how this knowledge simplifies everyday work. Many small, easy-to-follow examples with hands-on exercises and a focus on best practice consolidated what we learned. The instructor had an answer to every question, and for very specific questions he came back with a fitting example. The alternation between introductions and exercises was very well organised."

Default avatar picture of DevNinjas
Sebastian A.
@DMI GmbH & Co. KG

"The workshop was very informative and I could immediately spot the mistakes I had made in past Docker projects. Before, I lacked the theory and the fundamentals, so I had only been acting on best practice. Now I can write stable Dockerfiles and Docker Compose setups and secure them properly. A very good workshop that was also a lot of fun!"

Default avatar picture of DevNinjas
Timon Strangfeld

"In the workshop the most important Docker and Kubernetes topics were put together, prepared and explained superbly. The exercises fit precisely and were very well chosen in terms of difficulty. I am very satisfied with how much I learned in the five days and feel well prepared for upcoming tasks at work. Sure, you can teach yourself a lot on your own with AI tools, but without the workshop I would not have gained this overview or worked through so many exercises independently."

Default avatar picture of DevNinjas
Christine L.

"Nico is a very friendly and technically skilled instructor. He answered all questions well. You quickly notice that he combines academic expertise with many years of professional practice."

Default avatar picture of DevNinjas
Philipp van Wickevoort Crommelin
@parcIT GmbH

"The workshop gave me a very good insight into Kubernetes and made working with containers much clearer. Nico delivered the content in a practical and well-structured way, so I could quickly find my way around. The hands-on exercises in particular helped me apply what I learned directly. For anyone looking for a solid introduction to Kubernetes, this workshop is definitely recommended."

Default avatar picture of DevNinjas
Daniel Hagen
@DKB Service GmbH

"I really enjoyed the Docker & Kubernetes workshop at DevNinjas. Nico explained the complex topics around containers and orchestration in a very understandable and practical way. The mix of theory and hands-on exercises was perfect for being able to apply everything directly. I was able to take a lot away for my everyday work and now feel significantly more confident working with Docker and Kubernetes."

Default avatar picture of DevNinjas
Dominik Kneissl
@Siemens Healthineers

"The Docker workshop at DevNinjas was an all-round success. The content was clearly structured and practically delivered, including meaningful hands-on exercises. I took away a lot and feel significantly more confident working with Docker. Even more complex topics like multi-stage builds and networking were explained in an understandable way. A clear recommendation for anyone who really wants to understand Docker!"

Default avatar picture of DevNinjas
Daniel Müller
@Siemens Healthineers

"I really enjoyed the Docker workshop at DevNinjas! The content was well structured and clearly explained, even for beginners like me. The mix of theory and hands-on exercises was especially helpful for trying Docker directly. By the end, I was able to build my own images, configure containers and set up networks. Absolutely recommended for anyone who wants to learn Docker!"

Default avatar picture of DevNinjas
Pascal Schunk
@OEDIV

"The "Docker & Kubernetes Bundle" training provided me with solid, practical knowledge for everyday work and enabled me to handle Docker and Kubernetes professionally. The excellently structured material offers real added value, even beyond the workshop. The combination of technical depth and interactive delivery by the trainer rounded off the whole experience. An experience that continues to help me even after the training."

Default avatar picture of DevNinjas
Swen Strangfeld
@Bundesdruckerei GmbH

"It was fun and I learned a lot that I can actually apply directly in my company. The trainer's approach was very hands-on, and he repeatedly brought in real-world examples."

Default avatar picture of DevNinjas
Felix R.
@Dirk Rossmann GmbH

"I can recommend the Docker workshop at DevNinjas without reservation! The training was excellently structured: theory and practice complemented each other perfectly. The trainer always answered questions competently and clearly, making even more complex topics easily accessible. I was especially impressed by the professionally designed workshop materials, which are very useful as a reference even after the course. Overall, a thoroughly successful learning experience!"

Default avatar picture of DevNinjas
Lukas Graf
@Bundeswehr

"The seminar was superbly prepared, the group pleasantly small and the materials first-class. An excellent instructor who knows the subject inside out, takes time for the participants and answers questions in detail. The learning material alternated in a balanced way between theory and hands-on exercises that were timed excellently."

Default avatar picture of DevNinjas
Kevin H.
@Oest Holding GmbH

"Competent instructor. Individual approach to problems and topics. Interesting structure. Highly recommended to get an in-depth insight into the Docker world. The workshop was definitely worth it. Thanks!"

Default avatar picture of DevNinjas
H. Hillebrand
@PFSt NRW

Continue Learning

Related Workshops for You

Foundation
Introduction to Linux Workshop
Beginner

Introduction to Linux

Learn to confidently use Linux in three days: from your first terminal command through Bash, ZSH, and shell scripting to networking and SSH. Ideal for Windows users who want to understand Linux from the ground up. All exercises run in your own cloud environment.
3 Days€1,665.00
Tooling
Introduction to GitLab CI/CD Workshop
Beginner

Introduction to GitLab CI/CD

Learn GitLab CI/CD hands-on in two days. From your first .gitlab-ci.yml through Runners, Caching and Container Scanning with Trivy to Environments and Review Apps. You work in your own cloud environment.
2 Days€1,110.00
Next Step
Introduction to Kubernetes Workshop
Beginner

Introduction to Kubernetes

Learn to use Kubernetes confidently in three days. From Pods and Deployments to Storage and deployment strategies. You work hands-on in your own cloud environment with kubectl, K9s, and Helm.
3 Days€1,665.00
Vincent Sturm - DevNinjas

Your Contact

Vincent Sturm

Key Account Manager

Looking for the right Kubernetes or DevOps training for your team? Vincent personally advises you on open workshops, certification prep and customized in-house training. He can also connect you with our consulting services. Get in touch with him directly.

vincent@devninjas.io
+49 221 9865099-4
WhatsApp Chat

Frequently asked questions

No. Terraform uses HCL (HashiCorp Configuration Language), a declarative language specifically designed for infrastructure configuration. HCL is not a programming language in the traditional sense: you describe the desired state of your infrastructure, not the path to get there. We introduce the syntax from scratch. You should bring basic terminal skills (navigating files, running commands).

Terraform and Ansible solve different problems:

Terraform is a provisioning tool: you describe infrastructure (VMs, networks, databases) declaratively, and Terraform creates, modifies or deletes those resources. Terraform knows the current state via the state file and calculates the necessary changes from it.

Ansible is a configuration management tool: you describe how existing servers should be configured (install packages, start services, place files). Ansible works without state and runs steps sequentially.

In practice, both complement each other: Terraform creates the infrastructure, Ansible configures it. We focus on Terraform in this workshop because it is the foundation for reproducible cloud infrastructure.

OpenTofu is an open-source fork of Terraform created in 2023 in response to HashiCorp's license change. Terraform has used the BSL 1.1 license since August 2023, while OpenTofu remains under MPL 2.0 and is maintained by the Linux Foundation.

For most teams, nothing changes in practice: the BSL allows internal use of Terraform without restriction. The license only affects vendors selling Terraform as a hosted service. HCL syntax, providers and workflow are identical in both. We work with Terraform in the workshop but explain the differences so you can make an informed decision for your organisation. If you want to commit specifically to the open-source fork, our OpenTofu training (DW21) offers the same hands-on scope with OpenTofu.

Yes. Terraform is the most widely used Infrastructure as Code tool with the largest provider ecosystem (over 3,000 providers). The license change (BSL) only affects vendors reselling Terraform as a hosted service. For teams managing their own infrastructure, nothing changes.

IBM acquired HashiCorp in 2025 and is investing in continued development. At the same time, OpenTofu is growing as an open-source alternative. The HCL syntax and provider model are identical in both. Anyone who learns Terraform today can work with OpenTofu tomorrow. We provide a factual assessment of the current situation in the workshop.

After three days, you can:

  • Define infrastructure as code: Write HCL configurations, parameterise with variables and make them flexible with for_each and dynamic blocks
  • Manage state professionally: Configure remote backends, import existing infrastructure and isolate state securely
  • Build reusable modules: Write your own modules, version them and consume from the Terraform Registry
  • Test and secure your code: Native tests with .tftest.hcl, security scanning with Checkov and Trivy

Reality check: You won't be a Terraform expert after three days, but you can work independently and productively with Terraform. Advanced topics like Terraform Stacks or multi-account strategies require hands-on experience in your own projects.

Around 70% hands-on practice, no slide-only presentations. Each block starts with a brief concept introduction and moves straight into practical implementation. You work in a dedicated cloud environment (no shared lab, no local installation). Each day concludes with a larger hands-on block: day 1 a dedicated VM, day 2 a multi-tier infrastructure with modules, day 3 a final project with tests and CI pipeline.

State contains the current status of your entire infrastructure, including sensitive data. Three rules we establish from the start in the workshop:

No state in Git. State files belong in a remote backend (e.g. S3 with DynamoDB for locking). This lets teams collaborate safely without overwriting each other's changes.

Isolate state by environment. Separate state files for dev, staging and prod prevent a mistake in the test environment from affecting production.

Keep secrets out of state. Since Terraform v1.10, ephemeral values exist: temporary credentials that never touch state. This modern approach is part of our workshop.

Our trainings usually take place from 9:00 to 16:00, both on-site and for public remote trainings.

For corporate trainings, other time models are flexible and can be worked out together.

We recommend a maximum of 8 participants per training to ensure individual attention for each participant. For corporate trainings, arrangements for larger groups are possible.

Yes, upon completion you will receive an official certificate of attendance from DevNinjas as PDF. This confirms your successful participation and the topics covered. The certificate is perfect for conversations with your employer and your personnel file.

Additionally, you will receive a verified digital badge that you can directly embed in your LinkedIn profile (section "Licenses & Certifications"). The badge follows the Open Badges 2.0 standard and is verifiable via QR code at any time. This way you showcase your qualification and position yourself with recruiters.

Workshop Dates

Workshop dates

Choose a suitable date and book directly online. All dates are guaranteed to run.

Guaranteed to runFew spots left

17. – 19. August 2026

09:00 - 16:00 (CET/CEST, German time)

Online🇩🇪German

1.665,00 €

per person · plus 19% VAT

Guaranteed to run

07. – 09. September 2026

09:00 - 16:00 (CET/CEST, German time)

Online🇩🇪German

1.665,00 €

per person · plus 19% VAT

Guaranteed to run

07. – 09. September 2026

09:00 - 16:00 (CET/CEST, German time)

Online🇬🇧English

1.665,00 €

per person · plus 19% VAT

Guaranteed to runPopular date

21. – 23. September 2026

09:00 - 16:00 (CET/CEST, German time)

Online🇩🇪German

1.665,00 €

per person · plus 19% VAT

Your booking benefits

  • Guaranteed to run

    Every training date takes place: no cancellation due to low participant numbers.

  • Invoice after the workshop

    No prepayment: pay conveniently by invoice afterwards.

  • 3=2

    3-for-2 promotion*

    Register three participants, pay for two: the third seat is free.

  • Price per participant

    Transparent fixed price per participant, plus VAT.

No hidden costs

Cloud lab (DevNinjas Dojo) and all training materials are included in the price.

  • Certificate & Open Badge

    Certificate of attendance plus a digital Open Badge for your LinkedIn profile included.

  • * Cannot be combined with other discounts.

    Tailor a workshop for your team?

    Custom content, flexible dates, from 1 participant.

    Request
    Book date
    Book date
    Book date
    Book date