SlideShare uma empresa Scribd logo
1 de 22
P R E S E N TA
Cosa c’è oltre il Worker
Role: dagli Scale Set al
“serverless computing”
Vito Flavio Lorusso – Senior SDE -
Microsoft
• Cosa intendiamo per «scalable» Worker
• In Azure:
Come si realizzavano solo 2 anni fa
Quali scelte abbiamo oggi
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 2
Agenda
3
Proudly produced by scalable workers in Camino
Job host
Anatomia di
un Worker
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 4
My long running job
Job journal
Another long running job
Yet another long running job
Job scheduler
Solo 2 anni
fa
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 5
Worker role
Storage queue
Storage table
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
OS
.cspkg
code
.cloudconfig
.serviceconfig
Oggi
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 6
Come implemento uno scalable worker in Azure?
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)
Functions
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 7
Functions
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 8
Storage table
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
OS
App Service
.init
code
[TRIGGER]
Webjobs
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 9
WebJobs
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 10
Storage table
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
OS
App Service
JobHost
code
[TRIGGER]
Scheduler
WebJobs
Batch
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 11
Batch
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 12
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
OS
Batch
Application Package (.zip)
Service Fabric
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 13
Service
Fabric
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 14
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
VM Scale Set
OS
Service Fabric Host
Node Type
code
Storage queue
[Custom]
Service
Fabric[Local Storage]
(stateful service)
Azure Container
Service
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 15
Container
Service
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 16
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
VM Scale Set
OS
Docker Host
Docker Container
[Custom]
[Custom] Swarm
DCOS
MESOS
VM Scale Sets
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 17
VM Scale
Sets
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 18
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 ARM e quello supportato dallo stack applicativo
Personalizzazione OS Completa
Manutenzione OS e Application host manuale
VM Scale Set
OS
Your App Host
Custom components
[Custom]
[Custom]
Custom code
Wrap UP
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 19
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 
Q&A
Domande e Risposte
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 20
Risorse
• Link utili
 Functions
 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/
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 21
Contatti
OverNet
Education
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
www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 22

Mais conteúdo relacionado

Mais procurados

Mais procurados (15)

StarterTheme Prestashop 1.7
StarterTheme Prestashop 1.7StarterTheme Prestashop 1.7
StarterTheme Prestashop 1.7
 
PrestaShop 1.7
PrestaShop 1.7PrestaShop 1.7
PrestaShop 1.7
 
Tech Webinar: Come ottimizzare il workflow nello sviluppo di Web App
Tech Webinar: Come ottimizzare il workflow nello sviluppo di Web AppTech Webinar: Come ottimizzare il workflow nello sviluppo di Web App
Tech Webinar: Come ottimizzare il workflow nello sviluppo di Web App
 
Works with ASP.NET Core on Linux and Mac
Works with ASP.NET Core on Linux and MacWorks with ASP.NET Core on Linux and Mac
Works with ASP.NET Core on Linux and Mac
 
Windows Azure and Joomla! @ Joomla day 2013
Windows Azure and Joomla! @ Joomla day 2013Windows Azure and Joomla! @ Joomla day 2013
Windows Azure and Joomla! @ Joomla day 2013
 
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
 
Test di carico con Visual Studio Online: facile!
Test di carico con Visual Studio Online: facile! Test di carico con Visual Studio Online: facile!
Test di carico con Visual Studio Online: facile!
 
USB WebServer
USB WebServer USB WebServer
USB WebServer
 
Single Page Applications
Single Page ApplicationsSingle Page Applications
Single Page Applications
 
Introduzione ad ASP.NET Core
Introduzione ad ASP.NET CoreIntroduzione ad ASP.NET Core
Introduzione ad ASP.NET Core
 
Esempi pratici
Esempi praticiEsempi pratici
Esempi pratici
 
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
 
Evento Veeam & Assyrus - 2 Novità di Veeam Backup & Replication v9
Evento Veeam & Assyrus - 2 Novità di Veeam Backup & Replication v9Evento Veeam & Assyrus - 2 Novità di Veeam Backup & Replication v9
Evento Veeam & Assyrus - 2 Novità di Veeam Backup & Replication v9
 
Creare API pubbliche, come evitare gli errori comuni
Creare API pubbliche, come evitare gli errori comuniCreare API pubbliche, come evitare gli errori comuni
Creare API pubbliche, come evitare gli errori comuni
 
What’s my destiny vSphere 6 @ VMUG.IT 20150304
What’s my destiny vSphere 6 @ VMUG.IT 20150304What’s my destiny vSphere 6 @ VMUG.IT 20150304
What’s my destiny vSphere 6 @ VMUG.IT 20150304
 

Semelhante a Oltre il Worker Role, da Serverless computing a VM Scale Set

Semelhante a Oltre il Worker Role, da Serverless computing a VM Scale Set (20)

Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0
 
ASP.NET Core essentials
ASP.NET Core essentialsASP.NET Core essentials
ASP.NET Core essentials
 
Creazione componenti con Vue js
Creazione componenti con Vue jsCreazione componenti con Vue js
Creazione componenti con Vue js
 
Webcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio OnlineWebcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio Online
 
Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0
 
Ddive Xpage852
Ddive Xpage852Ddive Xpage852
Ddive Xpage852
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web App
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web App
 
3DD 1e Reconfig
3DD 1e Reconfig3DD 1e Reconfig
3DD 1e Reconfig
 
Novità di Asp.Net 4.0
Novità di Asp.Net 4.0Novità di Asp.Net 4.0
Novità di Asp.Net 4.0
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele Mondello
 
Applicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore RomeoApplicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore Romeo
 
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
 
CCI 2019 - Exchange 2019 da 0 ad HA in 1 ora
CCI 2019 - Exchange 2019 da 0 ad HA in 1 oraCCI 2019 - Exchange 2019 da 0 ad HA in 1 ora
CCI 2019 - Exchange 2019 da 0 ad HA in 1 ora
 
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
 
Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Blazor: are we ready for the launch?
Blazor: are we ready for the launch?
 
Christmas greetings cards with blazor
Christmas greetings cards with blazorChristmas greetings cards with blazor
Christmas greetings cards with blazor
 
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi Italia
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi ItaliaDifferenze tra Windows Server 2012 R2 su e Server 2016 Yashi Italia
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi Italia
 
ASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuro
 
Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010
 

Mais de Vito Flavio Lorusso

Mais de Vito Flavio Lorusso (7)

Prestashop and Azure
Prestashop and AzurePrestashop and Azure
Prestashop and Azure
 
Automatizzare tutto con Azure Resource Manager
Automatizzare tutto con Azure Resource ManagerAutomatizzare tutto con Azure Resource Manager
Automatizzare tutto con Azure Resource Manager
 
Capture, record, clip, embed and play, search: video from newbie to ninja
Capture, record, clip, embed and play, search: video from newbie to ninjaCapture, record, clip, embed and play, search: video from newbie to ninja
Capture, record, clip, embed and play, search: video from newbie to ninja
 
Nosql why and how on Microsoft Azure
Nosql why and how on Microsoft AzureNosql why and how on Microsoft Azure
Nosql why and how on Microsoft Azure
 
Cosa non fare assolutamente sul cloud
Cosa non fare assolutamente sul cloudCosa non fare assolutamente sul cloud
Cosa non fare assolutamente sul cloud
 
Windows azure e il supporto ai paradigmi del cloud
Windows azure e il supporto ai paradigmi del cloudWindows azure e il supporto ai paradigmi del cloud
Windows azure e il supporto ai paradigmi del cloud
 
WPC2012 Windows Azure - Architetture e costi nell'era del cloud
WPC2012 Windows Azure - Architetture e costi nell'era del cloudWPC2012 Windows Azure - Architetture e costi nell'era del cloud
WPC2012 Windows Azure - Architetture e costi nell'era del cloud
 

Oltre il Worker Role, da Serverless computing a VM Scale Set

  • 1. P R E S E N TA Cosa c’è oltre il Worker Role: dagli Scale Set al “serverless computing” Vito Flavio Lorusso – Senior SDE - Microsoft
  • 2. • Cosa intendiamo per «scalable» Worker • In Azure: Come si realizzavano solo 2 anni fa Quali scelte abbiamo oggi www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 2 Agenda
  • 3. 3 Proudly produced by scalable workers in Camino
  • 4. Job host Anatomia di un Worker www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 4 My long running job Job journal Another long running job Yet another long running job Job scheduler
  • 5. Solo 2 anni fa www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 5 Worker role Storage queue Storage table 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 OS .cspkg code .cloudconfig .serviceconfig
  • 6. Oggi www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 6 Come implemento uno scalable worker in Azure? 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)
  • 8. Functions www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 8 Storage table 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 OS App Service .init code [TRIGGER]
  • 10. WebJobs www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 10 Storage table 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 OS App Service JobHost code [TRIGGER] Scheduler WebJobs
  • 12. Batch www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 12 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 OS Batch Application Package (.zip)
  • 13. Service Fabric www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 13
  • 14. Service Fabric www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 14 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 VM Scale Set OS Service Fabric Host Node Type code Storage queue [Custom] Service Fabric[Local Storage] (stateful service)
  • 15. Azure Container Service www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 15
  • 16. Container Service www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 16 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 VM Scale Set OS Docker Host Docker Container [Custom] [Custom] Swarm DCOS MESOS
  • 17. VM Scale Sets www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 17
  • 18. VM Scale Sets www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 18 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 ARM e quello supportato dallo stack applicativo Personalizzazione OS Completa Manutenzione OS e Application host manuale VM Scale Set OS Your App Host Custom components [Custom] [Custom] Custom code
  • 19. Wrap UP www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 19 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 
  • 20. Q&A Domande e Risposte www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 20
  • 21. Risorse • Link utili  Functions  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/ www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 21
  • 22. Contatti OverNet Education 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 www.wpc2016.it – info@wpc2016.it - +39 02 365738.11 22