SlideShare a Scribd company logo
INTRODUCTION TO
AZURE RESOURCE MANAGER
Łukasz Kałużny
Senior Cloud Architect @
MVP: Microsoft Azure
You can find me at:
blog.kaluzny.pro
@kaluzaaa
AZURE RESOURCE MANAGER API
Areas of Focus
Deploy Organize Control
Resource Group
 container for multiple resources
 resources exist in one* resource
group
 resource groups can span regions
 resource groups can span services
*and only one
RESOURCE GROUP
Deployment
Deployment
 tracks template execution
 created within a resource group
 allows nested deployments
RESOURCE GROUP
Deploying with Azure Resource Manager
 template-driven
 declarative
 multi-service
 multi-region
 extensible
@ a glance - template language expressions*
base64encode(‘stringtoencode’)
concat(‘string’,’to’,’encode’)
copyIndex(offset)
listKeys(storageAccountResourceId, apiVersion)
padLeft(stringToPad,targetLength,paddingCharacter)
parameters(‘parameterName’)
providers(namespace, resourceType)
reference(resourceId,apiVersion)
resourceGroup()
resourceId(‘namespace/resourceType', ‘resourceName’)
subscription()
variables(‘variables’)
Advanced Template Scenarios
 Resource Extensions
VM+DSC/Chef/Puppet/CustomScript/etc.
AppService + WebDeploy
SQL DB + BACPAC
 Copies
 Nested Templates
 NewOrExisting Patterns
TOOLS
 Visual Studio 2015 with Azure SDK
 https://resources.azure.com/
 Azure CLI
 Azure PowerShell (module)
DEMO 1
 New resource group gabc
 Deployment demo1.json from portal.azure.com
 WebApp
https://github.com/kaluzaaa/arm-WebAppForArmDemo/blob/master/demo1.json
DEMO 2
 Deployment demo2.json using Azure CLI
 Deployment app from GitHub
Commands
azure login
azure account set 1a961a9b-cc6a-4523-b095-58cea3bd2731
azure config mode arm
azure group deployment create -f "C:Userslukasz.kaluznyDocumentsGitHubarm-
WebAppForArmDemodemo2.json" -g gabc -n azure -vv
https://github.com/kaluzaaa/arm-WebAppForArmDemo/blob/master/demo2.json
DEMO 3
 Deployment demo5.json using Azure PowerShell
 Deployment of app.setting, Storage Account, SQL Database
& connectionstrings, app.setting
Commands
Login-AzureRmAccount
Select-AzureRmSubscription -SubscriptionId 1a961a9b-cc6a-4523-b095-58cea3bd2731
$tFile = "C:Userslukasz.kaluznyDocumentsGitHubarm-WebAppForArmDemodemo5.json"
New-AzureRmResourceGroupDeployment -ResourceGroupName gabc -TemplateFile $tFile -Mode
Incremental -Name demo -Verbose
https://github.com/kaluzaaa/arm-WebAppForArmDemo/blob/master/demo5.json
DEMO 4
 Export Resource Group as template
Organize
Organizing with Azure Resource Manager
 resource groups
 linked resources
 tags
Resource Group
App-centric Resource Groups and Templates
SQL DB
App
Service
Virtual
Machine
My
3 Tier
Template
Resource Group
App-centric Resource Groups and Tier-centric Templates
SQL DB
App
Service
Virtual
Machine
My
DB Tier
Template
My
Web Tier
Template
My
VM Tier
Template
Resource Group
App-centric Resource Groups and Nested Templates
SQL DB
App
Service
Virtual
Machine
My Nested
DB Tier
Template
My Nested
Web Tier
Template
My Nested
VM Tier
Template
Resource Group
Tier-centric Resource Groups and Templates
SQL DB
App
Service
Virtual
Machine
My
DB Tier
Template
My
Web Tier
Template
My
VM Tier
Template
Resource Group Resource Group
Resource Tags
▷ Name-value pairs assigned to
resources or resource groups
▷ Subscription-wide taxonomy
▷ Each resource can have up to 15 tags
Tagging Tips
▷ Tag by environment, e.g. dev/test/prod
▷ Tag by role, e.g. web/cache/db
▷ Tag by department, e.g.
finance/retail/legal
▷ Tag by responsible party, e.g. Bob
Control
Control with Azure Resource Manager
 role based access control
 audit logs
 resource locks
 Azure Resource Policy
Role Based Access Control
 Allows secure access with granular permissions
 Assignable to users, groups, or service principals
 Built-in roles make it easy to get started
Two Key Concepts
Role Definitions
• describes the set of permissions
(e.g. read actions)
• can be used in multiple assignments
Role Assignments
• associate role definitions with an
identity (e.g. user/group) at a scope
(e.g. resource group)
• always inherited – subscription
assignments apply to all resources
Role Based Access Control
/subscriptions/{id}/resourceGroups/{name}/providers/…/sites/{site}
Granular Scopes
subscription level – grants
permissions to all
resources in the sub
resource group level –
grants permissions to all
resources in the group
resource level – grants
permissions to the specific
resource
Audit Logs
 journals all write/delete/actions
 central location
 common format
Key Concepts
 Resource lock
Policy which enforces a "lock level" at a particular scope
 Lock level
Type of enforcement; current values include CanNotDelete and ReadOnly
 Scope:
The realm to which the lock level is applied. Expressed as a URI; can be set at
the resource group, or resource scope.
Azure Resource Policy
 JSON - http://schema.management.azure.com/schemas/2015-10-01-preview/policyDefinition.json
{
"if" : {
<condition> | <logical operator>
},
"then" : {
"effect" : "deny | audit | append"
}
}
 Usage examples:
Chargeback: Require departmental tags
Geo Compliance: Ensure resource locations
Use Approved SKUs
Naming Convention
Tag requirement
DEMO
$policy = New-AzureRmPolicyDefinition -Name namingPolicy -Policy '{
"if" : {
"not" : {
"field" : "name",
"like" : "test-*"
}
},
"then" : {
"effect" : "deny"
}
}'
$subscription = Get-AzureRmSubscription -SubscriptionId 1a961a9b-cc6a-4523-b095-58cea3bd2731
$resourceGroup = Get-AzureRmResourceGroup -Name gabc
$scope = "/subscriptions/" + $subscription.SubscriptionId + "/resourceGroups/" +
$resourceGroup.ResourceGroupName
New-AzureRmPolicyAssignment -Name serverNaming -PolicyDefinition $policy -Scope $scope
Thanks!
Any questions?
You can find me at:
@kaluzaaa
lukasz.kaluzny@itmagination.pl
Presentation template by SlidesCarnival
GŁÓWNI PARTNERZY KONFERENCJI:
PARTNERZY TECHNOLOGICZNI:
PARTNERZY KONFERENCJI:
PATRONI MEDIALNI:

More Related Content

PDF
Introduction to Azure Resource Manager
PPTX
Azure Resource Manager (ARM) Template - Beginner's Guide
PPTX
Inside Azure Resource Manager
PPTX
Architecting world class azure resource manager templates
PPTX
10 Ways to Gaurantee Your Azure Project will Fail
PPTX
Automating Your Azure Environment
PDF
Azure ARM Templates 101
PPTX
More Cache for Less Cash
Introduction to Azure Resource Manager
Azure Resource Manager (ARM) Template - Beginner's Guide
Inside Azure Resource Manager
Architecting world class azure resource manager templates
10 Ways to Gaurantee Your Azure Project will Fail
Automating Your Azure Environment
Azure ARM Templates 101
More Cache for Less Cash

What's hot (11)

PDF
Azure Large Scale Deployments - Tales from the Trenches
PPTX
Programando sua infraestrutura com o AWS CloudFormation
PPTX
Programming Azure Active Directory (DevLink 2014)
PPTX
Microsoft Azure Kimlik Yönetimi
PPTX
best aws training in bangalore
PPTX
Azure arm templates
PPTX
More Cache for Less Cash (DevLink 2014)
PPTX
Automating Your Microsoft Azure Environment (DevLink 2014)
PDF
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...
PPTX
New generation of Azure cloud
PPTX
Understanding Azure websites
Azure Large Scale Deployments - Tales from the Trenches
Programando sua infraestrutura com o AWS CloudFormation
Programming Azure Active Directory (DevLink 2014)
Microsoft Azure Kimlik Yönetimi
best aws training in bangalore
Azure arm templates
More Cache for Less Cash (DevLink 2014)
Automating Your Microsoft Azure Environment (DevLink 2014)
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...
New generation of Azure cloud
Understanding Azure websites
Ad

Similar to Introduction to Azure Resource Manager, Global Azure Bootcamp 2016.04 (20)

PDF
Microsoft Azure essentials
PPTX
Azure for SharePoint Developers - Workshop - Part 3: Web Services
PDF
CloudBrew 2018 - Azure Governance
PPTX
Budowanie szablonów Azure Resource Manager w praktyce od podstaw
PPTX
Claus_AZR210-Whats new in Iaas.pptx
PPTX
Azure Resource Manager - Technical Primer
PPTX
IaaS with ARM templates for Azure
PPTX
Advanced Azure deployments with Azure Resource Manager and templates
PDF
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
PPT
Version Control With CVS
PPTX
ORACLE OCI - Identity and Access Management Service
PDF
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
PPTX
Azure Data Storage
PPTX
JAX-RS 2.0 and OData
PPTX
04 Azure IAAS 101
PDF
AWS CSAA Certification - Mindmaps and StudyNotes
PPTX
CCI2018 - Automatizzare la creazione di risorse con ARM template e PowerShell
PPTX
Microsoft Azure Offerings and New Services
PDF
DSpace: Technical Basics
PPTX
Azure Governance for Enterprise
Microsoft Azure essentials
Azure for SharePoint Developers - Workshop - Part 3: Web Services
CloudBrew 2018 - Azure Governance
Budowanie szablonów Azure Resource Manager w praktyce od podstaw
Claus_AZR210-Whats new in Iaas.pptx
Azure Resource Manager - Technical Primer
IaaS with ARM templates for Azure
Advanced Azure deployments with Azure Resource Manager and templates
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
Version Control With CVS
ORACLE OCI - Identity and Access Management Service
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
Azure Data Storage
JAX-RS 2.0 and OData
04 Azure IAAS 101
AWS CSAA Certification - Mindmaps and StudyNotes
CCI2018 - Automatizzare la creazione di risorse con ARM template e PowerShell
Microsoft Azure Offerings and New Services
DSpace: Technical Basics
Azure Governance for Enterprise
Ad

More from Lukasz Kaluzny (20)

PDF
Azure Kubernetes Service (AKS) - Co słychać na początku 2020?
PDF
Fundamentals of Kubernetes on Microsoft Azure
PDF
Microsoft Azure Developer Camp - Modern Computing in Azure
PPTX
SQL Days 2019 - Kubernetes 101
PDF
Najbardziej popularne wzorce architektoniczne w chmurze
PPTX
Kubernetes for data scientist
PPTX
4 lata z Azure okiem Architekta
PDF
Azure MXChip IoT DevKit
PPTX
Najczęściej popełniane błędy przy wykorzystywaniu IaaS w Microsoft Azure
PDF
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
PDF
Serverless w Azure, czyli Azure Functions
PDF
Jak zacząć z Azure IoT Suite
PPTX
Azure RemoteApp
PPTX
Blue whale, jail and Microsoft
PDF
Microsoft Azure + Docker
PDF
Transformacja do chmury w ITMAGINATION
PPTX
Azure Site Recovery
PPTX
Performance troubleshooting in Hyper-V
PPTX
Automatyzacja Microsoft Azure z wykorzystaniem Azure Automation
PPTX
Wprowadzenie do Cloud OS
Azure Kubernetes Service (AKS) - Co słychać na początku 2020?
Fundamentals of Kubernetes on Microsoft Azure
Microsoft Azure Developer Camp - Modern Computing in Azure
SQL Days 2019 - Kubernetes 101
Najbardziej popularne wzorce architektoniczne w chmurze
Kubernetes for data scientist
4 lata z Azure okiem Architekta
Azure MXChip IoT DevKit
Najczęściej popełniane błędy przy wykorzystywaniu IaaS w Microsoft Azure
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Serverless w Azure, czyli Azure Functions
Jak zacząć z Azure IoT Suite
Azure RemoteApp
Blue whale, jail and Microsoft
Microsoft Azure + Docker
Transformacja do chmury w ITMAGINATION
Azure Site Recovery
Performance troubleshooting in Hyper-V
Automatyzacja Microsoft Azure z wykorzystaniem Azure Automation
Wprowadzenie do Cloud OS

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
KodekX | Application Modernization Development
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Modernizing your data center with Dell and AMD
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
A Presentation on Artificial Intelligence
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
cuic standard and advanced reporting.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
MYSQL Presentation for SQL database connectivity
Mobile App Security Testing_ A Comprehensive Guide.pdf
Machine learning based COVID-19 study performance prediction
NewMind AI Monthly Chronicles - July 2025
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
KodekX | Application Modernization Development
Chapter 3 Spatial Domain Image Processing.pdf
Electronic commerce courselecture one. Pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Modernizing your data center with Dell and AMD
20250228 LYD VKU AI Blended-Learning.pptx
A Presentation on Artificial Intelligence
Understanding_Digital_Forensics_Presentation.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Advanced methodologies resolving dimensionality complications for autism neur...
Unlocking AI with Model Context Protocol (MCP)
cuic standard and advanced reporting.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Review of recent advances in non-invasive hemoglobin estimation
How UI/UX Design Impacts User Retention in Mobile Apps.pdf

Introduction to Azure Resource Manager, Global Azure Bootcamp 2016.04

  • 2. Łukasz Kałużny Senior Cloud Architect @ MVP: Microsoft Azure You can find me at: blog.kaluzny.pro @kaluzaaa
  • 4. Areas of Focus Deploy Organize Control
  • 5. Resource Group  container for multiple resources  resources exist in one* resource group  resource groups can span regions  resource groups can span services *and only one RESOURCE GROUP
  • 7. Deployment  tracks template execution  created within a resource group  allows nested deployments RESOURCE GROUP
  • 8. Deploying with Azure Resource Manager  template-driven  declarative  multi-service  multi-region  extensible
  • 9. @ a glance - template language expressions* base64encode(‘stringtoencode’) concat(‘string’,’to’,’encode’) copyIndex(offset) listKeys(storageAccountResourceId, apiVersion) padLeft(stringToPad,targetLength,paddingCharacter) parameters(‘parameterName’) providers(namespace, resourceType) reference(resourceId,apiVersion) resourceGroup() resourceId(‘namespace/resourceType', ‘resourceName’) subscription() variables(‘variables’)
  • 10. Advanced Template Scenarios  Resource Extensions VM+DSC/Chef/Puppet/CustomScript/etc. AppService + WebDeploy SQL DB + BACPAC  Copies  Nested Templates  NewOrExisting Patterns
  • 11. TOOLS  Visual Studio 2015 with Azure SDK  https://resources.azure.com/  Azure CLI  Azure PowerShell (module)
  • 12. DEMO 1  New resource group gabc  Deployment demo1.json from portal.azure.com  WebApp https://github.com/kaluzaaa/arm-WebAppForArmDemo/blob/master/demo1.json
  • 13. DEMO 2  Deployment demo2.json using Azure CLI  Deployment app from GitHub Commands azure login azure account set 1a961a9b-cc6a-4523-b095-58cea3bd2731 azure config mode arm azure group deployment create -f "C:Userslukasz.kaluznyDocumentsGitHubarm- WebAppForArmDemodemo2.json" -g gabc -n azure -vv https://github.com/kaluzaaa/arm-WebAppForArmDemo/blob/master/demo2.json
  • 14. DEMO 3  Deployment demo5.json using Azure PowerShell  Deployment of app.setting, Storage Account, SQL Database & connectionstrings, app.setting Commands Login-AzureRmAccount Select-AzureRmSubscription -SubscriptionId 1a961a9b-cc6a-4523-b095-58cea3bd2731 $tFile = "C:Userslukasz.kaluznyDocumentsGitHubarm-WebAppForArmDemodemo5.json" New-AzureRmResourceGroupDeployment -ResourceGroupName gabc -TemplateFile $tFile -Mode Incremental -Name demo -Verbose https://github.com/kaluzaaa/arm-WebAppForArmDemo/blob/master/demo5.json
  • 15. DEMO 4  Export Resource Group as template
  • 17. Organizing with Azure Resource Manager  resource groups  linked resources  tags
  • 18. Resource Group App-centric Resource Groups and Templates SQL DB App Service Virtual Machine My 3 Tier Template
  • 19. Resource Group App-centric Resource Groups and Tier-centric Templates SQL DB App Service Virtual Machine My DB Tier Template My Web Tier Template My VM Tier Template
  • 20. Resource Group App-centric Resource Groups and Nested Templates SQL DB App Service Virtual Machine My Nested DB Tier Template My Nested Web Tier Template My Nested VM Tier Template
  • 21. Resource Group Tier-centric Resource Groups and Templates SQL DB App Service Virtual Machine My DB Tier Template My Web Tier Template My VM Tier Template Resource Group Resource Group
  • 22. Resource Tags ▷ Name-value pairs assigned to resources or resource groups ▷ Subscription-wide taxonomy ▷ Each resource can have up to 15 tags
  • 23. Tagging Tips ▷ Tag by environment, e.g. dev/test/prod ▷ Tag by role, e.g. web/cache/db ▷ Tag by department, e.g. finance/retail/legal ▷ Tag by responsible party, e.g. Bob
  • 25. Control with Azure Resource Manager  role based access control  audit logs  resource locks  Azure Resource Policy
  • 26. Role Based Access Control  Allows secure access with granular permissions  Assignable to users, groups, or service principals  Built-in roles make it easy to get started
  • 27. Two Key Concepts Role Definitions • describes the set of permissions (e.g. read actions) • can be used in multiple assignments Role Assignments • associate role definitions with an identity (e.g. user/group) at a scope (e.g. resource group) • always inherited – subscription assignments apply to all resources
  • 28. Role Based Access Control
  • 29. /subscriptions/{id}/resourceGroups/{name}/providers/…/sites/{site} Granular Scopes subscription level – grants permissions to all resources in the sub resource group level – grants permissions to all resources in the group resource level – grants permissions to the specific resource
  • 30. Audit Logs  journals all write/delete/actions  central location  common format
  • 31. Key Concepts  Resource lock Policy which enforces a "lock level" at a particular scope  Lock level Type of enforcement; current values include CanNotDelete and ReadOnly  Scope: The realm to which the lock level is applied. Expressed as a URI; can be set at the resource group, or resource scope.
  • 32. Azure Resource Policy  JSON - http://schema.management.azure.com/schemas/2015-10-01-preview/policyDefinition.json { "if" : { <condition> | <logical operator> }, "then" : { "effect" : "deny | audit | append" } }  Usage examples: Chargeback: Require departmental tags Geo Compliance: Ensure resource locations Use Approved SKUs Naming Convention Tag requirement
  • 33. DEMO $policy = New-AzureRmPolicyDefinition -Name namingPolicy -Policy '{ "if" : { "not" : { "field" : "name", "like" : "test-*" } }, "then" : { "effect" : "deny" } }' $subscription = Get-AzureRmSubscription -SubscriptionId 1a961a9b-cc6a-4523-b095-58cea3bd2731 $resourceGroup = Get-AzureRmResourceGroup -Name gabc $scope = "/subscriptions/" + $subscription.SubscriptionId + "/resourceGroups/" + $resourceGroup.ResourceGroupName New-AzureRmPolicyAssignment -Name serverNaming -PolicyDefinition $policy -Scope $scope
  • 34. Thanks! Any questions? You can find me at: @kaluzaaa lukasz.kaluzny@itmagination.pl Presentation template by SlidesCarnival
  • 35. GŁÓWNI PARTNERZY KONFERENCJI: PARTNERZY TECHNOLOGICZNI: PARTNERZY KONFERENCJI: PATRONI MEDIALNI: