Vito Flavio Lorusso – Senior SDE - Microsoft Cosa c’è oltre il Worker Role: dagli Scale Set al “serverless computing” Vito Flavio Lorusso – Senior SDE - Microsoft
Agenda Cosa intendiamo per «scalable» Worker In Azure: Come si realizzavano solo 2 anni fa Quali scelte abbiamo oggi Agenda www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Proudly produced by scalable workers in Camino
Anatomia di un Worker Job host Job scheduler My long running job Another long running job Job journal Yet another long running job www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Solo 2 anni fa .cspkg code .cloudconfig .serviceconfig OS Sviluppo/Debug Visual Studio, Eclipse o text editor Linguaggi .NET, Java, PHP (o qualunque runtime su windows) Deploy Creazione di un .cspkg (signed zip) Autoscale CPU, RAM, Network CI/CD Visual Studio, PSH o VSTS Personalizzazione OS Startup Script Manutenzione OS Update automatico www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Oggi Functions (serverless è il futuro!) WebJobs (facile dai!) Come implemento uno scalable worker in Azure? Oggi Functions (serverless è il futuro!) WebJobs (facile dai!) Containers! Cos’altro? Service Fabric (microservizi… serve dire altro?) Scale Sets (sempre vicini al metallo) Batch? (tutti ne parlano ma non so cosa sia) www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Functions www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Functions App Service [TRIGGER] .init code OS Sviluppo/Debug Visual Studio Code – Debug limitato Linguaggi .NET, NodeJS Deploy Publish su Git repo Autoscale Basato su trigger o su App Service (CPU, RAM, Network) CI/CD VSTS – GIT Personalizzazione OS Nessuna Manutenzione OS Update automatico www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Webjobs www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
WebJobs [TRIGGER] App Service JobHost code OS Sviluppo/Debug Visual Studio o altri editor di codice Linguaggi .exe - .NET assemblies compiled with the WebJobs SDK .cmd, .bat, .exe (using windows cmd) .sh (using bash) .php (using php) .py (using python) .js (using node) Deploy Come Web App (Visual Studio, Git, VSTS) Autoscale Basato su App Service (CPU, RAM, Network) CI/CD VSTS – GIT Personalizzazione OS Nessuna Manutenzione OS Update automatico www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Batch www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Application Package (.zip) Batch Application Package (.zip) Batch OS Sviluppo/Debug Visual Studio o altri editor di codice Linguaggi Powershell, .NET, CLI, Java, Node.js, Python Deploy Visual Studio, VSTS, Azure Resource Manager Autoscale Parametri custom con la Batch Library CI/CD VSTS – ARM Personalizzazione OS Nessuna Manutenzione OS Update automatico www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Service Fabric www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Service Fabric Service Fabric Host Node Type code [Custom] VM Scale Set Service Fabric Host Node Type code [Custom] Service Fabric OS [Local Storage] (stateful service) Sviluppo/Debug Visual Studio o altri editor di codice Linguaggi .NET Java (preview) Deploy Visual Studio, VSTS, ARM Autoscale Basato su VM Scale Set (CPU, RAM, Network) o custom CI/CD VSTS – ARM Personalizzazione OS Nessuna Manutenzione OS e Service Fabric Host Update automatico o manuale www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Azure Container Service www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Container Service [Custom] Docker Host Docker Container VM Scale Set Swarm DCOS MESOS OS Sviluppo/Debug Qualunque editor di codice Linguaggi Qualunque (a seconda del sistema operativo) Deploy ARM, DockerFile Autoscale Basato su VM Scale Set (CPU, RAM, Network) o custom (API di ACS) CI/CD VSTS – ARM Personalizzazione OS Completa Manutenzione OS e Docker Host Update manuale www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
VM Scale Sets www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
VM Scale Sets [Custom] Your App Host Custom components VM Scale Set Custom code [Custom] OS Sviluppo/Debug Qualunque editor di codice Linguaggi Qualunque (a seconda del sistema operativo) Deploy ARM e quello supportato dallo stack applicativo Autoscale CPU, RAM, Network CI/CD Personalizzazione OS Completa Manutenzione OS e Application host manuale www.wpc2016.it – info@wpc2016.it - +39 02 365738.11
Wrap UP Iniziate dal codice (Functions) Requisiti perfetti per Batch? Usate Batch! Scendete di livello solo se avete «veramente» bisogno di più performance o flessibilità Usate ACS «solo» se la vostra infrastruttura è già docker centrica Service Fabric è «potentissimo» ma parte da 5-10 nodi in produzione Wrap UP 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
Risorse Link utili Functions WebJobs Batch Service Fabric https://docs.microsoft.com/en-us/azure/azure- functions/index WebJobs https://docs.microsoft.com/en-us/azure/app-service- web/websites-webjobs-resources Batch https://docs.microsoft.com/en-us/azure/batch/ Service Fabric https://docs.microsoft.com/en-us/azure/service-fabric/ Container Service https://docs.microsoft.com/en-us/azure/container- service/ VM Scale Sets https://docs.microsoft.com/en-us/azure/virtual- machine-scale-sets/ Risorse 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