SlideShare une entreprise Scribd logo
1  sur  35
Bicep vs. Terraform
Infrastructure as Code on Azure
Azure Developer Community Day 2021
#azdevcom
whoami
• Philip Welz
• Senior Kubernetes & DevOps Engineer @ white duck
• Kubernetes Certified { A | AD | S }
• Kubernetes, GitOps & Azure
© white duck GmbH 2021
Email: Philip.Welz@whiteduck.de
Twitter: @philip_welz
LinkedIn: https://www.linkedin.com/in/philip-welz
Blog: https://philinthe.cloud
Agenda
• Infrastructure as Code
• IaC on Azure
• Terraform
• Bicep
• Conclusion
© white duck GmbH 2021
INFRASTRUCTURE AS CODE
© white duck GmbH 2021
Overview
• is the management of infrastructure with declarative
configuration files
• evolved to solve the problem of environment drift
• considered one of the key practices of DevOps and Agile
software development
© white duck GmbH 2021
Tools
• ARM templates
• Bicep
• Terraform
• Pulumi
© white duck GmbH 2021
Workflow
© white duck GmbH 2021
Key principles
• idempotency
• no matter how many times you run your IaC, you will end up
with the same end state
• immutability
• replacing infrastructure instead of change it doesn't
allow configuration drift
© white duck GmbH 2021
Desired state
© white duck GmbH 2021
Benefits
• speed
• everything in source control
• documentation
• consistency
• agility
• reusability
© white duck GmbH 2021
IAC ON AZURE
© white duck GmbH 2021
Azure Resource Manager
• short ARM
• provisioning engine built into Azure exposed as REST API
• authenticates and authorizes requests
• automatically orchestrates the deployment in the correct
order respecting dependencies
• ensures idempotency
© white duck GmbH 2021
Azure Resource Manager
© white duck GmbH 2021
© white duck GmbH 2021
Overview
• by Hashicorp
• first release = 28 July 2014
• 1.0.0 since 8 June 2021
• written in Go
• CLI and DSL (domain-specific language)
• HCL – Hashicorp Configuration Language
• Open Source but optional paid offers available
© white duck GmbH 2021
Key principles
• manage any infrastructure
• standardize your deployment workflow
• track your infrastructure
• community driven
© white duck GmbH 2021
Providers
• Azure RM provider
• Azure AD provider
• Azure Stack provider
• Azure DevOps provider
• GitHub provider
• Kubernetes, Helm provider
• Random, template, …
© white duck GmbH 2021
Terraform workflow
© white duck GmbH 2021
State
• necessary requirement for Terraform to function
• records information about what infrastructure it created
• can contain sensitive data
• stored locally or in a backend
• lock mechanism prevents concurrent execution
© white duck GmbH 2021
© white duck GmbH 2021
ARM Templates
• implement Infrastructure as Code on Azure
• are JavaScript Object Notation (JSON) files
• uses declarative syntax
• specify the resources and the properties for those resources
• deploy the template(s) through one command
© white duck GmbH 2021
Bicep overview
• first release = Fall ’20
• native support by
• Azure CLI since 2.20
• PowerShell AZ module (v5.6.0+)
• written in .NET
• DSL (domain-specific language)
• Open Source
© white duck GmbH 2021
Key principles
• transparent abstraction over ARM template JSON
• much simpler syntax compared to equivalent ARM
template JSON
• modularity
• convert existing templates or resources from the portal
© white duck GmbH 2021
Syntax ARM template
© white duck GmbH 2021
Syntax Bicep
© white duck GmbH 2021
Focus
• support for all resource types and API versions
• no state or state files to manage
• pre-flight validation
• tooling
• support
• non-goals
• one language to rule them all
• general purpose language to meet any need
© white duck GmbH 2021
Workflow
© white duck GmbH 2021
Deployment scopes
• Resource group (most common)
• Subscription
• Management group
• Tenant
© white duck GmbH 2021
Deployment modes
• incremental
• leaves unchanged resources that exist in the resource group
but aren't specified in the template
• complete
• deletes resources that exist in the resource group but aren't
specified in the template
© white duck GmbH 2021
CONCLUSION
© white duck GmbH 2021
Real talk - Terraform
• no deployments scopes
• well adopted but feature implementation can take some time
• not Azure-only focused
• can speak with Azure AD
• can do more, but sometimes it shouldn't
• pitfalls
© white duck GmbH 2021
Real talk - Bicep
• zero-day support for all Azure resource types & API versions
• first class VSCode integration (IntelliSense)
• less complex due to no state
• convert existing templates and or resources
• API ensures always backwards compatibility
• pitfalls
© white duck GmbH 2021
Final verdicts
• IaC != state
• use the tool that suits your needs
• if you are happy with your tooling, stick with it
• no matter what tool you are using, automate your
deployments and execute them regularly
• stay up to date
• use static analysis to enforce cloud governance
© white duck GmbH 2021
Links
• https://aka.ms/learnbicep
• https://bicepdemo.z22.web.core.windows.net
• https://docs.microsoft.com/en-gb/azure/azure-resource-
manager/bicep/compare-template-syntax
• https://www.marcusfelling.com/blog/2021/reasons-to-use-
bicep-over-terraform/
• https://www.thorsten-hans.com/bicep-and-terraform-
compared/
© white duck GmbH 2021
Questions?
• Slides
• https://www.slideshare.net/PhilipWelz
© white duck GmbH 2021
Email: Philip.Welz@whiteduck.de
Twitter: @philip_welz
LinkedIn: https://www.linkedin.com/in/philip-welz
Blog: https://philinthe.cloud

Contenu connexe

Tendances

Tendances (20)

Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
What Is Helm
 What Is Helm What Is Helm
What Is Helm
 
Why Kubernetes on Azure
Why Kubernetes on AzureWhy Kubernetes on Azure
Why Kubernetes on Azure
 
Terraform
TerraformTerraform
Terraform
 
Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!
 
Networking Brush Up for Amazon AWS Administrators
Networking Brush Up for Amazon AWS AdministratorsNetworking Brush Up for Amazon AWS Administrators
Networking Brush Up for Amazon AWS Administrators
 
Operator Framework Overview
Operator Framework OverviewOperator Framework Overview
Operator Framework Overview
 
Deep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line InterfaceDeep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line Interface
 
Azure Resource Manager (ARM) Templates
Azure Resource Manager (ARM) TemplatesAzure Resource Manager (ARM) Templates
Azure Resource Manager (ARM) Templates
 
Optimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWSOptimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWS
 
Azure DevOps CI/CD For Beginners
Azure DevOps CI/CD  For BeginnersAzure DevOps CI/CD  For Beginners
Azure DevOps CI/CD For Beginners
 
Introduction to Azure Blueprints
Introduction to Azure BlueprintsIntroduction to Azure Blueprints
Introduction to Azure Blueprints
 
Azure vidyapeeth -Introduction to Azure Container Service & Registry Service
Azure vidyapeeth -Introduction to Azure Container Service & Registry ServiceAzure vidyapeeth -Introduction to Azure Container Service & Registry Service
Azure vidyapeeth -Introduction to Azure Container Service & Registry Service
 
Introduction to helm
Introduction to helmIntroduction to helm
Introduction to helm
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 
Amazon EKS multi-cluster gitops-bridge
Amazon EKS multi-cluster gitops-bridgeAmazon EKS multi-cluster gitops-bridge
Amazon EKS multi-cluster gitops-bridge
 
How to test infrastructure code: automated testing for Terraform, Kubernetes,...
How to test infrastructure code: automated testing for Terraform, Kubernetes,...How to test infrastructure code: automated testing for Terraform, Kubernetes,...
How to test infrastructure code: automated testing for Terraform, Kubernetes,...
 
Platform Engineering: Manage your infrastructure using Kubernetes and Crossplane
Platform Engineering: Manage your infrastructure using Kubernetes and CrossplanePlatform Engineering: Manage your infrastructure using Kubernetes and Crossplane
Platform Engineering: Manage your infrastructure using Kubernetes and Crossplane
 

Similaire à AzDevCom2021 - Bicep vs Terraform

Festive Tech Calendar: Festive time with AKS networking
Festive Tech Calendar: Festive time with AKS networkingFestive Tech Calendar: Festive time with AKS networking
Festive Tech Calendar: Festive time with AKS networking
Nico Meisenzahl
 

Similaire à AzDevCom2021 - Bicep vs Terraform (20)

Azure Meetup Hamburg: Production-Ready Terraform Deployments on Azure
Azure Meetup Hamburg: Production-Ready Terraform Deployments on AzureAzure Meetup Hamburg: Production-Ready Terraform Deployments on Azure
Azure Meetup Hamburg: Production-Ready Terraform Deployments on Azure
 
DevOpsCon Berlin: Helm vs Operators – Do I Need to Decide?
DevOpsCon Berlin: Helm vs Operators – Do I Need to Decide?DevOpsCon Berlin: Helm vs Operators – Do I Need to Decide?
DevOpsCon Berlin: Helm vs Operators – Do I Need to Decide?
 
Azure Rosenheim Meetup: Azure Service Operator
Azure Rosenheim Meetup: Azure Service OperatorAzure Rosenheim Meetup: Azure Service Operator
Azure Rosenheim Meetup: Azure Service Operator
 
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being HackedKCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked
 
FestiveTechCalendar2021 - Have Yourself An​ Azure Container Registry
FestiveTechCalendar2021 - Have Yourself An​ Azure Container RegistryFestiveTechCalendar2021 - Have Yourself An​ Azure Container Registry
FestiveTechCalendar2021 - Have Yourself An​ Azure Container Registry
 
How to Prevent Your Kubernetes Cluster From Being Hacked
How to Prevent Your Kubernetes Cluster From Being HackedHow to Prevent Your Kubernetes Cluster From Being Hacked
How to Prevent Your Kubernetes Cluster From Being Hacked
 
AzDevCom 2022 - YAMLize your infrastructure with the Azure Service Operator a...
AzDevCom 2022 - YAMLize your infrastructure with the Azure Service Operator a...AzDevCom 2022 - YAMLize your infrastructure with the Azure Service Operator a...
AzDevCom 2022 - YAMLize your infrastructure with the Azure Service Operator a...
 
Effiziente CI/CD-Pipelines – mit den richtigen Tools klappt das
Effiziente CI/CD-Pipelines – mit den richtigen Tools klappt dasEffiziente CI/CD-Pipelines – mit den richtigen Tools klappt das
Effiziente CI/CD-Pipelines – mit den richtigen Tools klappt das
 
Virtual GitLab Meetup: How Containerized Pipelines and Kubernetes Can Boost Y...
Virtual GitLab Meetup: How Containerized Pipelines and Kubernetes Can Boost Y...Virtual GitLab Meetup: How Containerized Pipelines and Kubernetes Can Boost Y...
Virtual GitLab Meetup: How Containerized Pipelines and Kubernetes Can Boost Y...
 
Azure Saturday Hamburg: Containerize Your .NET Microservice - the Right Way!
Azure Saturday Hamburg: Containerize Your .NET Microservice - the Right Way!Azure Saturday Hamburg: Containerize Your .NET Microservice - the Right Way!
Azure Saturday Hamburg: Containerize Your .NET Microservice - the Right Way!
 
GitLab London Meetup: How Containerized Pipelines and Kubernetes Can Boost Yo...
GitLab London Meetup: How Containerized Pipelines and Kubernetes Can Boost Yo...GitLab London Meetup: How Containerized Pipelines and Kubernetes Can Boost Yo...
GitLab London Meetup: How Containerized Pipelines and Kubernetes Can Boost Yo...
 
Festive Tech Calendar: Festive time with AKS networking
Festive Tech Calendar: Festive time with AKS networkingFestive Tech Calendar: Festive time with AKS networking
Festive Tech Calendar: Festive time with AKS networking
 
DevOpsDays 2018 - Migrating a Cloud Native App to k8s
DevOpsDays 2018 - Migrating a Cloud Native App to k8sDevOpsDays 2018 - Migrating a Cloud Native App to k8s
DevOpsDays 2018 - Migrating a Cloud Native App to k8s
 
GitLab Remote Meetup: Enhance Your Kubernetes CI/CD Pipelines with GitLab & O...
GitLab Remote Meetup: Enhance Your Kubernetes CI/CD Pipelines with GitLab & O...GitLab Remote Meetup: Enhance Your Kubernetes CI/CD Pipelines with GitLab & O...
GitLab Remote Meetup: Enhance Your Kubernetes CI/CD Pipelines with GitLab & O...
 
GitLab Remote Meetup: Enhance Your Kubernetes CI/CD Pipelines with GitLab & ...
GitLab Remote Meetup:  Enhance Your Kubernetes CI/CD Pipelines with GitLab & ...GitLab Remote Meetup:  Enhance Your Kubernetes CI/CD Pipelines with GitLab & ...
GitLab Remote Meetup: Enhance Your Kubernetes CI/CD Pipelines with GitLab & ...
 
DevOpsCon London: How containerized Pipelines can boost your CI/CD
DevOpsCon London: How containerized Pipelines can boost your CI/CDDevOpsCon London: How containerized Pipelines can boost your CI/CD
DevOpsCon London: How containerized Pipelines can boost your CI/CD
 
Operating FoundationDB on Kubernetes
Operating FoundationDB on KubernetesOperating FoundationDB on Kubernetes
Operating FoundationDB on Kubernetes
 
Microsoft DevOps Forum 2021 – DevOps & Security
 Microsoft DevOps Forum 2021 – DevOps & Security Microsoft DevOps Forum 2021 – DevOps & Security
Microsoft DevOps Forum 2021 – DevOps & Security
 
DevOps Gathering - How Containerized Pipelines Can Boost Your CI/CD
DevOps Gathering - How Containerized Pipelines Can Boost Your CI/CDDevOps Gathering - How Containerized Pipelines Can Boost Your CI/CD
DevOps Gathering - How Containerized Pipelines Can Boost Your CI/CD
 
GitHub Actions 101
GitHub Actions 101GitHub Actions 101
GitHub Actions 101
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Dernier (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 

AzDevCom2021 - Bicep vs Terraform

  • 1. Bicep vs. Terraform Infrastructure as Code on Azure Azure Developer Community Day 2021 #azdevcom
  • 2. whoami • Philip Welz • Senior Kubernetes & DevOps Engineer @ white duck • Kubernetes Certified { A | AD | S } • Kubernetes, GitOps & Azure © white duck GmbH 2021 Email: Philip.Welz@whiteduck.de Twitter: @philip_welz LinkedIn: https://www.linkedin.com/in/philip-welz Blog: https://philinthe.cloud
  • 3. Agenda • Infrastructure as Code • IaC on Azure • Terraform • Bicep • Conclusion © white duck GmbH 2021
  • 4. INFRASTRUCTURE AS CODE © white duck GmbH 2021
  • 5. Overview • is the management of infrastructure with declarative configuration files • evolved to solve the problem of environment drift • considered one of the key practices of DevOps and Agile software development © white duck GmbH 2021
  • 6. Tools • ARM templates • Bicep • Terraform • Pulumi © white duck GmbH 2021
  • 8. Key principles • idempotency • no matter how many times you run your IaC, you will end up with the same end state • immutability • replacing infrastructure instead of change it doesn't allow configuration drift © white duck GmbH 2021
  • 9. Desired state © white duck GmbH 2021
  • 10. Benefits • speed • everything in source control • documentation • consistency • agility • reusability © white duck GmbH 2021
  • 11. IAC ON AZURE © white duck GmbH 2021
  • 12. Azure Resource Manager • short ARM • provisioning engine built into Azure exposed as REST API • authenticates and authorizes requests • automatically orchestrates the deployment in the correct order respecting dependencies • ensures idempotency © white duck GmbH 2021
  • 13. Azure Resource Manager © white duck GmbH 2021
  • 14. © white duck GmbH 2021
  • 15. Overview • by Hashicorp • first release = 28 July 2014 • 1.0.0 since 8 June 2021 • written in Go • CLI and DSL (domain-specific language) • HCL – Hashicorp Configuration Language • Open Source but optional paid offers available © white duck GmbH 2021
  • 16. Key principles • manage any infrastructure • standardize your deployment workflow • track your infrastructure • community driven © white duck GmbH 2021
  • 17. Providers • Azure RM provider • Azure AD provider • Azure Stack provider • Azure DevOps provider • GitHub provider • Kubernetes, Helm provider • Random, template, … © white duck GmbH 2021
  • 18. Terraform workflow © white duck GmbH 2021
  • 19. State • necessary requirement for Terraform to function • records information about what infrastructure it created • can contain sensitive data • stored locally or in a backend • lock mechanism prevents concurrent execution © white duck GmbH 2021
  • 20. © white duck GmbH 2021
  • 21. ARM Templates • implement Infrastructure as Code on Azure • are JavaScript Object Notation (JSON) files • uses declarative syntax • specify the resources and the properties for those resources • deploy the template(s) through one command © white duck GmbH 2021
  • 22. Bicep overview • first release = Fall ’20 • native support by • Azure CLI since 2.20 • PowerShell AZ module (v5.6.0+) • written in .NET • DSL (domain-specific language) • Open Source © white duck GmbH 2021
  • 23. Key principles • transparent abstraction over ARM template JSON • much simpler syntax compared to equivalent ARM template JSON • modularity • convert existing templates or resources from the portal © white duck GmbH 2021
  • 24. Syntax ARM template © white duck GmbH 2021
  • 25. Syntax Bicep © white duck GmbH 2021
  • 26. Focus • support for all resource types and API versions • no state or state files to manage • pre-flight validation • tooling • support • non-goals • one language to rule them all • general purpose language to meet any need © white duck GmbH 2021
  • 28. Deployment scopes • Resource group (most common) • Subscription • Management group • Tenant © white duck GmbH 2021
  • 29. Deployment modes • incremental • leaves unchanged resources that exist in the resource group but aren't specified in the template • complete • deletes resources that exist in the resource group but aren't specified in the template © white duck GmbH 2021
  • 31. Real talk - Terraform • no deployments scopes • well adopted but feature implementation can take some time • not Azure-only focused • can speak with Azure AD • can do more, but sometimes it shouldn't • pitfalls © white duck GmbH 2021
  • 32. Real talk - Bicep • zero-day support for all Azure resource types & API versions • first class VSCode integration (IntelliSense) • less complex due to no state • convert existing templates and or resources • API ensures always backwards compatibility • pitfalls © white duck GmbH 2021
  • 33. Final verdicts • IaC != state • use the tool that suits your needs • if you are happy with your tooling, stick with it • no matter what tool you are using, automate your deployments and execute them regularly • stay up to date • use static analysis to enforce cloud governance © white duck GmbH 2021
  • 34. Links • https://aka.ms/learnbicep • https://bicepdemo.z22.web.core.windows.net • https://docs.microsoft.com/en-gb/azure/azure-resource- manager/bicep/compare-template-syntax • https://www.marcusfelling.com/blog/2021/reasons-to-use- bicep-over-terraform/ • https://www.thorsten-hans.com/bicep-and-terraform- compared/ © white duck GmbH 2021
  • 35. Questions? • Slides • https://www.slideshare.net/PhilipWelz © white duck GmbH 2021 Email: Philip.Welz@whiteduck.de Twitter: @philip_welz LinkedIn: https://www.linkedin.com/in/philip-welz Blog: https://philinthe.cloud

Notes de l'éditeur

  1. Wiederholbarkeit Verlässlichkeit Effizienz Ersparnisse Sichtbarkeit
  2. Wiederholbarkeit Verlässlichkeit Effizienz Ersparnisse Sichtbarkeit
  3. Wiederholbarkeit Verlässlichkeit Effizienz Ersparnisse Sichtbarkeit
  4. Wiederholbarkeit Verlässlichkeit Effizienz Ersparnisse Sichtbarkeit
  5. Wiederholbarkeit Verlässlichkeit Effizienz Ersparnisse Sichtbarkeit
  6. Wiederholbarkeit Verlässlichkeit Effizienz Ersparnisse Sichtbarkeit
  7. Wiederholbarkeit Verlässlichkeit Effizienz Ersparnisse Sichtbarkeit
  8. Wiederholbarkeit Verlässlichkeit Effizienz Ersparnisse Sichtbarkeit
  9. Wiederholbarkeit Verlässlichkeit Effizienz Ersparnisse Sichtbarkeit
  10. Wiederholbarkeit Verlässlichkeit Effizienz Ersparnisse Sichtbarkeit
  11. Wiederholbarkeit Verlässlichkeit Effizienz Ersparnisse Sichtbarkeit
  12. Wiederholbarkeit Verlässlichkeit Effizienz Ersparnisse Sichtbarkeit
  13. Wiederholbarkeit Verlässlichkeit Effizienz Ersparnisse Sichtbarkeit
  14. Wiederholbarkeit Verlässlichkeit Effizienz Ersparnisse Sichtbarkeit
  15. Wiederholbarkeit Verlässlichkeit Effizienz Ersparnisse Sichtbarkeit
  16. Wiederholbarkeit Verlässlichkeit Effizienz Ersparnisse Sichtbarkeit
  17. Wiederholbarkeit Verlässlichkeit Effizienz Ersparnisse Sichtbarkeit
  18. Wiederholbarkeit Verlässlichkeit Effizienz Ersparnisse Sichtbarkeit
  19. Wiederholbarkeit Verlässlichkeit Effizienz Ersparnisse Sichtbarkeit