Budowanie szablonów Azure Resource Manager w praktyce od podstaw

19
Łukasz Kałużny, Cloud Architect @ ITMAGINATION, MVP: Microsoft Azure [email protected] @kaluzaaa blog.kaluzny.pro BUDOWANIE SZABLONÓW AZURE RESOURCE MANAGER W PRAKTYCE OD PODSTAW

Transcript of Budowanie szablonów Azure Resource Manager w praktyce od podstaw

Page 1: Budowanie szablonów Azure Resource Manager w praktyce od podstaw

Łukasz Kałużny, Cloud Architect @ ITMAGINATION, MVP: Microsoft [email protected] @kaluzaaa blog.kaluzny.pro

BUDOWANIE SZABLONÓWAZURE RESOURCE MANAGER W PRAKTYCE OD PODSTAW

Page 2: Budowanie szablonów Azure Resource Manager w praktyce od podstaw

CONSISTENT MANAGEMENT LAYER

AZURE RESOURCE MANAGER API

Page 3: Budowanie szablonów Azure Resource Manager w praktyce od podstaw

AREAS OF FOCUS

Deploy Organize Control

Page 4: Budowanie szablonów Azure Resource Manager w praktyce od podstaw

RESOURCE GROUP container for multiple resources resources exist in one* resource

group resource groups can span

regions resource groups can span

services

RESOURCE GROUP

*and only one

Page 5: Budowanie szablonów Azure Resource Manager w praktyce od podstaw

DEPLOYMENT tracks template execution created within a resource

group allows nested deployments

RESOURCE GROUP

Page 6: Budowanie szablonów Azure Resource Manager w praktyce od podstaw

DEPLOYING WITH AZURE RESOURCE MANAGER• template-driven• declarative• multi-service• multi-region• extensible

Page 7: Budowanie szablonów Azure Resource Manager w praktyce od podstaw

TOOLS• Visual Studio 2015 with Azure SDK• https://resources.azure.com/• Azure CLI• Azure PowerShell (module)

Page 8: Budowanie szablonów Azure Resource Manager w praktyce od podstaw

https://resources.azure.com/DEMO

Page 9: Budowanie szablonów Azure Resource Manager w praktyce od podstaw

SCOPES/subscriptions/{id}/resourceGroups/{name}/providers/…/

sites/{site} subscription level

resource group level

resource level

Page 10: Budowanie szablonów Azure Resource Manager w praktyce od podstaw

IMPERATIVE OR DECLARATIVEimperative

New-AzureVM –VM $myVM

New-AzureStorageAccount –StorageAccountName $acct

Set-AzureVNetConfig –ConfigurationPath -Path

declarative

{

"$schema": "https://../deploymentTemplate.json#",

"contentVersion": "1.0.0.0",

"parameters": {},

"variables": {},

"resources": [],

"outputs": {}

}

Page 11: Budowanie szablonów Azure Resource Manager w praktyce od podstaw

TEMPLATE STRUCTURE{

"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",

"contentVersion": "1.0.0.0",

"parameters": {

},

"variables": {

},

"resources": [

],

"outputs": {

}

}

Page 12: Budowanie szablonów Azure Resource Manager w praktyce od podstaw

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’)

@ a glance - template language expressions*

*Looking for examples? See these in action @ https://github.com/rjmax/ArmExamples

Page 13: Budowanie szablonów Azure Resource Manager w praktyce od podstaw

Visual Studio 2015 with Azure SDKDEMO

Page 14: Budowanie szablonów Azure Resource Manager w praktyce od podstaw

DEMO 1• New resource group azureusergroup-demo01• Deployment demo1.json from portal.azure.com• WebApp

Page 15: Budowanie szablonów Azure Resource Manager w praktyce od podstaw

DEMO 2• Deployment demo2.json using Azure CLI• Deployment app from GitHub

Commandsazure loginazure account set a59a6d94-0c3c-4aba-8a6b-8ac63a5f7e2fazure config mode armazure group deployment create -f "C:\Users\lukasz.kaluzny\Documents\GitHub\arm-WebAppForArmDemo\demo2.json" -g azureusergroup-demo01 -n azure -vv

Page 16: Budowanie szablonów Azure Resource Manager w praktyce od podstaw

DEMO 3• Deployment demo3.json using Azure PowerShell• Deployment of app.setting

CommandsLogin-AzureRmAccountSelect-AzureRmSubscription -SubscriptionId a59a6d94-0c3c-4aba-8a6b-8ac63a5f7e2f$tFile = "C:\Users\lukasz.kaluzny\Documents\GitHub\arm-WebAppForArmDemo\demo3.json"New-AzureRmResourceGroupDeployment -ResourceGroupName azureusergroup-demo01 -TemplateFile $tFile -Mode Incremental -Name demo -Verbose

Page 17: Budowanie szablonów Azure Resource Manager w praktyce od podstaw

DEMO 4• Deployment demo4.json• Deployment of SQL Database & connectionstrings

Page 18: Budowanie szablonów Azure Resource Manager w praktyce od podstaw

DEMO 5• Deployment demo5.json• Deployment of Storage Account