Post on 20-Mar-2017
P R E S E N TA
Automatizzare tutto: le ultime novità di Azure Resource Manager e le best practiceVito Flavio Lorusso – Senior SDE - Microsoft
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 2
• Modello di gestione a «Risorse» di Azure
• Architettura dei Resource template
• Ciclo di vita delle applicazioni con Azure RM
Obiettivi
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 3
Un po’ di storia
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 4
1996-2007Un giorno a casoUn’ora a caso
Io in un datacenter
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 5
1996-2013Un giorno a casoUn’ora a caso
Io che cerco di mettere in staging o in produzione una soluzione«non ti preoccupare, le specifiche dell’ambiente sono le stesse!»
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 6
Esemplare UnicoGenerazioni per ottenerloDifficilmente riparabileAltamente personalizzatoPuò tentare inutilmente di uccidere Luke Skywalker
Quanti ne vogliamo (basta pagare)Minuti per ottenerlo (dopo lo sforzo iniziale)SostituibileSufficientemente personalizzatoControllabili dalla forza
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 7
Azure Resource Manager
Azure Resource
Resource provider
VIRTUAL MACHINE STORAGESQLDATABASE
Resource Group
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 8
PowershellComandi Base
Comandi Base in Powershell
Login-AzureRmAccount$SubscriptionName = “mysubscription"Select-AzureRmSubscription -SubscriptionName $SubscriptionName
$RGName = “myresroucegroup"$location = "westeurope"$templatefile = “mytemplate.json"$templateparameters = “mytemplate.parameters.json"
# Create a Resource GroupNew-AzureRmResourceGroup -Name $RGName -Location $location # Deploy the Template to the Resource GroupNew-AzureRmResourceGroupDeployment -ResourceGroupName $RGName ` -TemplateFile $templatefile ` -TemplateParameterFile $templateparameters
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 9
Struttura di un template
Parameters: i parametri in ingressoVariables: variabili definite con le funzioni, utilizzabili nel templateResources: le risorse che verranno effettivamente createOutput: gli output del template stesso
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 10
Fornire i parametri al template
• File di Parametri
• Hashtable
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 11
Parametri• I parametri possono essere di 2 tipi
Tipi semplici String, secureString, int, bool
Json Objects object , secureObject, array
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 12
Parametri(consigli)
• Consigli sui parametri Utilizzare gli oggetti JSON per raggruppare strutture di valori
Validare i parametri in ingresso quando possibile
Ridurre i parametri al minimo
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 13
Variabili
Usare le variabili per semplificare la parte di scrittura delle risorse!
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 14
Risorse
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 15
Aiuti per comporre i JSON delle risorse
• Recuperare i Resource Provider e i JSONGet-AzureRmResourceProvider –ListAvailable
• Recuperare i tipi di risorsa disponibili(Get-AzureRmResourceProvider -ProviderNamespace Microsoft.Storage).ResourceTypes
• Recuperare le versioni API disponibili((Get-AzureRmResourceProvider -ProviderNamespace Microsoft.Storage).ResourceTypes | Where-Object ResourceTypeName -eq storageAccounts).ApiVersions
• Recuperare le region dove il Resource Provider è disponibile((Get-AzureRmResourceProvider -ProviderNamespace Microsoft.Storage).ResourceTypes | Where-Object ResourceTypeName -eq storageAccounts).Locations
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 16
Aiuti per comporre i JSON delle risorse (Virtual Machines)
• Per le Virtual Machine bisogna specificare Publisher, Offer e SKU
Esempio da Powershell:$location = "West Europe"Get-AzureRmVMImagePublisher -Location $locationGet-AzureRmVMImageOffer -Location $location -PublisherName "OpenLogic"Get-AzureRmVMImageSku -Location $location -PublisherName "OpenLogic" -Offer "CentOS"Get-AzureRmVMImage -Location $location -PublisherName "OpenLogic" -Offer "CentOS" -Sku "7.0"
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 17
Output
Gli Output servono a:• Passare informazioni allo script chiamante• Passare informazioni al template chiamanteEs.: Account name e key di uno storage account da usare nelal configurazione di una web app
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 18
Hello template
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 19
Automatizzare la personalizzazione delle VM
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 20
Automatizzare le VM
• WindowsPowershell DSC
• LinuxCustom Script Extension
• EntrambePuppetChefAnsible
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 21
Link• Link utili
Resources Explorer: https://resources.azure.com/
ARM Visualizer http://armviz.io/designer
Resource Manager Schemas https://github.com/Azure/azure-resource-manager-schema
s
Template functions https://docs.microsoft.com/en-us/azure/azure-resource-ma
nager/resource-group-template-functions Authoring templates
https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-authoring-templates
Quickstart templates https://github.com/Azure/azure-quickstart-templates/
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 22
Q&ADomande e Risposte
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 23
Contatti OverNet Education
OverNet Educationinfo@overneteducation.itwww.overneteducation.itTel. 02 365738
@overnetewww.facebook.com/OverNetEducationwww.linkedin.com/company/overnet-solutionswww.wpc2016.it