Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Global Azure Bootcamp 2018 - Azure Resource Manager (ARM)

88 views

Published on

An introductory presentation into the Azure Resource Manager (ARM) model, how we can use it, and a walk-through of the template structure.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Global Azure Bootcamp 2018 - Azure Resource Manager (ARM)

  1. 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. 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. 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. 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. 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. 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. 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. 8. ©2018 Avanade Inc. All Rights Reserved. https://github.com/Azure/azure-resource-manager-schemas Azure Resource Manager Templates Schemas
  9. 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. 10. ©2018 Avanade Inc. All Rights Reserved. ARM Template Variables "variables": { "storageName": "[toLower(concat(parameters('storageAccountName'), parameters('storageAccountType'), '-sa'))]" },
  11. 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. 12. ©2018 Avanade Inc. All Rights Reserved. ARM Template Outputs "outputs": { "storageAccount": { "type": "string", "value": "[parameters('storageAccountName')]" } }
  13. 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. 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. 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. 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

×