SlideShare a Scribd company logo
daniel8192.wordpress.com@daniel8192,
@JonasWanninger
Infrastructure as Code on Azure
ARM Templates vs. Terraform
Daniel Hillinger, Jonas Wanninger
Daniel Hillinger
• Trivadis Germany GmbH, Workspace Munich
• Focus:
• Oracle (RAC, Grid Infrastructure, Exadata, Dataguard)
• Unix/Linux (OEL, RedHat, Solaris)
• Azure (Automation, Design and Security)
@daniel8192 daniel8192.wordpress.com
Jonas Wanninger
• Trivadis Germany GmbH, Workspace Munich
• Focus:
• Azure (Automation, Architecture and Security)
• DevOps (CI/CD, Automated Infrastructure)
• Development (.NET, SQL, PowerShell)
• Microsoft SQL Server
@JonasWanninger
Agenda
• What is IaC
• Terraform
• ARM Templates
• Advanced IaC concepts
• Conclusion
What is IaC
Cloud Operator
What is IaC
“Infrastructure as code (IaC) is the process of managing and provisioning computer data centers
through machine-readable definition files, rather than physical hardware configuration or interactive
configuration tools” – Wikipedia
Why is IaC cool?
• Provides consistency across all deployments and stages
• Version control
• Faster deployments and recovery
• Just in time deployments
• Documentation is already included to a certain degree
But IaC is not the solution for everything…
• Change Management still needs to be done
• Configuration management
• Apply IAM inside the Infastructure / Plattform / Service
• Automated validation
Terraform
HashiCorp
• Founded 2012 by Mitchell Hashimoto and Armon Dadgar
• Open Source
• /hashicorp
Terraform
• Declarative language
• Tries to be cloud independent
• Dependencies evaluated automatically based on a graph
• Tracks cloud resources inside a state file (.tf.state)
• Contains sensible data
• Lacks security features
Agenda
• Code ☺
• Plan feature
Terraform and Azure
• Partnership with Microsoft
• Renewed Jun 2019
• Based on „azure sdk for go”
• Available in Azure Cloud Shell
Terraform will perform the following actions:
~ azurerm_cosmosdb_account.db
consistency_policy.0.max_interval_in_seconds: "10" => "20"
Plan: 0 to add, 1 to change, 0 to destroy.
Terraform - Plans
• Unique test / plan feature
• Check syntax
• Build dependency graph
• Base for validation
Terraform will perform the following actions:
-/+ azurerm_cosmosdb_account.db (new resource required)
id: "/xxx/cosmosdb-0" => <computed> (forces new resource)
name: "cosmosdb-0" => "cosmosdb-1" (forces new resource)
read_endpoints.#: "1" => <computed>
resource_group_name: "xxx" => "tvd-azuredays-resourcegroup-0"
secondary_master_key :<sensitive> => <computed> (attribute changed)
Plan: 1 to add, 0 to change, 1 to destroy.
Terraform - Plans
ARM Templates
ARM Templates
• Microsoft native IaC solution
• Declarative templates written in JSON format
• Azure Cloud and Azure Stack only
• Generate ARM templates from the Azure Portal for any resource
• Manual dependency handling
• Great integration with other Azure services (e.g. KeyVault, StorageAccounts)
ARM Templates and the Azure Resource
Manager
• Describe infrastructure inside JSON file
• Deployment possible in many different languages
(PowerShell, Bash, .NET, Ruby, Python, JavaScript or via REST API)
ARM Templates and the Azure Resource
Manager
• Resource Manager is the core component for all deployments
• Resource Manager takes care of
• Provisioning and configuring
• Parallelizing the deployment
• Validating the resources
…
"administratorLoginPassword": {
"reference": {
"keyVault": {
"id": "/subscriptions/<subscription-id>/resourceGroups/examplegroup/
providers/Microsoft.KeyVault/vaults/<vault-name>"
},
"secretName": "examplesecret"
}
}
ARM Templates – Special Features – Key Vault
Advanced IaC concepts
Advanced IaC concepts
Dev
Staging
Prod
Developer Central Repo Validation Deployment
Conclusion
Conclusion – ARM vs. Terraform
Terraform
+ Plan feature
+ Dependency managment
- Statefile
- Security features
ARM
+ Microsoft native
+ Security features
- Plan feature
- Dependency managment
Conclusion - IaC
• Automate your deployment and recovery process
• Speed and simplicity
• Provides consistency across all deployments and stages
• Minimize risks
• Necessary in large environments
Azure Days 2019: Infrastructure as Code auf Azure (Jonas Wanninger & Daniel Hillinger)

More Related Content

PDF
Infrastructure as Code for Azure: ARM or Terraform?
PPTX
Infrastructure as Code on Azure - Show your Bicep! v0.2 - .NetConf 2020 by Do...
PPTX
Infrastructure as Code on Azure - NET Conf CO v2018
PPTX
TechEvent Infrastructure as Code on Azure
PPTX
Henry been azure resource manager - inside out
PPTX
Infrastructure as Code on Azure - NET Conf AR v2018
PPTX
Securing an Azure full-PaaS architecture - Data saturday #0001 Pordenone
PPTX
IaaS with ARM templates for Azure
Infrastructure as Code for Azure: ARM or Terraform?
Infrastructure as Code on Azure - Show your Bicep! v0.2 - .NetConf 2020 by Do...
Infrastructure as Code on Azure - NET Conf CO v2018
TechEvent Infrastructure as Code on Azure
Henry been azure resource manager - inside out
Infrastructure as Code on Azure - NET Conf AR v2018
Securing an Azure full-PaaS architecture - Data saturday #0001 Pordenone
IaaS with ARM templates for Azure

What's hot (20)

PPTX
Alex Magnay - Azure Infrastructure as Code with Hashicorp Terraform
PPTX
Terraform for azure: the good, the bad and the ugly -
PDF
Must Know Azure Kubernetes Best Practices And Features For Better Resiliency ...
PDF
Azure DevOps Multistage YAML Pipelines – Top 10 Features
PDF
Azure for AWS & GCP Pros: Which Azure services to use?
PDF
Experiences using CouchDB inside Microsoft's Azure team
PDF
Getting Started with Infrastructure as Code (IaC)
PPTX
TechnoramaNL Azure Key Vault, Azure Dev Ops and Azure Data Factor
PPTX
Azure Update, July 2016
PDF
DevOps Toolbox: Infrastructure as code
PDF
Infrastructure as Code
PPTX
Azure Automation and Update Management
PDF
DevOps is to Infrastructure as Code, as DataOps is to...?
PDF
Understanding AWS with Terraform
PDF
Shift Remote AI: Build and deploy PyTorch Models with Azure Machine Learning ...
PDF
SERVERLESS MIDDLEWARE IN AZURE FUNCTIONS
PDF
Securing Containers From Day One | null Ahmedabad Meetup
PDF
Java & Microservices in Azure
PPTX
Azure PaaS (WebApp & SQL Database) workshop solution
PDF
Help, I need to migrate my On Premise Database to Azure, which Database Tier ...
Alex Magnay - Azure Infrastructure as Code with Hashicorp Terraform
Terraform for azure: the good, the bad and the ugly -
Must Know Azure Kubernetes Best Practices And Features For Better Resiliency ...
Azure DevOps Multistage YAML Pipelines – Top 10 Features
Azure for AWS & GCP Pros: Which Azure services to use?
Experiences using CouchDB inside Microsoft's Azure team
Getting Started with Infrastructure as Code (IaC)
TechnoramaNL Azure Key Vault, Azure Dev Ops and Azure Data Factor
Azure Update, July 2016
DevOps Toolbox: Infrastructure as code
Infrastructure as Code
Azure Automation and Update Management
DevOps is to Infrastructure as Code, as DataOps is to...?
Understanding AWS with Terraform
Shift Remote AI: Build and deploy PyTorch Models with Azure Machine Learning ...
SERVERLESS MIDDLEWARE IN AZURE FUNCTIONS
Securing Containers From Day One | null Ahmedabad Meetup
Java & Microservices in Azure
Azure PaaS (WebApp & SQL Database) workshop solution
Help, I need to migrate my On Premise Database to Azure, which Database Tier ...
Ad

Similar to Azure Days 2019: Infrastructure as Code auf Azure (Jonas Wanninger & Daniel Hillinger) (20)

PPTX
Infrastructure-as-Code (IaC) using Terraform
PDF
Deploy resources on Azure using IaC (Azure Terraform)
PPTX
Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)
PDF
Terraform In Action Meap V10 Meap Scott Winkler
PDF
Azure's infrastructure as-code
PPTX
Hashicorp Terraform with Microsoft Azure
PDF
Provisioning with Terraform - AzureDay Reloaded
PDF
Azure Day Rome 2019 Reloaded - Effettuare il provisioning su Azure utilizzand...
PPTX
Microsoft Azure IaaS and Terraform
PPTX
Azure Infrastructure as Code and Hashicorp Terraform
PDF
Meetup 2020 - Back to the Basics part 101 : IaC
PPTX
Infrastructure as Code with Terraform.pptx
PDF
Working with Terraform on Azure
PDF
OracleBeer_Terraform_soe.pdf
PDF
Introduction to IAC and Terraform
PPTX
Global Azure Bootcamp 2018 - Azure Resource Manager (ARM)
PDF
Self-service PR-based Terraform
PPTX
Terraform: Taming the Machines Through Continuous Integration
PPTX
Azure deployments and ARM templates
PPTX
Azure arm templates
Infrastructure-as-Code (IaC) using Terraform
Deploy resources on Azure using IaC (Azure Terraform)
Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)
Terraform In Action Meap V10 Meap Scott Winkler
Azure's infrastructure as-code
Hashicorp Terraform with Microsoft Azure
Provisioning with Terraform - AzureDay Reloaded
Azure Day Rome 2019 Reloaded - Effettuare il provisioning su Azure utilizzand...
Microsoft Azure IaaS and Terraform
Azure Infrastructure as Code and Hashicorp Terraform
Meetup 2020 - Back to the Basics part 101 : IaC
Infrastructure as Code with Terraform.pptx
Working with Terraform on Azure
OracleBeer_Terraform_soe.pdf
Introduction to IAC and Terraform
Global Azure Bootcamp 2018 - Azure Resource Manager (ARM)
Self-service PR-based Terraform
Terraform: Taming the Machines Through Continuous Integration
Azure deployments and ARM templates
Azure arm templates
Ad

More from Trivadis (20)

PDF
Azure Days 2019: Azure Chatbot Development for Airline Irregularities (Remco ...
PDF
Azure Days 2019: Trivadis Azure Foundation – Das Fundament für den ... (Nisan...
PDF
Azure Days 2019: Business Intelligence auf Azure (Marco Amhof & Yves Mauron)
PDF
Azure Days 2019: Master the Move to Azure (Konrad Brunner)
PDF
Azure Days 2019: Keynote Azure Switzerland – Status Quo und Ausblick (Primo A...
PDF
Azure Days 2019: Grösser und Komplexer ist nicht immer besser (Meinrad Weiss)
PDF
Azure Days 2019: Get Connected with Azure API Management (Gerry Keune & Stefa...
PDF
Azure Days 2019: Wie bringt man eine Data Analytics Plattform in die Cloud? (...
PDF
Azure Days 2019: Azure@Helsana: Die Erweiterung von Dynamics CRM mit Azure Po...
PDF
TechEvent 2019: Kundenstory - Kein Angebot, kein Auftrag – Wie Du ein individ...
PDF
TechEvent 2019: Oracle Database Appliance M/L - Erfahrungen und Erfolgsmethod...
PDF
TechEvent 2019: Security 101 für Web Entwickler; Roland Krüger - Trivadis
PDF
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...
PDF
TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...
PDF
TechEvent 2019: Status of the partnership Trivadis and EDB - Comparing Postgr...
PDF
TechEvent 2019: More Agile, More AI, More Cloud! Less Work?!; Oliver Dörr - T...
PDF
TechEvent 2019: Kundenstory - Vom Hauptmann zu Köpenick zum Polizisten 2020 -...
PDF
TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...
PDF
TechEvent 2019: The sleeping Power of Data; Eberhard Lösch - Trivadis
PDF
TechEvent 2019: Tales from a Scrum Master; Ernst Jakob - Trivadis
Azure Days 2019: Azure Chatbot Development for Airline Irregularities (Remco ...
Azure Days 2019: Trivadis Azure Foundation – Das Fundament für den ... (Nisan...
Azure Days 2019: Business Intelligence auf Azure (Marco Amhof & Yves Mauron)
Azure Days 2019: Master the Move to Azure (Konrad Brunner)
Azure Days 2019: Keynote Azure Switzerland – Status Quo und Ausblick (Primo A...
Azure Days 2019: Grösser und Komplexer ist nicht immer besser (Meinrad Weiss)
Azure Days 2019: Get Connected with Azure API Management (Gerry Keune & Stefa...
Azure Days 2019: Wie bringt man eine Data Analytics Plattform in die Cloud? (...
Azure Days 2019: Azure@Helsana: Die Erweiterung von Dynamics CRM mit Azure Po...
TechEvent 2019: Kundenstory - Kein Angebot, kein Auftrag – Wie Du ein individ...
TechEvent 2019: Oracle Database Appliance M/L - Erfahrungen und Erfolgsmethod...
TechEvent 2019: Security 101 für Web Entwickler; Roland Krüger - Trivadis
TechEvent 2019: Trivadis & Swisscom Partner Angebote; Konrad Häfeli, Markus O...
TechEvent 2019: DBaaS from Swisscom Cloud powered by Trivadis; Konrad Häfeli ...
TechEvent 2019: Status of the partnership Trivadis and EDB - Comparing Postgr...
TechEvent 2019: More Agile, More AI, More Cloud! Less Work?!; Oliver Dörr - T...
TechEvent 2019: Kundenstory - Vom Hauptmann zu Köpenick zum Polizisten 2020 -...
TechEvent 2019: Vom Rechenzentrum in die Oracle Cloud - Übertragungsmethoden;...
TechEvent 2019: The sleeping Power of Data; Eberhard Lösch - Trivadis
TechEvent 2019: Tales from a Scrum Master; Ernst Jakob - Trivadis

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Modernizing your data center with Dell and AMD
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Electronic commerce courselecture one. Pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
A Presentation on Artificial Intelligence
PPT
Teaching material agriculture food technology
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Encapsulation theory and applications.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Reach Out and Touch Someone: Haptics and Empathic Computing
“AI and Expert System Decision Support & Business Intelligence Systems”
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Modernizing your data center with Dell and AMD
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
MYSQL Presentation for SQL database connectivity
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Electronic commerce courselecture one. Pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
A Presentation on Artificial Intelligence
Teaching material agriculture food technology
Per capita expenditure prediction using model stacking based on satellite ima...
Understanding_Digital_Forensics_Presentation.pptx

Azure Days 2019: Infrastructure as Code auf Azure (Jonas Wanninger & Daniel Hillinger)

  • 1. daniel8192.wordpress.com@daniel8192, @JonasWanninger Infrastructure as Code on Azure ARM Templates vs. Terraform Daniel Hillinger, Jonas Wanninger
  • 2. Daniel Hillinger • Trivadis Germany GmbH, Workspace Munich • Focus: • Oracle (RAC, Grid Infrastructure, Exadata, Dataguard) • Unix/Linux (OEL, RedHat, Solaris) • Azure (Automation, Design and Security) @daniel8192 daniel8192.wordpress.com
  • 3. Jonas Wanninger • Trivadis Germany GmbH, Workspace Munich • Focus: • Azure (Automation, Architecture and Security) • DevOps (CI/CD, Automated Infrastructure) • Development (.NET, SQL, PowerShell) • Microsoft SQL Server @JonasWanninger
  • 4. Agenda • What is IaC • Terraform • ARM Templates • Advanced IaC concepts • Conclusion
  • 5. What is IaC Cloud Operator
  • 6. What is IaC “Infrastructure as code (IaC) is the process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools” – Wikipedia
  • 7. Why is IaC cool? • Provides consistency across all deployments and stages • Version control • Faster deployments and recovery • Just in time deployments • Documentation is already included to a certain degree
  • 8. But IaC is not the solution for everything… • Change Management still needs to be done • Configuration management • Apply IAM inside the Infastructure / Plattform / Service • Automated validation
  • 10. HashiCorp • Founded 2012 by Mitchell Hashimoto and Armon Dadgar • Open Source • /hashicorp
  • 11. Terraform • Declarative language • Tries to be cloud independent • Dependencies evaluated automatically based on a graph • Tracks cloud resources inside a state file (.tf.state) • Contains sensible data • Lacks security features Agenda • Code ☺ • Plan feature
  • 12. Terraform and Azure • Partnership with Microsoft • Renewed Jun 2019 • Based on „azure sdk for go” • Available in Azure Cloud Shell
  • 13. Terraform will perform the following actions: ~ azurerm_cosmosdb_account.db consistency_policy.0.max_interval_in_seconds: "10" => "20" Plan: 0 to add, 1 to change, 0 to destroy. Terraform - Plans • Unique test / plan feature • Check syntax • Build dependency graph • Base for validation
  • 14. Terraform will perform the following actions: -/+ azurerm_cosmosdb_account.db (new resource required) id: "/xxx/cosmosdb-0" => <computed> (forces new resource) name: "cosmosdb-0" => "cosmosdb-1" (forces new resource) read_endpoints.#: "1" => <computed> resource_group_name: "xxx" => "tvd-azuredays-resourcegroup-0" secondary_master_key :<sensitive> => <computed> (attribute changed) Plan: 1 to add, 0 to change, 1 to destroy. Terraform - Plans
  • 16. ARM Templates • Microsoft native IaC solution • Declarative templates written in JSON format • Azure Cloud and Azure Stack only • Generate ARM templates from the Azure Portal for any resource • Manual dependency handling • Great integration with other Azure services (e.g. KeyVault, StorageAccounts)
  • 17. ARM Templates and the Azure Resource Manager • Describe infrastructure inside JSON file • Deployment possible in many different languages (PowerShell, Bash, .NET, Ruby, Python, JavaScript or via REST API)
  • 18. ARM Templates and the Azure Resource Manager • Resource Manager is the core component for all deployments • Resource Manager takes care of • Provisioning and configuring • Parallelizing the deployment • Validating the resources
  • 19. … "administratorLoginPassword": { "reference": { "keyVault": { "id": "/subscriptions/<subscription-id>/resourceGroups/examplegroup/ providers/Microsoft.KeyVault/vaults/<vault-name>" }, "secretName": "examplesecret" } } ARM Templates – Special Features – Key Vault
  • 21. Advanced IaC concepts Dev Staging Prod Developer Central Repo Validation Deployment
  • 23. Conclusion – ARM vs. Terraform Terraform + Plan feature + Dependency managment - Statefile - Security features ARM + Microsoft native + Security features - Plan feature - Dependency managment
  • 24. Conclusion - IaC • Automate your deployment and recovery process • Speed and simplicity • Provides consistency across all deployments and stages • Minimize risks • Necessary in large environments