SlideShare a Scribd company logo
1 of 20
Microservices and Unikernels
Catania
Chi sono?
Gabriele Baldoni
Dottore in Ingegneria Informatica
Laureando in Ingegneria delle Telecomunicazioni
Contract Engineer @ CNIT
Contatti: gabriele.baldoni(_at_)gmail.com - @Gakbri
Cosa è la Microservices Architecture?
Sviluppare il software scomponendolo in servizi che interagiscono tra di loro.
Ogni servizio gestisce funzionalità correlate.
Ogni servizio dovrebbe gestire solo un piccolo insieme di responsabilità
I servizi comunicano tra loro attraverso metodologie IPC.
Evoluzione della SOA
L’architettura a microservices può essere vista come una evoluzione a grana
fine dell’architettura orientata ai servizi (SOA).
Ottima per il cloud
Separando i servizi è possibile fare una scaling a grana fine sui servizi che lo
necessitano.
I 3 assi dello scaling
Vantaggi di un’architettura microservices
Eliminazione dei single point of failure
Orchestrazione più “snella”
Continuous delivery
Scalabilità
Versioning
Flessibilità nello sviluppo
Svantaggi di un architettura a microservices
Orchestrazione più complessa
Gestione della comunicazione tra servizi
Gestione della coerenza dei dati
Gestione del High availability
Test
Meccanismi di comunicazione
Può essere conveniente l’utilizzo di un API Gateway tra le richieste dei client e i
servizi che compongono il nostro applicativo.
Meccanismi di comunicazione
Spesso vengono utilizzare le code di messaggi per la comunicazione tra i
servizi che compongono l’applicazione.
Stack di un’applicazione a microservices
Link consigliati
● https://martinfowler.com/articles/microservices.html
● http://losviluppatore.it/microservices-architecture-il-pattern-architetturale-
emergente-per-le-grandi-applicazioni-moderne/
● http://www.addsimplicity.com/downloads/eBaySDForum2006-11-29.pdf
● http://www.mokabyte.it/2015/05/microservices/
● https://en.wikipedia.org/wiki/Microservices
● https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-overview-
microservices
● https://www.nginx.com/blog/introduction-to-microservices/
Unikernels?
Unikernels are specialised, single-address-space machine images constructed
by using library operating systems.
Cioè?
Macchine virtuali leggerissime altamente specializzate
Perché sono l’ideale per i microservices
Consentono di preoccuparsi solo del codice che si scrive, rendono le istanze da
lanciare leggerissime, permettono un miglior utilizzo delle risorse.
Sono addirittura più leggeri dei container!
Vantaggi dei microkernels
Migliore sicurezza
Immagini leggere
Alta ottimizzazione
Boot rapidissimi
Svantaggi degli unikernels
Non possono essere usati per fare tutto.
Diversi “flavor”
Iniziale difficoltà di implementazione
Difficoltà di debug
Flavor?
Diversi tool sono disponibili per la creazione di unikernels:
ClickOs
Clive
Drawbridge
HaLVM
Rumprun
runtime.js
Rumprun
Consente la creazione di unikernels in diversi linguaggi di programmazione.
C/C++
Python3
Node.js
Ruby
ecc… (https://github.com/rumpkernel/rumprun-packages)
Link utili
● http://unikernel.org/
● https://techbeacon.com/containers-20-why-unikernels-will-rock-cloud
● https://github.com/rumpkernel
● https://github.com/rumpkernel/wiki/wiki/Tutorial%3A-Serve-a-static-website-as-
a-Unikernel
● http://www.cloudfix.nl/2016/02/24/containers-vms-unikernels/
● https://wiki.xenproject.org/wiki/Unikernels
● http://cloudacademy.com/blog/unikernels-docker-containers-vms-
microservices/
Let’s Work!

More Related Content

Similar to Microservices power by unikernels

.NET Microservices
.NET Microservices.NET Microservices
.NET MicroservicesLuca Congiu
 
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
Le 7 sfide da affrontare nella migrazione da monolite a miniserviziLe 7 sfide da affrontare nella migrazione da monolite a miniservizi
Le 7 sfide da affrontare nella migrazione da monolite a miniserviziLuca Acquaviva
 
MySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microserviziMySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microserviziPar-Tec S.p.A.
 
Fly Together the TIM DIgital Transformation
Fly Together the TIM DIgital TransformationFly Together the TIM DIgital Transformation
Fly Together the TIM DIgital TransformationMarco Daccò
 
Caratterizzazione dei sistemi cloud per la Pubblica Amministrazione
Caratterizzazione dei sistemi cloud per la Pubblica AmministrazioneCaratterizzazione dei sistemi cloud per la Pubblica Amministrazione
Caratterizzazione dei sistemi cloud per la Pubblica AmministrazioneAmmLibera AL
 
Paper presentazione social media
Paper presentazione social mediaPaper presentazione social media
Paper presentazione social mediaalessioemireni
 
Progetto DrFacto (sintesi)
Progetto DrFacto (sintesi)Progetto DrFacto (sintesi)
Progetto DrFacto (sintesi)Herzum Italia
 
Microservices architecture & Service Fabric
Microservices architecture & Service FabricMicroservices architecture & Service Fabric
Microservices architecture & Service FabricMassimo Bonanni
 
Rendere flessibili e trasformare architetture IT di vecchio tipo: passaggio d...
Rendere flessibili e trasformare architetture IT di vecchio tipo:passaggio d...Rendere flessibili e trasformare architetture IT di vecchio tipo:passaggio d...
Rendere flessibili e trasformare architetture IT di vecchio tipo: passaggio d...Emanuele Della Valle
 
API Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole ItaliaAPI Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole ItaliaProfesia Srl, Lynx Group
 
Service Fabric: la potenza dei micro servizi
Service Fabric:  la potenza dei micro serviziService Fabric:  la potenza dei micro servizi
Service Fabric: la potenza dei micro serviziMassimo Bonanni
 
Il mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveIl mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveEmanuele Della Valle
 
Cloud Computing: La nuvola intelligente 2015
Cloud Computing: La nuvola intelligente 2015Cloud Computing: La nuvola intelligente 2015
Cloud Computing: La nuvola intelligente 2015Lorenzo Carnevale
 
Introduction to Cloud Computing and Microsoft Azure - Edition D-Day 2014 Go-o...
Introduction to Cloud Computing and Microsoft Azure - Edition D-Day 2014 Go-o...Introduction to Cloud Computing and Microsoft Azure - Edition D-Day 2014 Go-o...
Introduction to Cloud Computing and Microsoft Azure - Edition D-Day 2014 Go-o...Marco Parenzan
 
Viral Marketing & Cloud: come creare una Customer Experience perfetta
Viral Marketing & Cloud: come creare una Customer Experience perfettaViral Marketing & Cloud: come creare una Customer Experience perfetta
Viral Marketing & Cloud: come creare una Customer Experience perfettaseeweb
 
Vibecode presentazione
Vibecode presentazioneVibecode presentazione
Vibecode presentazioneThe Blue Seed
 

Similar to Microservices power by unikernels (20)

.NET Microservices
.NET Microservices.NET Microservices
.NET Microservices
 
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
Le 7 sfide da affrontare nella migrazione da monolite a miniserviziLe 7 sfide da affrontare nella migrazione da monolite a miniservizi
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
 
MySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microserviziMySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microservizi
 
Fly Together the TIM DIgital Transformation
Fly Together the TIM DIgital TransformationFly Together the TIM DIgital Transformation
Fly Together the TIM DIgital Transformation
 
Caratterizzazione dei sistemi cloud per la Pubblica Amministrazione
Caratterizzazione dei sistemi cloud per la Pubblica AmministrazioneCaratterizzazione dei sistemi cloud per la Pubblica Amministrazione
Caratterizzazione dei sistemi cloud per la Pubblica Amministrazione
 
Paper presentazione social media
Paper presentazione social mediaPaper presentazione social media
Paper presentazione social media
 
Progetto DrFacto (sintesi)
Progetto DrFacto (sintesi)Progetto DrFacto (sintesi)
Progetto DrFacto (sintesi)
 
Microservices architecture & Service Fabric
Microservices architecture & Service FabricMicroservices architecture & Service Fabric
Microservices architecture & Service Fabric
 
SOA wonderful World
SOA wonderful WorldSOA wonderful World
SOA wonderful World
 
Rendere flessibili e trasformare architetture IT di vecchio tipo: passaggio d...
Rendere flessibili e trasformare architetture IT di vecchio tipo:passaggio d...Rendere flessibili e trasformare architetture IT di vecchio tipo:passaggio d...
Rendere flessibili e trasformare architetture IT di vecchio tipo: passaggio d...
 
Architetture.Distribuite
Architetture.DistribuiteArchitetture.Distribuite
Architetture.Distribuite
 
Viaggio nel mondo a servizi, come prepararsi per l'avventura
Viaggio nel mondo a servizi, come prepararsi per l'avventuraViaggio nel mondo a servizi, come prepararsi per l'avventura
Viaggio nel mondo a servizi, come prepararsi per l'avventura
 
API Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole ItaliaAPI Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole Italia
 
Service Fabric: la potenza dei micro servizi
Service Fabric:  la potenza dei micro serviziService Fabric:  la potenza dei micro servizi
Service Fabric: la potenza dei micro servizi
 
Il mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveIl mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettive
 
Cloud Computing: La nuvola intelligente 2015
Cloud Computing: La nuvola intelligente 2015Cloud Computing: La nuvola intelligente 2015
Cloud Computing: La nuvola intelligente 2015
 
Introduction to Cloud Computing and Microsoft Azure - Edition D-Day 2014 Go-o...
Introduction to Cloud Computing and Microsoft Azure - Edition D-Day 2014 Go-o...Introduction to Cloud Computing and Microsoft Azure - Edition D-Day 2014 Go-o...
Introduction to Cloud Computing and Microsoft Azure - Edition D-Day 2014 Go-o...
 
Viral Marketing & Cloud: come creare una Customer Experience perfetta
Viral Marketing & Cloud: come creare una Customer Experience perfettaViral Marketing & Cloud: come creare una Customer Experience perfetta
Viral Marketing & Cloud: come creare una Customer Experience perfetta
 
Vibecode presentazione
Vibecode presentazioneVibecode presentazione
Vibecode presentazione
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 

More from Gabriele Baldoni

Fog computing with Eclipse fog05
Fog computing with Eclipse fog05Fog computing with Eclipse fog05
Fog computing with Eclipse fog05Gabriele Baldoni
 
Eclipse fog05 Paper presenation at CIoT 2018
Eclipse fog05 Paper presenation at CIoT 2018Eclipse fog05 Paper presenation at CIoT 2018
Eclipse fog05 Paper presenation at CIoT 2018Gabriele Baldoni
 
High specialized vm on open stack cloud
High specialized vm on open stack cloudHigh specialized vm on open stack cloud
High specialized vm on open stack cloudGabriele Baldoni
 
Presentazione Google Cloud Messanging
Presentazione Google Cloud MessangingPresentazione Google Cloud Messanging
Presentazione Google Cloud MessangingGabriele Baldoni
 

More from Gabriele Baldoni (8)

Fog computing with Eclipse fog05
Fog computing with Eclipse fog05Fog computing with Eclipse fog05
Fog computing with Eclipse fog05
 
Eclipse fog05 Paper presenation at CIoT 2018
Eclipse fog05 Paper presenation at CIoT 2018Eclipse fog05 Paper presenation at CIoT 2018
Eclipse fog05 Paper presenation at CIoT 2018
 
High specialized vm on open stack cloud
High specialized vm on open stack cloudHigh specialized vm on open stack cloud
High specialized vm on open stack cloud
 
SDN Cosa è?
SDN Cosa è?SDN Cosa è?
SDN Cosa è?
 
Golang + AngulaJS on GCP
Golang + AngulaJS on GCPGolang + AngulaJS on GCP
Golang + AngulaJS on GCP
 
Golang Introduzione
Golang IntroduzioneGolang Introduzione
Golang Introduzione
 
Go on AppEngine
Go on AppEngineGo on AppEngine
Go on AppEngine
 
Presentazione Google Cloud Messanging
Presentazione Google Cloud MessangingPresentazione Google Cloud Messanging
Presentazione Google Cloud Messanging
 

Microservices power by unikernels

  • 2. Chi sono? Gabriele Baldoni Dottore in Ingegneria Informatica Laureando in Ingegneria delle Telecomunicazioni Contract Engineer @ CNIT Contatti: gabriele.baldoni(_at_)gmail.com - @Gakbri
  • 3. Cosa è la Microservices Architecture? Sviluppare il software scomponendolo in servizi che interagiscono tra di loro. Ogni servizio gestisce funzionalità correlate. Ogni servizio dovrebbe gestire solo un piccolo insieme di responsabilità I servizi comunicano tra loro attraverso metodologie IPC.
  • 4. Evoluzione della SOA L’architettura a microservices può essere vista come una evoluzione a grana fine dell’architettura orientata ai servizi (SOA).
  • 5. Ottima per il cloud Separando i servizi è possibile fare una scaling a grana fine sui servizi che lo necessitano.
  • 6. I 3 assi dello scaling
  • 7. Vantaggi di un’architettura microservices Eliminazione dei single point of failure Orchestrazione più “snella” Continuous delivery Scalabilità Versioning Flessibilità nello sviluppo
  • 8. Svantaggi di un architettura a microservices Orchestrazione più complessa Gestione della comunicazione tra servizi Gestione della coerenza dei dati Gestione del High availability Test
  • 9. Meccanismi di comunicazione Può essere conveniente l’utilizzo di un API Gateway tra le richieste dei client e i servizi che compongono il nostro applicativo.
  • 10. Meccanismi di comunicazione Spesso vengono utilizzare le code di messaggi per la comunicazione tra i servizi che compongono l’applicazione.
  • 11. Stack di un’applicazione a microservices
  • 12. Link consigliati ● https://martinfowler.com/articles/microservices.html ● http://losviluppatore.it/microservices-architecture-il-pattern-architetturale- emergente-per-le-grandi-applicazioni-moderne/ ● http://www.addsimplicity.com/downloads/eBaySDForum2006-11-29.pdf ● http://www.mokabyte.it/2015/05/microservices/ ● https://en.wikipedia.org/wiki/Microservices ● https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-overview- microservices ● https://www.nginx.com/blog/introduction-to-microservices/
  • 13. Unikernels? Unikernels are specialised, single-address-space machine images constructed by using library operating systems. Cioè? Macchine virtuali leggerissime altamente specializzate
  • 14. Perché sono l’ideale per i microservices Consentono di preoccuparsi solo del codice che si scrive, rendono le istanze da lanciare leggerissime, permettono un miglior utilizzo delle risorse. Sono addirittura più leggeri dei container!
  • 15. Vantaggi dei microkernels Migliore sicurezza Immagini leggere Alta ottimizzazione Boot rapidissimi
  • 16. Svantaggi degli unikernels Non possono essere usati per fare tutto. Diversi “flavor” Iniziale difficoltà di implementazione Difficoltà di debug
  • 17. Flavor? Diversi tool sono disponibili per la creazione di unikernels: ClickOs Clive Drawbridge HaLVM Rumprun runtime.js
  • 18. Rumprun Consente la creazione di unikernels in diversi linguaggi di programmazione. C/C++ Python3 Node.js Ruby ecc… (https://github.com/rumpkernel/rumprun-packages)
  • 19. Link utili ● http://unikernel.org/ ● https://techbeacon.com/containers-20-why-unikernels-will-rock-cloud ● https://github.com/rumpkernel ● https://github.com/rumpkernel/wiki/wiki/Tutorial%3A-Serve-a-static-website-as- a-Unikernel ● http://www.cloudfix.nl/2016/02/24/containers-vms-unikernels/ ● https://wiki.xenproject.org/wiki/Unikernels ● http://cloudacademy.com/blog/unikernels-docker-containers-vms- microservices/