![Azure Terraformer](/img/default-banner.jpg)
- 339
- 206 643
Azure Terraformer
United States
เข้าร่วมเมื่อ 13 ก.ย. 2015
Hi. My name is Mark Tinderholt. I am the Azure Terraformer.
I work at Microsoft.
I'm a Principal Architect on the Azure Core team.
I made this channel to explore two things I really enjoy: building software for the cloud and automating cloud infrastructure. I do this (mostly) with two of my favorite technologies: Azure and Terraform!
Before Microsoft, I spent 16 years in technology consulting, delivering technology solutions that meet real world business problems and leading the teams that design and implement them. No matter what level I rose to within an organization, Manager, Group Manager, Director, Senior Director, Cloud Practice Lead, I never stopped coding. Even when my colleagues at the same level made fun of me for it!
This hands on approach meant that while I could articulate the finer points to the C-Suite, I could go down to the code level with their developers and everywhere in between.
I hope you enjoy my channel! Thanks for your support!
I work at Microsoft.
I'm a Principal Architect on the Azure Core team.
I made this channel to explore two things I really enjoy: building software for the cloud and automating cloud infrastructure. I do this (mostly) with two of my favorite technologies: Azure and Terraform!
Before Microsoft, I spent 16 years in technology consulting, delivering technology solutions that meet real world business problems and leading the teams that design and implement them. No matter what level I rose to within an organization, Manager, Group Manager, Director, Senior Director, Cloud Practice Lead, I never stopped coding. Even when my colleagues at the same level made fun of me for it!
This hands on approach meant that while I could articulate the finer points to the C-Suite, I could go down to the code level with their developers and everywhere in between.
I hope you enjoy my channel! Thanks for your support!
GitHub AT-AT: Now with OpenID Connect Support
EPISODE 111
In this episode, I'll give you a tour of the changes that enable the OpenID Connect variant of the Application Environment Repository module. Then I give a demo of the GitHub AT-AT using the new authentication method.
🔗 Important Links:
1. **Join the Azure Terraformer Community on Discord**: Stay connected, get the latest updates, and discuss with fellow Terraform and Azure enthusiasts. Click here: discord.gg/9cyjq62FxH
2. **Support My Work**: If you find this tutorial helpful and appreciate what I do, consider buying me a coffee! Your support helps me create more content like this: www.buymeacoffee.com/azterraformer
3. **Connect with Me on Social Media**: Follow me on various platforms for more tips, tricks, and Terraform insights: bento.me/markti
4. **Become an Official Azure Terraformer**: For those who want to dive deeper into the world of Terraform, join my channel for exclusive benefits. As an Azure Terraformer Code Ninja, you'll get elite access to my Terraform code reviews. For those in my inner circle, there's even a monthly virtual 1-on-1 session with me!
Join here: th-cam.com/channels/ZBkfRd0HDb1Ir4V0FGbLrg.htmljoin
Don't forget to like, share, and subscribe for more Terraform and Azure content. Your engagement helps this channel grow and allows me to continue providing high-quality tutorials. If you have any questions or suggestions, feel free to drop them in the comments section below.
Happy Azure Terraforming! 🌍💻🚀
In this episode, I'll give you a tour of the changes that enable the OpenID Connect variant of the Application Environment Repository module. Then I give a demo of the GitHub AT-AT using the new authentication method.
🔗 Important Links:
1. **Join the Azure Terraformer Community on Discord**: Stay connected, get the latest updates, and discuss with fellow Terraform and Azure enthusiasts. Click here: discord.gg/9cyjq62FxH
2. **Support My Work**: If you find this tutorial helpful and appreciate what I do, consider buying me a coffee! Your support helps me create more content like this: www.buymeacoffee.com/azterraformer
3. **Connect with Me on Social Media**: Follow me on various platforms for more tips, tricks, and Terraform insights: bento.me/markti
4. **Become an Official Azure Terraformer**: For those who want to dive deeper into the world of Terraform, join my channel for exclusive benefits. As an Azure Terraformer Code Ninja, you'll get elite access to my Terraform code reviews. For those in my inner circle, there's even a monthly virtual 1-on-1 session with me!
Join here: th-cam.com/channels/ZBkfRd0HDb1Ir4V0FGbLrg.htmljoin
Don't forget to like, share, and subscribe for more Terraform and Azure content. Your engagement helps this channel grow and allows me to continue providing high-quality tutorials. If you have any questions or suggestions, feel free to drop them in the comments section below.
Happy Azure Terraforming! 🌍💻🚀
มุมมอง: 134
วีดีโอ
What's New in the AzureRM Terraform Provider Version 4.0.0?!?
มุมมอง 1.1K14 วันที่ผ่านมา
EPISODE 110 In this episode, we'll discuss the new major release of the AzureRM Terraform provider. What's new? What's history? - Provider Specific Functions - Improved Resource Provider registration process - Subnet changes when provisioning as nested blocks on a Virtual Network resource - AKS resources only supporting stable path - Removed Resources / Breaking Changes - How to upgrade your ex...
CBUS HashiCorp User Group - August 2024 - AWS Cloud Control Provider (AWSCC)
มุมมอง 12714 วันที่ผ่านมา
EPISODE 110 This is a recording of the HashiCorp User Group Meeting that occurred on 8/21/2024 in Columbus Ohio. The speaker was Manu Chandrasekhar who is a DevOps Consultant at AWS and a HashiCorp Ambassador. He gave a presentation on the new AWS Cloud Control Terraform Provider (i.e., AWSCC). 🔗 Important Links: 1. Read my book : Mastering Terraform, A practical guide to building and deploying...
GitHub AT-AT: Automate the Automation with Terraform GitHub Edition, Part 2
มุมมอง 21921 วันที่ผ่านมา
EPISODE 109 In this episode, I'll give you a demo of the GitHub AT-AT using old school Client Secret authentication method. 🔗 Important Links: 1. Join the Azure Terraformer Community on Discord : Stay connected, get the latest updates, and discuss with fellow Terraform and Azure enthusiasts. Click here: discord.gg/9cyjq62FxH 2. Support My Work : If you find this tutorial helpful and appreciate ...
Reacting to Azure Terraform Community Call - August 2024: Azure Copilot for Terraform, Q&A and more!
มุมมอง 30721 วันที่ผ่านมา
EPISODE 109 Join me as I share my unofficial reaction to the Azure Terraform Community Call for August 2024! 🚀 In this video, I dive into some of the most exciting topics discussed, including Azure Copilot for Terraform, new Terraform visualization tools, question about OpenTofu support, the Azure Export Tool for Terraform, and Azure Verified Modules. 🔗 Important Links: 1. Read my book : Master...
GitHub AT-AT: Automate the Automation with Terraform GitHub Edition, Part 1
มุมมอง 29828 วันที่ผ่านมา
EPISODE 108 In this episode, I'll give you a tour of the anatomy of the new GitHub AT-AT module library! 🔗 Important Links: 1. Join the Azure Terraformer Community on Discord : Stay connected, get the latest updates, and discuss with fellow Terraform and Azure enthusiasts. Click here: discord.gg/9cyjq62FxH 2. Support My Work : If you find this tutorial helpful and appreciate what I do, consider...
Validate Azure VM SKUs with a Custom Terraform Module | AzAPI Provider Tutorial
มุมมอง 481หลายเดือนก่อน
EPISODE 108 Unlock the power of Azure with our custom Terraform module! In this video, I demonstrate how to build a module using the AzAPI provider to validate VM SKUs in Azure. Learn how to query and filter VM SKUs based on desired performance characteristics like vCPU count, memory (GB), and other capabilities. Perfect for optimizing your cloud infrastructure and ensuring you get the best res...
Azure Terraformer Code Review: Multi-Subscription Hub and Spoke Network Modules
มุมมอง 524หลายเดือนก่อน
Azure Terraformer Code Review: Multi-Subscription Hub and Spoke Network Modules
FIRST EVER Azure Terraform Members Only Meetup!!!
มุมมอง 255หลายเดือนก่อน
FIRST EVER Azure Terraform Members Only Meetup!!!
Terraform Module for Azure Regions: Live Data & Dynamic Geography Validation with AzAPI
มุมมอง 163หลายเดือนก่อน
Terraform Module for Azure Regions: Live Data & Dynamic Geography Validation with AzAPI
Quickly Fix The Crowdstrike Blue Screen Of Death (BSOD) Bug with only a Windows 10 USB Boot Disk!!!
มุมมอง 8Kหลายเดือนก่อน
Quickly Fix The Crowdstrike Blue Screen Of Death (BSOD) Bug with only a Windows 10 USB Boot Disk!!!
Master Gitflow With Github Actions For Game-changing CI/CD!
มุมมอง 351หลายเดือนก่อน
Master Gitflow With Github Actions For Game-changing CI/CD!
Enhanced Terraform Module for Azure Regions with Geography Filter: Live Data with AzAPI Provider
มุมมอง 135หลายเดือนก่อน
Enhanced Terraform Module for Azure Regions with Geography Filter: Live Data with AzAPI Provider
BIG ANNOUNCEMENT: Mastering Terraform Book will be released on July 26, 2024!!! PRE-ORDER NOW!!!
มุมมอง 400หลายเดือนก่อน
BIG ANNOUNCEMENT: Mastering Terraform Book will be released on July 26, 2024!!! PRE-ORDER NOW!!!
Automate Minecraft on Proxmox with Terraform and Packer
มุมมอง 2922 หลายเดือนก่อน
Automate Minecraft on Proxmox with Terraform and Packer
Enhanced Terraform Module for Azure Regions: Live Data with AzAPI Provider
มุมมอง 2202 หลายเดือนก่อน
Enhanced Terraform Module for Azure Regions: Live Data with AzAPI Provider
Terraform 1.9.0 Input Variable Validation: Validate Your Azure Region
มุมมอง 5232 หลายเดือนก่อน
Terraform 1.9.0 Input Variable Validation: Validate Your Azure Region
Mixing Azure And Grafana In A Terraform Provider Mashup!
มุมมอง 3272 หลายเดือนก่อน
Mixing Azure And Grafana In A Terraform Provider Mashup!
Terraforming Resiliency on Azure (PART 3): Virtual Machine Scale Set (FLEX)
มุมมอง 1703 หลายเดือนก่อน
Terraforming Resiliency on Azure (PART 3): Virtual Machine Scale Set (FLEX)
Terraforming Resiliency on Azure (PART 2): Availability Sets and Fault Domains
มุมมอง 1684 หลายเดือนก่อน
Terraforming Resiliency on Azure (PART 2): Availability Sets and Fault Domains
Terraforming Resiliency on Azure (PART 1): Fault Domains vs. Availability Zones with Azure VMs
มุมมอง 3554 หลายเดือนก่อน
Terraforming Resiliency on Azure (PART 1): Fault Domains vs. Availability Zones with Azure VMs
How to Build Resilient Systems on Azure
มุมมอง 5014 หลายเดือนก่อน
How to Build Resilient Systems on Azure
Global Azure 2024: "Azure/Entra/Intune Protect your devices through Policies" with Sucheta Gawade
มุมมอง 2364 หลายเดือนก่อน
Global Azure 2024: "Azure/Entra/Intune Protect your devices through Policies" with Sucheta Gawade
Global Azure 2024: "Mad Data Science: Using AI to Build Ridiculous Things" with Matt Eland
มุมมอง 884 หลายเดือนก่อน
Global Azure 2024: "Mad Data Science: Using AI to Build Ridiculous Things" with Matt Eland
Global Azure 2024: "AutoDev: The Future of DevOps?" with Mike Alnakhaleh
มุมมอง 1774 หลายเดือนก่อน
Global Azure 2024: "AutoDev: The Future of DevOps?" with Mike Alnakhaleh
Global Azure 2024: "Transforming Resiliency: Azure's Journey to AZs" with Mark Tinderholt
มุมมอง 1614 หลายเดือนก่อน
Global Azure 2024: "Transforming Resiliency: Azure's Journey to AZs" with Mark Tinderholt
Global Azure 2024: "Building Digital Assistants with Azure AI Services" with Chad Thomas
มุมมอง 1004 หลายเดือนก่อน
Global Azure 2024: "Building Digital Assistants with Azure AI Services" with Chad Thomas
Global Azure 2024: "Where Does This Go? Navigating Azure Database Options" with Drake Lundstrom
มุมมอง 744 หลายเดือนก่อน
Global Azure 2024: "Where Does This Go? Navigating Azure Database Options" with Drake Lundstrom
Coffee Break: As a Technology Manager...How to make my Team More Autonomous?
มุมมอง 1244 หลายเดือนก่อน
Coffee Break: As a Technology Manager...How to make my Team More Autonomous?
Managing Infrastructure Across Multiple Azure Subscriptions
มุมมอง 8364 หลายเดือนก่อน
Managing Infrastructure Across Multiple Azure Subscriptions
lol XD thanks for the april fools! <3
Helped me so much! I’m a UX designer and the UX of this Microsoft flow leaves something to be desired! I would love to have a meeting with their higher ups and explain all the ways that Microsoft could improve its UX… you’d think they don’t even have UX on their team of the red tape is a mile thick to make anything easy.
Glad you found it useful! I hope the experience gets better soon!
thanks u r awesome
You bet!
It’s important to mention that you don’t have to have a room per application. He’s just using this as an example so if you are a client you don’t need 45,000 subscriptions for every app. So please stop asking Microsoft for quota increases in regards to this.
Agreed. A subscription (the "house") can have many RGs ("rooms"). It's up to you to decide who you want your room mates to be! 🤓
Great walkthrough, very concise and smooth. I had a small issue with admin consent link for the enterprise application. Had to replace a word "common" with a tenant ID to check out.
Interesting! Thanks for the kind words! Glad you found it useful! 😊
This is the best way to learn and teach. Thank you so much for this refactoring video, which is invaluable and great contribution and really shows your intent to help others. Keep going and you got me subscribed!!👏
Thanks mate! You sound like a code ninja in the making!!! 😊
Hi Mark could you add that to your azure-terraformer repo?
Random question thats been bugging me, is it ok to setup a module resource wrapper just for the simple purpose of reducing duplicate code when creating 3 env's? prd, uat, dev, etc..
Thank you! Great advice on pinning the current version to 3.x, and treat 4.x as migration - so cannot rush for it.
Definitely! No need to rush!!! 😁
With advanced LandingZone deployments (especially large scale AVD), we need to be able to target multiple subscriptions.
Optional subscription FTW!!!!
Ugh the whole not allowing a subscription_id argument in azure_rm for resources has been a pain. All the different Microsoft defenders are enabled at the subscription level only. So if I want to enable Azure Defender for servers for example on 100 subscriptions with Terraform I'd have to make 100 sub provider blocks 😐. Ended up using Powershell instead mixed in with some Azure policy.
Right now AzAPI is all you can do. But I think if we make the subscription ID as optional attribute to every resource it would make your life easier. We wouldn't have a provider block scoped to a subscription any longer! It would be like the GCP provider where you could just add the target subscription ID to any resource you provision.
I agree that the subscription id should be optional.
Thank you!
You're welcome! Long time no see @mloskot!!! 😁
@@azure-terraformer Yeah, been swamped with near complete rewrite stack modules of my environments ...thanks to all I've learned here (and there too), then summer holidays kicked in, time off, and I'm back :D
This was exactly what I needed before my kick-off meeting tomorrow. Just at the right time, thank you! Edit: I was about to yolo this into production :( Can you perhaps make a video about how to upgrade safely? Would be awesome! :)
🤣😭🫣 Don't Yolo! 🙏❤️🤓
I'll see what I can do. For starters, pin your 3.x version ASAP!
Finished the book. Very good and informative !
Glad you found it useful! 😊
@@azure-terraformer I have a little question, in the book you have a small paragraph on GKE Autopilot. While digging, I saw that Azure now offers AKS Automatic preview, is it the same? (I imagine that the announcement dates from after the end of writing the book!)
You are correct. I haven’t dug into that new feature of AKS yet but probably pretty similar!
I mean, planning for optimal workflow takes experience right? The big picture isn't going to do much good if you can't recognize landmarks. So as much as I think this is great advice in general, it also seems like it's extra appropriate advice in context.
Oh right on. Optimization definitely requires some experience. That's the beauty of the way Terraform works though. Start small, get something working, optimize on the next "Terraform apply". This is of course in the context of developing infrastructure (not running in production...🤣)
Great video. Thanks!
Glad you liked it!
Thank you for this! How does versioning work with this? Especially when there are multiple modules in a single repo?
You should use tags to create a version history. When you reference a specific version Terraform init will load the entire repo (not just the module referenced). This is a good thing as there can be relative dependencies.
Excellent work!
Thank you! Cheers!
very cool
What was on the USB stick? This is not helpful.
Just windows 10 installation media!
Have a button for "send to vscode" so that we don't have to copy paste.
Agreed! Might be nice!
I was the one who made the radius comment. It would be great to see some content specifically on Azure + Terraform focused content on radius. The project still seems very early but interested in your hot take on their approach.
Setup dapr and radius on my windows Dev box... So have started digging in!!! 😁
Thank you
You're welcome! But for what?! 🤓
Do you have another video where you fully explain the T4 files? In this video I didn't quite get what the point/purpose was...
The reason why I changed the extension was to avoid terraform documentation generators from keying off of them within the repo
Hey, interesting content as usual :) Made me wonder what's your opinion on the whole Microsoft's "levels" and subscription vending machine strategy? It seems to be designed to tackle this kind of scenario and it kind of makes sense to me to have the network team handle the network components deployment everywhere, or at least to have a dedicated terraform layer/module dedicated to that purpose.
Hi Can you share the repository on this one thanks!
Added to the description!!!
nice one
Thanks! Anything I'm missing?
Cool video, thanks!
Glad you liked it!
Thanks sir 😊
Welcome!
Hey Mark, I bought your book today based on how good these videos are! Thanks for the great work.
Thanks so much! Hope you find the book useful as well!!!
Arm Templates gives one a splitting headache!!!
I agree! But it’s good to understand the schema of the resources you are provisioning with terraform! I often go check out an ARM template export to get the gist of what I need to put into my terraform resource!
Nice video man!
Thanks 🙏 glad you found it useful!!!
thank you very much for your content, I just bought your book too.
Thanks so much! Hope you find it useful!!! ❤️🙏
Awesome review!
Glad you found it useful!
Underrated channel.
Thanks for the review and comments! The dashboard explanation for the hub and spoke made so much sense… I had some issues with that powershell script and that seemed to be the only method which worked, but maybe I was overlooking something! Thanks again!
Thank you for all your support! You planning on coming to HashiConf this year?!
I’d love to but those dates don’t work unfortunately! Hopefully it’s in London again next year???
@dankitch maybe I’ll get to come to a London event someday! Already making me thirsty! 🤣
Great session. Code seems interesting, if possible please share github repo
@@dankitch can you share the code
Thanks for the video. Nice explanation
Glad it was helpful!
Can you share the code link
Link added in the description! I don't control the repo so I am not sure how long it will be there! If you want to see more content about Hub+Spoke networking let me know!
@@azure-terraformer yes please , cross subscription as well, can you also do ribbon sbc vm &azure communicatiin service
Hi, can i get source code link?
Sounds fun!
It was a good time!!! 🤓
Why there is no code in github for this episode ?
Can you please show how to automate rotation of Azure Application secret and update the corresponding secret in a Azure Key Vault secret using Terraform
Good idea I’ll see what I can do!
+1 for this
Where did the App Registrations Terraform- DEV and Terraform- Prod come from at 14:00?
I set those up manually.
I did not understand what you did in the app registrations part. My question is did you have that app already?? What exactly are we trying to do in this pipeline
Yes, in this one, the app registration is pre-existing. This pipeline is using my multi stage pipeline template for Azure DevOps. Which executes terraform plan and terraform apply.
I just did a improvement since it always bugs me when I hardcode secrets in my code even though its just in my local machine : I added the secret used in ARM to my keyvault and added azurerm provider as well. I then logged in using azure cli(So that i could authenticate to KV) and it worked.Below is the way i did it 1) do az login from machine. 2) Create a secret in my KV and give read permission to terraform service principal. 3)Then read that using data block. 4) Finally pass it as a secret. my keyvault conf : data "azurerm_key_vault_secret" "KV" { name = "TF-SECRET" key_vault_id = "/subscriptions/bed9c8b2-bb60-492d-92a9-d1641fb7adf8/resourceGroups/remote-backend/providers/Microsoft.KeyVault/vaults/terraform-kv-lirook" } My secret conf : variable { name = "ARM_CLIENT_SECRET" secret_value = data.azurerm_key_vault_secret.KV.value is_secret = true }
Just pre-ordered your book. Happy to support your endeavor. Thanks for all your work to publish such high-quality content.
Awesome, thank you! hope you find it useful!
Hi Mark. I just have some questions outside of this video .I am planning to buy your book. Just want to know if the Azure DevOps is included in the book. Like automating pipelines and that kind of stuff and deploying to Azure using Azure DevOps. Also , I just found your channel and want to know in which order should I watch your channel. Should I directly start with Automating the automation playlist? For context : I have good knowledge in storage accounts and VMs and I have setup Terraform workflow using GitHub actions (not using Azure DevOps yet). Sorry for such a long question😅
my book does include and in solutions that implement CI/CD for all 9 solutions. However I chose to use Github Actions. That being said, I think the concepts could definitely translate into AzDO pipelines! Automate the automation series uses the Azure Devops provider itself. If your just looking to use Azure Devops pipelines might want to check out the minecraft series. I setup CI/CD for minecraft using AzDO pipelines with Packer and Terraform. It's pretty fun! 🤓
@@azure-terraformer Thanks Appreciate your response .
@abhisheksunkale6672 always! ☺️
why the fuck do you have so less views.😢 you deserve to be popular like hell bro😂.
Thanks man! 🙏 very nice of you to say! Spread the word yo!!! 🤣🤓
Great video! Re: 7:24 in your video: I disagree about reusable modules using ">=" instead of pessimistic constraint "~>". The best practice here would be to have the reusable module specify "~> 1.51", which means this module can work with >1.51.x but less than 2.0.0. The code here makes the mistake of using ~> too granularly by specifying the patch also ("~>1.51.1"), which is too constraining. As a reusable module author, I can't guarantee compatibility with the next major provider version. Major versions introduce breaking changes, so it's risky to promise support beyond what I've tested. It's responsible to set upper bounds to prevent unexpected issues for users in the future.
You makes some good points. It does seem that >= has an overly generous upward versioning bias, while the pessimistic constraint operator has too narrow range potential.