Vito Flavio Lorusso – Senior SDE - Microsoft Automatizzare tutto: le ultime novità di Azure Resource Manager e le best practice Vito Flavio Lorusso – Senior SDE - Microsoft
Obiettivi 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
Un po’ di storia www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Io in un datacenter 1996-2007 Un giorno a caso Un’ora a caso www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Io che cerco di mettere in staging o in produzione una soluzione 1996-2013 Un giorno a caso Un’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
Generazioni per ottenerlo Difficilmente riparabile Esemplare Unico Generazioni per ottenerlo Difficilmente riparabile Altamente personalizzato Può tentare inutilmente di uccidere Luke Skywalker Quanti ne vogliamo (basta pagare) Minuti per ottenerlo (dopo lo sforzo iniziale) Sostituibile Sufficientemente personalizzato Controllabili dalla forza www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Azure Resource Manager Resource Group Azure Resource Manager Resource provider Azure Resource SQL D A T ABASE VI R T U AL M A CHINE S T OR A GE www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Powershell Comandi 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 Group New-AzureRmResourceGroup -Name $RGName -Location $location # Deploy the Template to the Resource Group New-AzureRmResourceGroupDeployment -ResourceGroupName $RGName ` -TemplateFile $templatefile ` -TemplateParameterFile $templateparameters Powershell Comandi Base www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Struttura di un template Parameters: i parametri in ingresso Variables: variabili definite con le funzioni, utilizzabili nel template Resources: le risorse che verranno effettivamente create Output: gli output del template stesso www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Fornire i parametri al template File di Parametri Fornire i parametri al template Hashtable www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Parametri I parametri possono essere di 2 tipi Tipi semplici String, secureString, int, bool Json Objects object , secureObject, array Parametri www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
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 Parametri (consigli) www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Variabili Usare le variabili per semplificare la parte di scrittura delle risorse! www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Risorse www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Aiuti per comporre i JSON delle risorse Recuperare i Resource Provider e i JSON Get-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 Aiuti per comporre i JSON delle risorse www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
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 $location Get-AzureRmVMImageOffer -Location $location -PublisherName "OpenLogic" Get-AzureRmVMImageSku -Location $location -PublisherName "OpenLogic" -Offer "CentOS" Get-AzureRmVMImage -Location $location -PublisherName "OpenLogic" -Offer "CentOS" -Sku "7.0" Aiuti per comporre i JSON delle risorse (Virtual Machines) www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Output Gli Output servono a: Passare informazioni allo script chiamante Passare informazioni al template chiamante Es.: 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
Hello template www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Automatizzare la personalizzazione delle VM www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Automatizzare le VM Windows Linux Entrambe Powershell DSC Custom Script Extension Entrambe Puppet Chef Ansible Automatizzare le VM www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Link Link utili Resources Explorer: ARM Visualizer https://resources.azure.com/ ARM Visualizer http://armviz.io/designer Resource Manager Schemas https://github.com/Azure/azure-resource-manager-schemas Template functions https://docs.microsoft.com/en-us/azure/azure-resource- manager/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/ Link www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Q&A Domande e Risposte www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Contatti OverNet Education info@overneteducation.it www.overneteducation.it Tel. 02 365738 @overnete www.facebook.com/OverNetEducation www.linkedin.com/company/overnet-solutions www.wpc2016.it Contatti OverNet Education www.wpc2016.it – info@wpc2016.it - +39 02 365738.11