SlideShare ist ein Scribd-Unternehmen logo
1 von 16
©2018 Avanade Inc. All Rights Reserved.
©2017 Avanade Inc. All Rights Reserved.
aka ARM, Infrastructure-as-Code (IaC), or the “Ops” of DevOps
Azure Resource Manager
©2018 Avanade Inc. All Rights Reserved.
What we’re going to talk about
2
Introduction to ARM
What is Azure Resource Manager?
Tools we can use
ARM Template Structure
Demos
Review / Q&A
Useful Links
©2018 Avanade Inc. All Rights Reserved.
Manager, Infrastructure Consulting – Cloud @ Avanade
• Cloud Solutions Architect (Datacenter/Azure)
• Azure (IaaS, PaaS, Recovery Services)
• Operations Management Suite (OMS), Azure Monitor,
Azure Security Center (ASC)
3x MVP - Cloud and Datacenter Management (CDM)
Email: Adin.Ermie@outlook.com
Twitter: @AdinErmie
LinkedIn: https://www.linkedin.com/in/adinermie
Blog: http://AdinErmie.com
Who Am I?
3
©2018 Avanade Inc. All Rights Reserved.
Background
• Azure Resource Manager, or ARM, is the primary deployment type for Azure
• Replaces the classic Azure Service Manager (ASM) model; aka “Azure v1”
• Used across cloud environments, including: Public (Azure), Sovereign (Gov Cloud), and Private
(Azure Stack)
The ARM model lets you state "Here is what I intend to create" without having to write the
sequence of programming commands to create it.
Azure Resource Manager template - A JavaScript Object Notation (JSON) file that defines one
or more resources to deploy to a resource group. It also defines the dependencies between
the deployed resources. The template can be used to deploy the resources consistently and
repeatedly.
Introduction to ARM
4
©2018 Avanade Inc. All Rights Reserved.
What is Azure Resource Manager?
Resource
Grouping
Resource
Dependencies
Repeatable
Deployments
Deployment
Templates
Role Based
Access Control
(RBAC)
Granular
Billing /
Resource
Tagging
©2018 Avanade Inc. All Rights Reserved.
• Visual Studio
• Visual Studio Code
• Terraform, Azure Building Blocks, Ansible, etc.
• Configuration via Azure Automation DSC (aka PowerShell DSC), IaaS VM Custom Script
Extension, Puppet, Chef, Salt Stack
• Visualize with ARMViz
Tools We Can Use
6
We’re going to use Visual Studio Code. Why? Because it’s lightweight, and cross-platform supported (i.e.
Windows, MacOS, Linux)
©2018 Avanade Inc. All Rights Reserved.
ARM Template Core Structure
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [],
"outputs": {}
}
©2018 Avanade Inc. All Rights Reserved.
https://github.com/Azure/azure-resource-manager-schemas
Azure Resource Manager Templates Schemas
©2018 Avanade Inc. All Rights Reserved.
ARM Template Parameters
"parameters": {
"storageAccountType": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_ZRS",
"Premium_LRS"
],
"metadata": {
"description": "Storage Account type"
}
} ,
"storageAccountName": {
"type": "string",
"defaultValue": "azureglobalbootcamp2018",
"maxlength": 24,
"metadata": {
"description":"The name of the Storage Account"
}
}
©2018 Avanade Inc. All Rights Reserved.
ARM Template Variables
"variables": {
"storageName": "[toLower(concat(parameters('storageAccountName'),
parameters('storageAccountType'), '-sa'))]"
},
©2018 Avanade Inc. All Rights Reserved.
ARM Template Resources
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2017-10-01",
"name": "[parameters('storageAccountName')]",
"location": "[resourceGroup().location]",
"sku": {
"name": "[parameters('storageAccountType')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true,
"accessTier": "Hot",
"encryption": {
"services": {
"blob": {
"enabled": true
}
},
],
©2018 Avanade Inc. All Rights Reserved.
ARM Template Outputs
"outputs": {
"storageAccount": {
"type": "string",
"value": "[parameters('storageAccountName')]"
}
}
©2018 Avanade Inc. All Rights Reserved.
Demos
1. Simple ARM template deployment with PowerShell
2. Azure Quick Start Gallery
3. How to extract ARM template of existing resources
4. Adding a Template directly from Azure Portal
©2018 Avanade Inc. All Rights Reserved.
• Used across Public (Azure), Sovereign (Gov Cloud), and Private (Azure Stack)
• Obtain more granularity, tagging, RBAC
• Repeatable, templated deployments (including dependencies)
• Remember the Best Practices
• Metadata
• Descriptive Names
• pascalCasing
• Impose restrictions (i.e. MinLength, AllowedValues, etc.)
• Use Variables
• Do not store sensitive information in the parameters file (i.e. the Local Admin password)
Review / Q & A
©2018 Avanade Inc. All Rights Reserved.
Azure Resource Manager Overview: https://docs.microsoft.com/en-us/azure/azure-resource-
manager/resource-group-overview
Visual Studio Code: https://code.visualstudio.com/#alt-downloads
Azure Resource Explorer: http://resources.azure.com/
Azure Quick Start Templates: https://azure.microsoft.com/en-us/resources/templates/
GitHub Quick Start Templates: https://github.com/Azure/azure-quickstart-templates
Adin’s Resources: https://adinermie.com/resources/
Useful Links
©2018 Avanade Inc. All Rights Reserved.
Email: Adin.Ermie@outlook.com
Twitter: @AdinErmie
LinkedIn: https://www.linkedin.com/in/adinermie
Blog: http://AdinErmie.com
Thank You
16

Weitere ähnliche Inhalte

Was ist angesagt?

20180801 AWS Black Belt Online Seminar Amazon QuickSight アップデート
20180801 AWS Black Belt Online Seminar Amazon QuickSight アップデート20180801 AWS Black Belt Online Seminar Amazon QuickSight アップデート
20180801 AWS Black Belt Online Seminar Amazon QuickSight アップデートAmazon Web Services Japan
 
Module 3: Security, Identity and Access Management - AWSome Day Online Confer...
Module 3: Security, Identity and Access Management - AWSome Day Online Confer...Module 3: Security, Identity and Access Management - AWSome Day Online Confer...
Module 3: Security, Identity and Access Management - AWSome Day Online Confer...Amazon Web Services
 
AWSome Day Geneva Main Track: Infrastructure Part 1.pdf
AWSome Day Geneva Main Track: Infrastructure Part 1.pdfAWSome Day Geneva Main Track: Infrastructure Part 1.pdf
AWSome Day Geneva Main Track: Infrastructure Part 1.pdfAmazon Web Services
 
Module 4 - AWSome Day Online Conference 2018
Module 4 - AWSome Day Online Conference 2018Module 4 - AWSome Day Online Conference 2018
Module 4 - AWSome Day Online Conference 2018Amazon Web Services
 
Module 3 - AWSome Day Online Conference 2018
Module 3 - AWSome Day Online Conference 2018Module 3 - AWSome Day Online Conference 2018
Module 3 - AWSome Day Online Conference 2018Amazon Web Services
 
Achieving Continuous Compliance with CTP and AWS
Achieving Continuous Compliance with CTP and AWS Achieving Continuous Compliance with CTP and AWS
Achieving Continuous Compliance with CTP and AWS Amazon Web Services
 
Module 2 AWS Foundational Services - AWSome Day Online Conference
Module 2 AWS Foundational Services - AWSome Day Online Conference Module 2 AWS Foundational Services - AWSome Day Online Conference
Module 2 AWS Foundational Services - AWSome Day Online Conference Amazon Web Services
 
Identity and Access Management: The First Step in AWS Security
Identity and Access Management: The First Step in AWS SecurityIdentity and Access Management: The First Step in AWS Security
Identity and Access Management: The First Step in AWS SecurityAmazon Web Services
 
How to Become an IAM Policy Ninja
How to Become an IAM Policy NinjaHow to Become an IAM Policy Ninja
How to Become an IAM Policy NinjaAmazon Web Services
 
Module 1: AWS Introduction and History - AWSome Day Online Conference - APAC
Module 1: AWS Introduction and History - AWSome Day Online Conference - APACModule 1: AWS Introduction and History - AWSome Day Online Conference - APAC
Module 1: AWS Introduction and History - AWSome Day Online Conference - APACAmazon Web Services
 
Data Protection in Transit and at Rest
Data Protection in Transit and at RestData Protection in Transit and at Rest
Data Protection in Transit and at RestAmazon Web Services
 
AWSome Day Online Conference 2018 - Module 2
AWSome Day Online Conference 2018 -  Module 2AWSome Day Online Conference 2018 -  Module 2
AWSome Day Online Conference 2018 - Module 2Amazon Web Services
 
A Practitioner's Guide to Securing Your Cloud (Like an Expert) (SEC203-R1) - ...
A Practitioner's Guide to Securing Your Cloud (Like an Expert) (SEC203-R1) - ...A Practitioner's Guide to Securing Your Cloud (Like an Expert) (SEC203-R1) - ...
A Practitioner's Guide to Securing Your Cloud (Like an Expert) (SEC203-R1) - ...Amazon Web Services
 
Enabling Compliance with GDPR on AWS.pdf
Enabling Compliance with GDPR on AWS.pdfEnabling Compliance with GDPR on AWS.pdf
Enabling Compliance with GDPR on AWS.pdfAmazon Web Services
 
AWSサービスで実現するEightの行動ログ活用基盤
AWSサービスで実現するEightの行動ログ活用基盤AWSサービスで実現するEightの行動ログ活用基盤
AWSサービスで実現するEightの行動ログ活用基盤Tetsuya Mase
 
So You Want to be Well-Architected?
So You Want to be Well-Architected?So You Want to be Well-Architected?
So You Want to be Well-Architected?Amazon Web Services
 
AWS SysOps Administrator Training | AWS SysOps Tutorial | Edureka
AWS SysOps Administrator Training | AWS SysOps Tutorial | EdurekaAWS SysOps Administrator Training | AWS SysOps Tutorial | Edureka
AWS SysOps Administrator Training | AWS SysOps Tutorial | EdurekaEdureka!
 
Introduction to AWS Security: Security Week at the SF Loft
Introduction to AWS Security: Security Week at the SF LoftIntroduction to AWS Security: Security Week at the SF Loft
Introduction to AWS Security: Security Week at the SF LoftAmazon Web Services
 

Was ist angesagt? (19)

20180801 AWS Black Belt Online Seminar Amazon QuickSight アップデート
20180801 AWS Black Belt Online Seminar Amazon QuickSight アップデート20180801 AWS Black Belt Online Seminar Amazon QuickSight アップデート
20180801 AWS Black Belt Online Seminar Amazon QuickSight アップデート
 
Module 3: Security, Identity and Access Management - AWSome Day Online Confer...
Module 3: Security, Identity and Access Management - AWSome Day Online Confer...Module 3: Security, Identity and Access Management - AWSome Day Online Confer...
Module 3: Security, Identity and Access Management - AWSome Day Online Confer...
 
AWSome Day Geneva Main Track: Infrastructure Part 1.pdf
AWSome Day Geneva Main Track: Infrastructure Part 1.pdfAWSome Day Geneva Main Track: Infrastructure Part 1.pdf
AWSome Day Geneva Main Track: Infrastructure Part 1.pdf
 
SID314_IAM Policy Ninja
SID314_IAM Policy NinjaSID314_IAM Policy Ninja
SID314_IAM Policy Ninja
 
Module 4 - AWSome Day Online Conference 2018
Module 4 - AWSome Day Online Conference 2018Module 4 - AWSome Day Online Conference 2018
Module 4 - AWSome Day Online Conference 2018
 
Module 3 - AWSome Day Online Conference 2018
Module 3 - AWSome Day Online Conference 2018Module 3 - AWSome Day Online Conference 2018
Module 3 - AWSome Day Online Conference 2018
 
Achieving Continuous Compliance with CTP and AWS
Achieving Continuous Compliance with CTP and AWS Achieving Continuous Compliance with CTP and AWS
Achieving Continuous Compliance with CTP and AWS
 
Module 2 AWS Foundational Services - AWSome Day Online Conference
Module 2 AWS Foundational Services - AWSome Day Online Conference Module 2 AWS Foundational Services - AWSome Day Online Conference
Module 2 AWS Foundational Services - AWSome Day Online Conference
 
Identity and Access Management: The First Step in AWS Security
Identity and Access Management: The First Step in AWS SecurityIdentity and Access Management: The First Step in AWS Security
Identity and Access Management: The First Step in AWS Security
 
How to Become an IAM Policy Ninja
How to Become an IAM Policy NinjaHow to Become an IAM Policy Ninja
How to Become an IAM Policy Ninja
 
Module 1: AWS Introduction and History - AWSome Day Online Conference - APAC
Module 1: AWS Introduction and History - AWSome Day Online Conference - APACModule 1: AWS Introduction and History - AWSome Day Online Conference - APAC
Module 1: AWS Introduction and History - AWSome Day Online Conference - APAC
 
Data Protection in Transit and at Rest
Data Protection in Transit and at RestData Protection in Transit and at Rest
Data Protection in Transit and at Rest
 
AWSome Day Online Conference 2018 - Module 2
AWSome Day Online Conference 2018 -  Module 2AWSome Day Online Conference 2018 -  Module 2
AWSome Day Online Conference 2018 - Module 2
 
A Practitioner's Guide to Securing Your Cloud (Like an Expert) (SEC203-R1) - ...
A Practitioner's Guide to Securing Your Cloud (Like an Expert) (SEC203-R1) - ...A Practitioner's Guide to Securing Your Cloud (Like an Expert) (SEC203-R1) - ...
A Practitioner's Guide to Securing Your Cloud (Like an Expert) (SEC203-R1) - ...
 
Enabling Compliance with GDPR on AWS.pdf
Enabling Compliance with GDPR on AWS.pdfEnabling Compliance with GDPR on AWS.pdf
Enabling Compliance with GDPR on AWS.pdf
 
AWSサービスで実現するEightの行動ログ活用基盤
AWSサービスで実現するEightの行動ログ活用基盤AWSサービスで実現するEightの行動ログ活用基盤
AWSサービスで実現するEightの行動ログ活用基盤
 
So You Want to be Well-Architected?
So You Want to be Well-Architected?So You Want to be Well-Architected?
So You Want to be Well-Architected?
 
AWS SysOps Administrator Training | AWS SysOps Tutorial | Edureka
AWS SysOps Administrator Training | AWS SysOps Tutorial | EdurekaAWS SysOps Administrator Training | AWS SysOps Tutorial | Edureka
AWS SysOps Administrator Training | AWS SysOps Tutorial | Edureka
 
Introduction to AWS Security: Security Week at the SF Loft
Introduction to AWS Security: Security Week at the SF LoftIntroduction to AWS Security: Security Week at the SF Loft
Introduction to AWS Security: Security Week at the SF Loft
 

Ähnlich wie Global Azure Bootcamp 2018 - Azure Resource Manager (ARM)

Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018Amazon Web Services
 
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...Amazon Web Services
 
O365Con18 - Using ARM Templates to Deploy Solutions on Azure - Kevin Timmermann
O365Con18 - Using ARM Templates to Deploy Solutions on Azure - Kevin TimmermannO365Con18 - Using ARM Templates to Deploy Solutions on Azure - Kevin Timmermann
O365Con18 - Using ARM Templates to Deploy Solutions on Azure - Kevin TimmermannNCCOMMS
 
Estate and Patch Management Infrastructure and Operations as Code
Estate and Patch Management Infrastructure and Operations as CodeEstate and Patch Management Infrastructure and Operations as Code
Estate and Patch Management Infrastructure and Operations as CodeAmazon Web Services
 
Crash Course in Security Best Practices, AWS Startup Day Cape Town 2018
Crash Course in Security Best Practices, AWS Startup Day Cape Town 2018Crash Course in Security Best Practices, AWS Startup Day Cape Town 2018
Crash Course in Security Best Practices, AWS Startup Day Cape Town 2018Amazon Web Services
 
Data Security in the Cloud - Matt Taylor - AWS TechShift ANZ 2018
Data Security in the Cloud - Matt Taylor - AWS TechShift ANZ 2018Data Security in the Cloud - Matt Taylor - AWS TechShift ANZ 2018
Data Security in the Cloud - Matt Taylor - AWS TechShift ANZ 2018Amazon Web Services
 
Operational Excellence for Identity & Access Management (SEC334) - AWS re:Inv...
Operational Excellence for Identity & Access Management (SEC334) - AWS re:Inv...Operational Excellence for Identity & Access Management (SEC334) - AWS re:Inv...
Operational Excellence for Identity & Access Management (SEC334) - AWS re:Inv...Amazon Web Services
 
Migrazione di Database e Data Warehouse su AWS
Migrazione di Database e Data Warehouse su AWSMigrazione di Database e Data Warehouse su AWS
Migrazione di Database e Data Warehouse su AWSAmazon Web Services
 
AWS Systems Manage: Bridging Operational Models
AWS Systems Manage: Bridging Operational Models AWS Systems Manage: Bridging Operational Models
AWS Systems Manage: Bridging Operational Models Amazon Web Services
 
Nirav Kothari: Well-Architected - Operational Excellence Instructor Led Lab.pdf
Nirav Kothari: Well-Architected - Operational Excellence Instructor Led Lab.pdfNirav Kothari: Well-Architected - Operational Excellence Instructor Led Lab.pdf
Nirav Kothari: Well-Architected - Operational Excellence Instructor Led Lab.pdfAmazon Web Services
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteArun Gupta
 
DevSecOps 的規模化實踐 (Level: 300-400)
DevSecOps 的規模化實踐 (Level: 300-400)DevSecOps 的規模化實踐 (Level: 300-400)
DevSecOps 的規模化實踐 (Level: 300-400)Amazon Web Services
 
Migrate Microsoft Applications to AWS like an Expert (WIN301) - AWS re:Invent...
Migrate Microsoft Applications to AWS like an Expert (WIN301) - AWS re:Invent...Migrate Microsoft Applications to AWS like an Expert (WIN301) - AWS re:Invent...
Migrate Microsoft Applications to AWS like an Expert (WIN301) - AWS re:Invent...Amazon Web Services
 
Migrate & Modernize your legacy Microsoft applications with AWS
Migrate & Modernize your legacy Microsoft applications with AWSMigrate & Modernize your legacy Microsoft applications with AWS
Migrate & Modernize your legacy Microsoft applications with AWSAmazon Web Services
 
Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...
Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...
Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...Amazon Web Services
 
The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...
The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...
The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...Amazon Web Services
 
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...Chris Munns
 

Ähnlich wie Global Azure Bootcamp 2018 - Azure Resource Manager (ARM) (20)

Azure arm templates
Azure arm templatesAzure arm templates
Azure arm templates
 
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
 
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...
 
O365Con18 - Using ARM Templates to Deploy Solutions on Azure - Kevin Timmermann
O365Con18 - Using ARM Templates to Deploy Solutions on Azure - Kevin TimmermannO365Con18 - Using ARM Templates to Deploy Solutions on Azure - Kevin Timmermann
O365Con18 - Using ARM Templates to Deploy Solutions on Azure - Kevin Timmermann
 
Estate and Patch Management Infrastructure and Operations as Code
Estate and Patch Management Infrastructure and Operations as CodeEstate and Patch Management Infrastructure and Operations as Code
Estate and Patch Management Infrastructure and Operations as Code
 
Crash Course in Security Best Practices, AWS Startup Day Cape Town 2018
Crash Course in Security Best Practices, AWS Startup Day Cape Town 2018Crash Course in Security Best Practices, AWS Startup Day Cape Town 2018
Crash Course in Security Best Practices, AWS Startup Day Cape Town 2018
 
Data Security in the Cloud - Matt Taylor - AWS TechShift ANZ 2018
Data Security in the Cloud - Matt Taylor - AWS TechShift ANZ 2018Data Security in the Cloud - Matt Taylor - AWS TechShift ANZ 2018
Data Security in the Cloud - Matt Taylor - AWS TechShift ANZ 2018
 
APN Live - Technical Track
APN Live - Technical TrackAPN Live - Technical Track
APN Live - Technical Track
 
Operational Excellence for Identity & Access Management (SEC334) - AWS re:Inv...
Operational Excellence for Identity & Access Management (SEC334) - AWS re:Inv...Operational Excellence for Identity & Access Management (SEC334) - AWS re:Inv...
Operational Excellence for Identity & Access Management (SEC334) - AWS re:Inv...
 
Migrazione di Database e Data Warehouse su AWS
Migrazione di Database e Data Warehouse su AWSMigrazione di Database e Data Warehouse su AWS
Migrazione di Database e Data Warehouse su AWS
 
AWS Systems Manage: Bridging Operational Models
AWS Systems Manage: Bridging Operational Models AWS Systems Manage: Bridging Operational Models
AWS Systems Manage: Bridging Operational Models
 
Nirav Kothari: Well-Architected - Operational Excellence Instructor Led Lab.pdf
Nirav Kothari: Well-Architected - Operational Excellence Instructor Led Lab.pdfNirav Kothari: Well-Architected - Operational Excellence Instructor Led Lab.pdf
Nirav Kothari: Well-Architected - Operational Excellence Instructor Led Lab.pdf
 
Enterprise Security
Enterprise SecurityEnterprise Security
Enterprise Security
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 Keynote
 
DevSecOps 的規模化實踐 (Level: 300-400)
DevSecOps 的規模化實踐 (Level: 300-400)DevSecOps 的規模化實踐 (Level: 300-400)
DevSecOps 的規模化實踐 (Level: 300-400)
 
Migrate Microsoft Applications to AWS like an Expert (WIN301) - AWS re:Invent...
Migrate Microsoft Applications to AWS like an Expert (WIN301) - AWS re:Invent...Migrate Microsoft Applications to AWS like an Expert (WIN301) - AWS re:Invent...
Migrate Microsoft Applications to AWS like an Expert (WIN301) - AWS re:Invent...
 
Migrate & Modernize your legacy Microsoft applications with AWS
Migrate & Modernize your legacy Microsoft applications with AWSMigrate & Modernize your legacy Microsoft applications with AWS
Migrate & Modernize your legacy Microsoft applications with AWS
 
Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...
Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...
Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...
 
The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...
The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...
The Best Practices and Hard Lessons Learned of Serverless Applications - AWS ...
 
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...
AWS Startup Day - Boston 2018 - The Best Practices and Hard Lessons Learned o...
 

Mehr von Adin Ermie

Deploying Azure DevOps using Terraform
Deploying Azure DevOps using TerraformDeploying Azure DevOps using Terraform
Deploying Azure DevOps using TerraformAdin Ermie
 
Infrastructure-as-Code (IaC) Using Terraform (Advanced Edition)
Infrastructure-as-Code (IaC) Using Terraform (Advanced Edition)Infrastructure-as-Code (IaC) Using Terraform (Advanced Edition)
Infrastructure-as-Code (IaC) Using Terraform (Advanced Edition)Adin Ermie
 
Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)
Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)
Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)Adin Ermie
 
Infrastructure-as-Code (IaC) using Terraform
Infrastructure-as-Code (IaC) using TerraformInfrastructure-as-Code (IaC) using Terraform
Infrastructure-as-Code (IaC) using TerraformAdin Ermie
 
Power of the Cloud - Introduction to Microsoft Azure Security
Power of the Cloud - Introduction to Microsoft Azure SecurityPower of the Cloud - Introduction to Microsoft Azure Security
Power of the Cloud - Introduction to Microsoft Azure SecurityAdin Ermie
 
Global Azure Bootcamp 2017 - Performance and Health Management for Modern App...
Global Azure Bootcamp 2017 - Performance and Health Management for Modern App...Global Azure Bootcamp 2017 - Performance and Health Management for Modern App...
Global Azure Bootcamp 2017 - Performance and Health Management for Modern App...Adin Ermie
 
The Azure Group - Azure Network Watcher
The Azure Group - Azure Network WatcherThe Azure Group - Azure Network Watcher
The Azure Group - Azure Network WatcherAdin Ermie
 

Mehr von Adin Ermie (7)

Deploying Azure DevOps using Terraform
Deploying Azure DevOps using TerraformDeploying Azure DevOps using Terraform
Deploying Azure DevOps using Terraform
 
Infrastructure-as-Code (IaC) Using Terraform (Advanced Edition)
Infrastructure-as-Code (IaC) Using Terraform (Advanced Edition)Infrastructure-as-Code (IaC) Using Terraform (Advanced Edition)
Infrastructure-as-Code (IaC) Using Terraform (Advanced Edition)
 
Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)
Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)
Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)
 
Infrastructure-as-Code (IaC) using Terraform
Infrastructure-as-Code (IaC) using TerraformInfrastructure-as-Code (IaC) using Terraform
Infrastructure-as-Code (IaC) using Terraform
 
Power of the Cloud - Introduction to Microsoft Azure Security
Power of the Cloud - Introduction to Microsoft Azure SecurityPower of the Cloud - Introduction to Microsoft Azure Security
Power of the Cloud - Introduction to Microsoft Azure Security
 
Global Azure Bootcamp 2017 - Performance and Health Management for Modern App...
Global Azure Bootcamp 2017 - Performance and Health Management for Modern App...Global Azure Bootcamp 2017 - Performance and Health Management for Modern App...
Global Azure Bootcamp 2017 - Performance and Health Management for Modern App...
 
The Azure Group - Azure Network Watcher
The Azure Group - Azure Network WatcherThe Azure Group - Azure Network Watcher
The Azure Group - Azure Network Watcher
 

Kürzlich hochgeladen

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Kürzlich hochgeladen (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

Global Azure Bootcamp 2018 - Azure Resource Manager (ARM)

  • 1. ©2018 Avanade Inc. All Rights Reserved. ©2017 Avanade Inc. All Rights Reserved. aka ARM, Infrastructure-as-Code (IaC), or the “Ops” of DevOps Azure Resource Manager
  • 2. ©2018 Avanade Inc. All Rights Reserved. What we’re going to talk about 2 Introduction to ARM What is Azure Resource Manager? Tools we can use ARM Template Structure Demos Review / Q&A Useful Links
  • 3. ©2018 Avanade Inc. All Rights Reserved. Manager, Infrastructure Consulting – Cloud @ Avanade • Cloud Solutions Architect (Datacenter/Azure) • Azure (IaaS, PaaS, Recovery Services) • Operations Management Suite (OMS), Azure Monitor, Azure Security Center (ASC) 3x MVP - Cloud and Datacenter Management (CDM) Email: Adin.Ermie@outlook.com Twitter: @AdinErmie LinkedIn: https://www.linkedin.com/in/adinermie Blog: http://AdinErmie.com Who Am I? 3
  • 4. ©2018 Avanade Inc. All Rights Reserved. Background • Azure Resource Manager, or ARM, is the primary deployment type for Azure • Replaces the classic Azure Service Manager (ASM) model; aka “Azure v1” • Used across cloud environments, including: Public (Azure), Sovereign (Gov Cloud), and Private (Azure Stack) The ARM model lets you state "Here is what I intend to create" without having to write the sequence of programming commands to create it. Azure Resource Manager template - A JavaScript Object Notation (JSON) file that defines one or more resources to deploy to a resource group. It also defines the dependencies between the deployed resources. The template can be used to deploy the resources consistently and repeatedly. Introduction to ARM 4
  • 5. ©2018 Avanade Inc. All Rights Reserved. What is Azure Resource Manager? Resource Grouping Resource Dependencies Repeatable Deployments Deployment Templates Role Based Access Control (RBAC) Granular Billing / Resource Tagging
  • 6. ©2018 Avanade Inc. All Rights Reserved. • Visual Studio • Visual Studio Code • Terraform, Azure Building Blocks, Ansible, etc. • Configuration via Azure Automation DSC (aka PowerShell DSC), IaaS VM Custom Script Extension, Puppet, Chef, Salt Stack • Visualize with ARMViz Tools We Can Use 6 We’re going to use Visual Studio Code. Why? Because it’s lightweight, and cross-platform supported (i.e. Windows, MacOS, Linux)
  • 7. ©2018 Avanade Inc. All Rights Reserved. ARM Template Core Structure { "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": {}, "variables": {}, "resources": [], "outputs": {} }
  • 8. ©2018 Avanade Inc. All Rights Reserved. https://github.com/Azure/azure-resource-manager-schemas Azure Resource Manager Templates Schemas
  • 9. ©2018 Avanade Inc. All Rights Reserved. ARM Template Parameters "parameters": { "storageAccountType": { "type": "string", "defaultValue": "Standard_LRS", "allowedValues": [ "Standard_LRS", "Standard_GRS", "Standard_ZRS", "Premium_LRS" ], "metadata": { "description": "Storage Account type" } } , "storageAccountName": { "type": "string", "defaultValue": "azureglobalbootcamp2018", "maxlength": 24, "metadata": { "description":"The name of the Storage Account" } }
  • 10. ©2018 Avanade Inc. All Rights Reserved. ARM Template Variables "variables": { "storageName": "[toLower(concat(parameters('storageAccountName'), parameters('storageAccountType'), '-sa'))]" },
  • 11. ©2018 Avanade Inc. All Rights Reserved. ARM Template Resources "resources": [ { "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2017-10-01", "name": "[parameters('storageAccountName')]", "location": "[resourceGroup().location]", "sku": { "name": "[parameters('storageAccountType')]" }, "kind": "StorageV2", "properties": { "supportsHttpsTrafficOnly": true, "accessTier": "Hot", "encryption": { "services": { "blob": { "enabled": true } }, ],
  • 12. ©2018 Avanade Inc. All Rights Reserved. ARM Template Outputs "outputs": { "storageAccount": { "type": "string", "value": "[parameters('storageAccountName')]" } }
  • 13. ©2018 Avanade Inc. All Rights Reserved. Demos 1. Simple ARM template deployment with PowerShell 2. Azure Quick Start Gallery 3. How to extract ARM template of existing resources 4. Adding a Template directly from Azure Portal
  • 14. ©2018 Avanade Inc. All Rights Reserved. • Used across Public (Azure), Sovereign (Gov Cloud), and Private (Azure Stack) • Obtain more granularity, tagging, RBAC • Repeatable, templated deployments (including dependencies) • Remember the Best Practices • Metadata • Descriptive Names • pascalCasing • Impose restrictions (i.e. MinLength, AllowedValues, etc.) • Use Variables • Do not store sensitive information in the parameters file (i.e. the Local Admin password) Review / Q & A
  • 15. ©2018 Avanade Inc. All Rights Reserved. Azure Resource Manager Overview: https://docs.microsoft.com/en-us/azure/azure-resource- manager/resource-group-overview Visual Studio Code: https://code.visualstudio.com/#alt-downloads Azure Resource Explorer: http://resources.azure.com/ Azure Quick Start Templates: https://azure.microsoft.com/en-us/resources/templates/ GitHub Quick Start Templates: https://github.com/Azure/azure-quickstart-templates Adin’s Resources: https://adinermie.com/resources/ Useful Links
  • 16. ©2018 Avanade Inc. All Rights Reserved. Email: Adin.Ermie@outlook.com Twitter: @AdinErmie LinkedIn: https://www.linkedin.com/in/adinermie Blog: http://AdinErmie.com Thank You 16

Hinweis der Redaktion

  1. This is fundamentally different to the imperative form of PowerShell or Bash scripts, that tell the ARM layer exactly what to do. With the declarative form the ARM layer will interpret the template and the current configuration of resources within the resource group and will then make the required additions or modifications.
  2. Objective: To show an illustration of the core content/sections of an ARM template Notes: This simply shows the bare-bones key sections that each ARM template contains The key sections are : Schema – location of the schema file that describes the template language ContentVersion – Version of the template instance. Parameters – these are values that provided when deployment is executed in order to customize the deployment Variables – these are computed elements (often composed from Parameters) that can be reused by name throughout the template Resources – the definitions of the actual resources being deployed (or updated) Outputs – Values returned after deployment
  3. Parameter Best Practices: If possible, try to always provide Default Values Provide metadata to clearly indicate what the parameter is used for Provide complete descriptive names, no matter how long Use Pascal Casing to name your parameters (i.e. the First letter should be a small letter). Then every new word will have the first letter as a capital. Also, do not include spaces between words (i.e. windowsOSVersion) Use properties like minLength and allowedValues to impose restrictions, as this will help to reduce human error
  4. Variable Best Practices: Provide complete descriptive names, no matter how long. Use Pascal Casing to name your parameters (i.e. the First letter should be a small letter). Then every new word will have the first letter as a capital. Also, do not include spaces between words (i.e. storageAccountName) Use constructs to dynamically generate variables, as this will reduce human error If you have a field or property that is used more than once, and does not require input from the end-user, create a variable for it. This will minimize the number of places you need to update/change the value throughout your template as you iterate
  5. Points to Note: The dependencies between resources are evaluated and resources are deployed in their dependent order. When resources are not dependent on each other, they are attempted to be deployed in parallel. When developing an ARM template for a Production-ready environment, strive to have more tag options available at creation time. Always test your ARM templates prior to deploying. There is a cmdlet that you can use to do this: Test-AzureRmResourceGroupDeployment -ResourceGroupName TestResourceGroup01 -TemplateFile <PathToJsonTemplate> As a best practice, do not store sensitive information in the parameters file (i.e. the Local Admin password). Either provide it dynamically via inline parameters, or use and reference Azure Key Vault
  6. This is useful when using Nested Templates, to pass Resource IDs/Names back to a Master template.
  7. Demo #1 (Simple Template): Show the Simple - Azure Storage Account.json file Demo #2 (Gallery): URL: https://azure.microsoft.com/en-us/resources/templates/ Search for: 2 VMs in VNET - Internal Load Balancer and LB rules Demo #3 (Template Extraction): Navigate to the Azure Portal > Resource Groups > AdinErmieWebsiteRG > Settings: Automation Script (may take a minute to load)
  8. I’m calling out tagging because I see this missing in a lot of environments, and it’s a lot of work to go back and apply tagging after deployment It’s a huge help with trying to breakdown billing information