Mark Tinderholt
Microsoft Azure, Principal Architect (aka "The Azure Terraformer")
Columbus, Ohio, United States
Actions
Mark is an experienced technologist whose journey began in application development, spanning web and client-server applications to sophisticated distributed systems and microservices. Along this path, he developed deep expertise in automation and DevOps, leading diverse project teams and guiding cloud practice organizations through strategic, operational, and pre-sales leadership roles. Currently, Mark holds a hands-on engineering position at Microsoft, contributing directly to the Microsoft Azure platform.
Beyond his professional work, Mark shares his passion for cloud computing through his YouTube channel, "The Azure Terraformer." He is also the author of "Mastering Terraform," a practical, multi-cloud guide to Infrastructure-as-Code covering AWS, Azure, and Google Cloud, and has created the Udemy course "Terraform 101."
Area of Expertise
Topics
Telemetry Transformed: Terraforming Grafana for Next-Gen Dashboards
Explore Terraform's Grafana provider for building and maintaining sophisticated telemetry dashboards. Learn to use Terraform Cloud to provision telemetry solutions across multiple control planes. We'll cover the Grafana provider being used with Azure's Managed Service for Grafana and we'll go over some tips and tricks to foster a culture of curiosity among your Grafana wizards while simultaneously delivering an automated, repeatable, and reliable release process for your telemetry solutions.
Solving the JFK Mystery with RAG and Azure OpenAI
What happens when you give ChatGPT access to the JFK Assassination files? In this session, we’ll explore how to build a custom Retrieval Augmented Generation (RAG) solution using Azure OpenAI, Azure AI Search, and Azure AI Document Intelligence to make sense of one of the most infamous archives in U.S. history.
This solution creates a ChatGPT-style experience over your own documents—letting users ask questions and get answers directly from grainy memos, scanned clippings, and handwritten records. We’ll walk through the architecture, demo the working system live using JFK files, and explain the trade-offs, operating model, and costs behind it.
While the example may be fun, the use case is serious: learn how to use Azure’s powerful AI services to build RAG systems tailored to your organization’s documents—searchable, secure, and scalable.
Block-by-Block: Understanding Terraform Module Design Through Minecraft
Terraform modules are powerful, but the concepts behind good module design—cohesion, composition, separation of concerns, boundaries and contracts—can feel abstract and hard to internalize. Most explanations use cloud diagrams, HCL snippets, and best-practice checklists. Helpful, yes… but not always intuitive. What if we could see these concepts the way we see structures in the real world? Better yet—what if we could visualize them block-by-block inside a world many of us grew up exploring?
In this talk, we’ll use the Terraform Minecraft provider and a set of purpose-built modules—vector shapes, cuboids, tubes, towers, and even castle components—to make module design concepts far more concrete. By constructing real Minecraft structures through Terraform modules, we can visually demonstrate why cohesion matters, how composition works, and why poor module boundaries create complexity “sprawl” in the same way a messy build does in Minecraft.
We’ll walk through:
• How to design modules that do one thing well (high cohesion)
• How to compose modules to form larger patterns without creating a “Swiss Army knife” module
• How inputs and outputs shape module interoperability
• How naming, structure, and reuse become clearer when visualized block-by-block
• How this mental model maps directly back to real cloud infrastructure design
The goal is simple: to give you a fresh, visual, memorable way to grok Terraform module design. Instead of struggling through abstract principles, you’ll see the concepts play out in a familiar 3D environment where design mistakes are obvious—and good patterns shine.
Whether you’re new to Terraform modules or designing advanced multi-module architectures, this session will help you build better modules by thinking like a Minecraft architect: start simple, compose cleanly, and let the structure tell the story.
Build & Scale AI Apps with Azure OpenAI, AI Search & HCP Terraform
Learn how to deploy a RAG chat app using Azure OpenAI, AI Search, and Terraform, all managed with HCP Terraform Stacks. We’ll explore how Terraform automates AI workloads, enhances governance, and streamlines cloud deployments. See a live demo of provisioning an AI solution and discover best practices for scaling and securing AI workloads in Azure.
Designing AI-Powered Backends with Azure OpenAI: Reliable, Structured, and Production-Ready
In this session, I’ll demonstrate how to build reliable, production-ready AI backends using Azure OpenAI Service—moving beyond chat interfaces to implement AI-driven business logic that performs intelligent micro-operations inside your applications.
We’ll explore patterns for generating machine-readable, structured outputs (JSON, key/value payloads, classifications, and entity records) with strong control, validation, and reliability. Using a real example, I’ll show how AI can identify existing entities to prevent duplicate creation and maintain data integrity across a system.
Attendees will learn practical techniques, prompt patterns, token management, and architectural approaches for turning Azure OpenAI into a predictable and safe backend service that can allow you to plug in Intelligence into any part of your system.
From Zero to Active-Active Multi-Region: Building Distributed Architecture with Azure Container Apps
In this session, I want to show developers and architects how to build a resilient, cloud-native, active-active distributed microservices platform using Azure Container Apps and Terraform Stacks. We’ll start from a simple front end and progressively assemble a fully authenticated API tier, event-driven communication with Event Grid, and a lightweight GitOps workflow that continuously deploys both infrastructure and services across multiple regions. The goal is to demonstrate clear, repeatable patterns that make serverless microservices easier to build, operate, and scale.
Lightweight GitOps with Azure Container Apps and Terraform Stacks
GitOps has a lot of promise—versioned deployments, clear change history, and consistent environments. But for many teams, implementing it quickly turns into a tangle of YAML pipelines, service connections, runners, and webhook maintenance. For smaller applications or teams who just want a clean, reliable deployment loop, the full GitOps machinery can feel like bringing a starship to a bicycle race.
In this talk, I’ll share a lightweight alternative I’ve been using with Azure Container Apps, Azure Container Registry, and Terraform Stacks. When their powers combine, you get a simple, fully functional GitOps-style workflow built on just GitHub, Terraform Cloud, and a couple of Azure primitives.
We’ll walk through how to:
1. Trigger ACR Tasks to automatically build and push new images on code updates
2. Use Terraform Stacks to update image tags and orchestrate deployments
3. Roll out new revisions in Azure Container Apps with zero custom pipelines
4. Preserve GitOps principles—desired state, drift detection, and auditability—without the operational overhead
I’ll show the architecture, demo the workflow end-to-end, and highlight lessons learned, trade-offs, and practical tips from using this pattern in real scenarios. If you’re looking for GitOps simplicity without a full CI/CD platform to maintain, this session will give you a clean, approachable blueprint you can adopt immediately.
Learn Infrastructure-as-Code [the FUN way] through Minecraft
"Infrastructure-as-Code reaches beyond defining cloud resources. It touches every layer of automation: operating system setup, VM and container images, Kubernetes manifests, Helm charts, and the workflows that drive them. Each layer maps to responsibilities that split differently between platform engineering and application development teams. Getting this wrong risks rebuilding the same dev/ops silos under a new name.
This session explores those layers through a mix of comparisons, demonstrations, and a working metaphor in Minecraft. We’ll start with Packer to build a VM image and configure an operating system, and contrast that with Docker and container images. We’ll then connect those artifacts into Terraform, showing how IaC stitches OS-level configuration and infrastructure provisioning together. From there, we’ll compare this model with Kubernetes deployment strategies, including YAML manifests and Helm charts, highlighting where platform engineers and app dev teams should own responsibilities and how to keep those seams clear.
The session includes two live demos that make these practices real:
1. An End-to-End GitOps workflow for a VM-based workload implemented with GitHub Actions
2. GitHub Actions to build VM images with Packer.
3. GitHub Actions implementation of a Terraform workflow executed through modern pull request practices, where we preview releases with terraform plan and ship changes with terraform apply.
With the foundation in place, we’ll move to module composition in IaC. Minecraft structures become the metaphor for cloud systems, making concepts like reusability, encapsulation, and cohesion tangible. We’ll demonstrate how small, well-encapsulated modules can compose into larger patterns, and why these architectural principles matter for building sustainable IaC systems.
We close with a live Minecraft server demo where we run terraform apply and terraform destroy to create and tear down a castle in real time—visual proof of how Infrastructure-as-Code orchestrates environments, from the OS to the application layer, and a reminder of why layered automation and clear role splits are essential to avoid repeating the mistakes of the past.
This talk is designed for both developers and platform engineers.
Attendees will walk away with a clear mental model of:
1. The layers of automation involved in Infrastructure-as-Code.
2. How responsibilities map across teams and why boundaries matter.
3. Concrete examples of immutable infrastructure, GitOps workflows, and module composition.
4. A fun but practical way to internalize architectural principles through Minecraft."
Packer, Ansible, and Terraform: When to Use Each and How to Use them Together
In this talk I'll provide a comprehensive understanding of how to effectively utilize Packer, Ansible, and Terraform in infrastructure automation. We'll start with an introductory overview of each tool, shedding light on their individual roles and strengths.
An essential aspect of the talk is the balance between image configuration and post-provisioning setups. We delve into the strategies of when to bake configurations into an image using Packer and when to apply configurations post-VM-provisioning using Ansible, including best practice guidelines for each scenario.
By the end of this talk, I hope you'll depart with the knowledge to optimize your infrastructure automation, understanding when and how to use these tools individually or in combination to achieve efficiency and scalability.
Learn Infrastructure-as-Code through Minecraft
Stop punching trees and start mining diamonds with Infrastructure-as-code!
I'll demonstrate how to have fun and learn Infrastructure-as-Code by automating the worlds most popular video game of all time. We'll use Packer and Terraform to automate a Minecraft server and start mining diamonds in minutes!!!
Commit to control: GitOps & policy-as-code using Azure policy and Terraform
This talk provides an in-depth exploration of using Azure Policy and Terraform together for cloud governance and automation. It covers the definition of policy as code, explaining Azure Policy's role in enforcing standards and ensuring compliance in Azure environments. The presentation details how to automate policy definitions and assignments with Terraform, offering a step-by-step guide on managing Azure Policies through code. It emphasizes practical applications, including writing and deploying policies with Terraform and integrating them into CI/CD pipelines for automated compliance and governance. Additionally, it discusses operating models for organizations to implement these practices at scale, aiming for efficient cloud management.
Automate the Automation with Terraform
We spend hours automating infrastructure with Terraform, so why use ClickOps for setup? Let's end ClickOps! Discover the AT-AT, a special type of Terraform module that Automates the Automation with Terraform. Whether you prefer Azure DevOps, GitHub Actions, or Terraform Cloud, let's learn how to Automating the Automation with Terraform!
KCDC 2025 Sessionize Event
PlatformCon 2025 Sessionize Event
HashiTalks 2025 Sessionize Event
CodeMash 2025 Sessionize Event
HashiConf 2024 Sessionize Event
HashiDays 2024 - Cloud Engineering Track Sessionize Event
Azure Spring Clean 2024 Sessionize Event
HashiTalks 2024 Sessionize Event
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top