SlideShare a Scribd company logo
1 of 13
Download to read offline
1
Daniele Mondello
Introduzione ai
Microservices
Palermo 08/10/2015
Introduzione ai microservices
2
Chi sono e cosa faccio
Daniele Mondello
IT CONSULTANT
Introduzione ai microservices
Cosa è un microservice
3
Microservice
Cosa sono i microservices?
Sono dei servizi “micro”, autonomi, che
fanno una cosa sola (ma bene!) e che
interagiscono tra di loro… in pratica dei
sistemi distribuiti.
Introduzione ai microservices
Definizione di M. Fowler & J. Lewis
4
Definizione di microservices
“Lo stile architetturale a microservizi è un
approccio allo sviluppo di una singola
applicazione come insieme di piccoli
servizi, ciascuno dei quali viene eseguito
da un proprio processo e comunica con un
meccanismo snello, spesso una HTTP API.”
Martin Fowler James Lewis
Introduzione ai microservices
Software Monolitico?
5
Software monolitico
Nelle web app abbiamo diversi strati
che comunicano tra di loro. In questa
architettura il software, anche se
logicamente suddiviso, risulta essere
un unico sistema monolitico.
Punti di debolezza
-un linguaggio di programmazione
-scalabilità limitata
-Risorse legate all’applicazione
-Tempi di sviluppo non parallelizzabili
-Manutenzione onerosa
-Non completa riutilizzazione del codice
-Difficile Sperimentare
Introduzione ai microservices
Software con microservices
6
Your great subtitle in this line
Punti di Forza
-Più linguaggi di programmazione
-Scalabilità Illimitata
-HR legate al microservice
-Sviluppo parallelizzabile
-Manutenzione facilitata
-Completa riutilizzazione del codice
-Permette la sperimentazione
Software con microservices
Software costituito da diversi
componenti che operano per
effettuare una sola mansione
interconnessi tra loro
Introduzione ai microservices
Caratteristiche dei microservices
7
Resiliency
Efficienz
Lorem ipsum dolor sit
amet, consectetuer
adipiscing elit, sed diam
Agility
Revenue
Efficiency
Introduzione ai microservices
8
“The largest sizes reported follow Amazon's notion of
the Two Pizza Team (i.e. the whole team can be fed by
two pizzas), meaning no more than a dozen people”
“Deve essere possibile riscriverlo in un fine settimana”
U.M.: Pizza
U.M: Tempo
Dimensione di un microservice
U.M.: Complessità“Dipende dal grado di ottimizzazione e dall’obiettivo”
Introduzione ai microservices
Sistemi di comunicazione
9
01
REDIS
03
Rabbit MQ
02
API
04
Web Service
REDIS
DBMS NoSQL con estrema velocità che
utilizza la RAM, salvandoli in maniera
persistente successivamente; dispone
di una grande varietà di tipi di dato,
quindi i valori possono esser forme:
liste, dizionari stessi, e molto altro.
Broker di messaggistica che
i m p l e m e n t a i l p r o t o c o l l o
“Advanced Message Queuing
Protocol (AMQP)”. Il server è
scritto in Erlang e basato sul
framework Open Telecom Platform.
Sono disponibili diverse librerie
client per interfacciarsi a questo
broker per diversi linguaggi.
Application Programming Interface
Set di strumenti specifici per
l'espletamento di un determinato
compito all'interno di un certo
programma.
Web Services
Sistema software in grado di
mettersi al servizio di un
applicazione comunicando su di
una medesima rete tramite HTTP.
Un Web service consente quindi
alle applicazioni che vi si collegano
di usufruire delle funzioni che
mette a disposizione.
Introduzione ai microservices
Rabbit MQ
10
L’uomo viene sostituito da un software
Introduzione ai microservices
Tecnologie “Amiche” dei microservices
11
Lumen
Plus Presentation Template 12
Chi usa microservices?
GRAZIE
Daniele Mondello info@danielemondello.it
@dmondello
Daniele.Mondello

More Related Content

Viewers also liked

Progressive Web Apps for Beginners
Progressive Web Apps for BeginnersProgressive Web Apps for Beginners
Progressive Web Apps for BeginnersPietro Alberto Rossi
 
Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...
Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...
Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...italianaSoftware
 
Overview about AngularJS Framework
Overview about AngularJS Framework Overview about AngularJS Framework
Overview about AngularJS Framework Camilo Lopes
 
Scaling Gilt: from monolith ruby app to micro service scala service architecture
Scaling Gilt: from monolith ruby app to micro service scala service architectureScaling Gilt: from monolith ruby app to micro service scala service architecture
Scaling Gilt: from monolith ruby app to micro service scala service architectureGilt Tech Talks
 
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURESVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZUREDotNetCampus
 
Architetture a Microservizi con Docker Container
Architetture a Microservizi con Docker ContainerArchitetture a Microservizi con Docker Container
Architetture a Microservizi con Docker ContainerRoberto Messora
 
Communicating Sequential Processes (CSP) in JavaScript
Communicating Sequential Processes (CSP) in JavaScriptCommunicating Sequential Processes (CSP) in JavaScript
Communicating Sequential Processes (CSP) in JavaScriptMax Klymyshyn
 
Microservizi, scenari del prossimo e del lontano futuro
Microservizi, scenari del prossimo e del lontano futuroMicroservizi, scenari del prossimo e del lontano futuro
Microservizi, scenari del prossimo e del lontano futuroitalianaSoftware
 
Genesi di una tecnologia, dalla ricerca all'industria...
Genesi di una tecnologia, dalla ricerca all'industria...Genesi di una tecnologia, dalla ricerca all'industria...
Genesi di una tecnologia, dalla ricerca all'industria...italianaSoftware
 
Industria 4.0 - Come verrà rivoluzionata l'industria italiana
Industria 4.0 - Come verrà rivoluzionata l'industria italianaIndustria 4.0 - Come verrà rivoluzionata l'industria italiana
Industria 4.0 - Come verrà rivoluzionata l'industria italianaitalianaSoftware
 
PiterPy 2016: Parallelization, Aggregation and Validation of API in Python
PiterPy 2016: Parallelization, Aggregation and Validation of API in PythonPiterPy 2016: Parallelization, Aggregation and Validation of API in Python
PiterPy 2016: Parallelization, Aggregation and Validation of API in PythonMax Klymyshyn
 
Knowledge drivenmicroservices
Knowledge drivenmicroservicesKnowledge drivenmicroservices
Knowledge drivenmicroservicesMaciej Swiderski
 
A Framework for Rule-Based Dynamic Adaptation
A Framework for Rule-Based Dynamic AdaptationA Framework for Rule-Based Dynamic Adaptation
A Framework for Rule-Based Dynamic AdaptationIMDS2014
 
La rivoluzione dei Microservizi
La rivoluzione dei MicroserviziLa rivoluzione dei Microservizi
La rivoluzione dei MicroserviziitalianaSoftware
 
IoT and Microservice
IoT and MicroserviceIoT and Microservice
IoT and Microservicekgshukla
 
Software Architecture Conference - Monitoring Microservices - A Challenge
Software Architecture Conference -  Monitoring Microservices - A ChallengeSoftware Architecture Conference -  Monitoring Microservices - A Challenge
Software Architecture Conference - Monitoring Microservices - A ChallengeAdrian Cockcroft
 
Scala Frameworks for Web Application 2016
Scala Frameworks for Web Application 2016Scala Frameworks for Web Application 2016
Scala Frameworks for Web Application 2016takezoe
 
Microservice Architecture JavaCro 2015
Microservice Architecture JavaCro 2015Microservice Architecture JavaCro 2015
Microservice Architecture JavaCro 2015Nenad Pecanac
 
AngularJS Architecture
AngularJS ArchitectureAngularJS Architecture
AngularJS ArchitectureEyal Vardi
 

Viewers also liked (20)

Progressive Web Apps for Beginners
Progressive Web Apps for BeginnersProgressive Web Apps for Beginners
Progressive Web Apps for Beginners
 
Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...
Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...
Implementazione di una soluzione a microservizi: benifici organizzativi ed ec...
 
Overview about AngularJS Framework
Overview about AngularJS Framework Overview about AngularJS Framework
Overview about AngularJS Framework
 
Scaling Gilt: from monolith ruby app to micro service scala service architecture
Scaling Gilt: from monolith ruby app to micro service scala service architectureScaling Gilt: from monolith ruby app to micro service scala service architecture
Scaling Gilt: from monolith ruby app to micro service scala service architecture
 
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURESVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
 
Architetture a Microservizi con Docker Container
Architetture a Microservizi con Docker ContainerArchitetture a Microservizi con Docker Container
Architetture a Microservizi con Docker Container
 
Communicating Sequential Processes (CSP) in JavaScript
Communicating Sequential Processes (CSP) in JavaScriptCommunicating Sequential Processes (CSP) in JavaScript
Communicating Sequential Processes (CSP) in JavaScript
 
Microservizi, scenari del prossimo e del lontano futuro
Microservizi, scenari del prossimo e del lontano futuroMicroservizi, scenari del prossimo e del lontano futuro
Microservizi, scenari del prossimo e del lontano futuro
 
Genesi di una tecnologia, dalla ricerca all'industria...
Genesi di una tecnologia, dalla ricerca all'industria...Genesi di una tecnologia, dalla ricerca all'industria...
Genesi di una tecnologia, dalla ricerca all'industria...
 
Industria 4.0 - Come verrà rivoluzionata l'industria italiana
Industria 4.0 - Come verrà rivoluzionata l'industria italianaIndustria 4.0 - Come verrà rivoluzionata l'industria italiana
Industria 4.0 - Come verrà rivoluzionata l'industria italiana
 
PiterPy 2016: Parallelization, Aggregation and Validation of API in Python
PiterPy 2016: Parallelization, Aggregation and Validation of API in PythonPiterPy 2016: Parallelization, Aggregation and Validation of API in Python
PiterPy 2016: Parallelization, Aggregation and Validation of API in Python
 
Knowledge drivenmicroservices
Knowledge drivenmicroservicesKnowledge drivenmicroservices
Knowledge drivenmicroservices
 
A Framework for Rule-Based Dynamic Adaptation
A Framework for Rule-Based Dynamic AdaptationA Framework for Rule-Based Dynamic Adaptation
A Framework for Rule-Based Dynamic Adaptation
 
La rivoluzione dei Microservizi
La rivoluzione dei MicroserviziLa rivoluzione dei Microservizi
La rivoluzione dei Microservizi
 
IoT and Microservice
IoT and MicroserviceIoT and Microservice
IoT and Microservice
 
Software Architecture Conference - Monitoring Microservices - A Challenge
Software Architecture Conference -  Monitoring Microservices - A ChallengeSoftware Architecture Conference -  Monitoring Microservices - A Challenge
Software Architecture Conference - Monitoring Microservices - A Challenge
 
Devops, Cloud e Container
Devops, Cloud e ContainerDevops, Cloud e Container
Devops, Cloud e Container
 
Scala Frameworks for Web Application 2016
Scala Frameworks for Web Application 2016Scala Frameworks for Web Application 2016
Scala Frameworks for Web Application 2016
 
Microservice Architecture JavaCro 2015
Microservice Architecture JavaCro 2015Microservice Architecture JavaCro 2015
Microservice Architecture JavaCro 2015
 
AngularJS Architecture
AngularJS ArchitectureAngularJS Architecture
AngularJS Architecture
 

Similar to Introduzione ai Microservices

.NET Microservices
.NET Microservices.NET Microservices
.NET MicroservicesLuca Congiu
 
Sinibaldi soa-28.02.2008
Sinibaldi soa-28.02.2008Sinibaldi soa-28.02.2008
Sinibaldi soa-28.02.2008sinibaldi
 
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
 
MySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQLMySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQLPar-Tec S.p.A.
 
Microservices architecture & Service Fabric
Microservices architecture & Service FabricMicroservices architecture & Service Fabric
Microservices architecture & Service FabricMassimo 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
 
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.
 
Cefriel Della Valle Web 2.0 And Soa Bif
Cefriel Della Valle Web 2.0 And Soa BifCefriel Della Valle Web 2.0 And Soa Bif
Cefriel Della Valle Web 2.0 And Soa BifEmanuele Della Valle
 
IBM Bluemix @Codemotion
IBM Bluemix @CodemotionIBM Bluemix @Codemotion
IBM Bluemix @CodemotionRoberto Pozzi
 
Cloud e innovazione
Cloud e innovazioneCloud e innovazione
Cloud e innovazioneXPeppers
 
Lezione 3: Strumenti - Il Web
Lezione 3: Strumenti - Il WebLezione 3: Strumenti - Il Web
Lezione 3: Strumenti - Il WebStefano Epifani
 
UI composition @ dotNetMarche
UI composition @ dotNetMarcheUI composition @ dotNetMarche
UI composition @ dotNetMarcheMauro Servienti
 
Aws (amazon web services) - Slide
Aws (amazon web services) - SlideAws (amazon web services) - Slide
Aws (amazon web services) - Slidealessioemireni
 
Fly Together the TIM DIgital Transformation
Fly Together the TIM DIgital TransformationFly Together the TIM DIgital Transformation
Fly Together the TIM DIgital TransformationMarco Daccò
 

Similar to Introduzione ai Microservices (20)

.NET Microservices
.NET Microservices.NET Microservices
.NET Microservices
 
Sinibaldi soa-28.02.2008
Sinibaldi soa-28.02.2008Sinibaldi soa-28.02.2008
Sinibaldi soa-28.02.2008
 
Architetture.Distribuite
Architetture.DistribuiteArchitetture.Distribuite
Architetture.Distribuite
 
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
 
MySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQLMySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQL
 
Microservices architecture & Service Fabric
Microservices architecture & Service FabricMicroservices architecture & Service Fabric
Microservices architecture & Service Fabric
 
Parliamo di SOA
Parliamo di SOAParliamo di SOA
Parliamo di SOA
 
Microservizi & DevOps
Microservizi & DevOpsMicroservizi & DevOps
Microservizi & DevOps
 
TESIPOLI
TESIPOLITESIPOLI
TESIPOLI
 
Il mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveIl mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettive
 
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
 
Cefriel Della Valle Web 2.0 And Soa Bif
Cefriel Della Valle Web 2.0 And Soa BifCefriel Della Valle Web 2.0 And Soa Bif
Cefriel Della Valle Web 2.0 And Soa Bif
 
IBM Bluemix @Codemotion
IBM Bluemix @CodemotionIBM Bluemix @Codemotion
IBM Bluemix @Codemotion
 
Presentazione Unibo
Presentazione UniboPresentazione Unibo
Presentazione Unibo
 
Cloud e innovazione
Cloud e innovazioneCloud e innovazione
Cloud e innovazione
 
Lezione 3: Strumenti - Il Web
Lezione 3: Strumenti - Il WebLezione 3: Strumenti - Il Web
Lezione 3: Strumenti - Il Web
 
UI composition @ dotNetMarche
UI composition @ dotNetMarcheUI composition @ dotNetMarche
UI composition @ dotNetMarche
 
Fuse webinar
Fuse webinarFuse webinar
Fuse webinar
 
Aws (amazon web services) - Slide
Aws (amazon web services) - SlideAws (amazon web services) - Slide
Aws (amazon web services) - Slide
 
Fly Together the TIM DIgital Transformation
Fly Together the TIM DIgital TransformationFly Together the TIM DIgital Transformation
Fly Together the TIM DIgital Transformation
 

More from Daniele Mondello

Impatto dell'Intelligenza Artificiale sul Gioco d'Azzardo
Impatto dell'Intelligenza Artificiale sul Gioco d'AzzardoImpatto dell'Intelligenza Artificiale sul Gioco d'Azzardo
Impatto dell'Intelligenza Artificiale sul Gioco d'AzzardoDaniele Mondello
 
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...Daniele Mondello
 
Linux day 2021 Analisi Open Source dei dati pandemici
Linux day 2021 Analisi Open Source dei dati pandemiciLinux day 2021 Analisi Open Source dei dati pandemici
Linux day 2021 Analisi Open Source dei dati pandemiciDaniele Mondello
 
Gdg 2019 artificial intelligence, sviluppo web... le nuove regole del gioco
Gdg 2019 artificial intelligence, sviluppo web... le nuove regole del giocoGdg 2019 artificial intelligence, sviluppo web... le nuove regole del gioco
Gdg 2019 artificial intelligence, sviluppo web... le nuove regole del giocoDaniele Mondello
 
Wiad 2018 - CREARE, GESTIRE E TROVARE INFORMAZIONI ALL'INTERNO DI UN AMBIENTE...
Wiad 2018 - CREARE, GESTIRE E TROVARE INFORMAZIONI ALL'INTERNO DI UN AMBIENTE...Wiad 2018 - CREARE, GESTIRE E TROVARE INFORMAZIONI ALL'INTERNO DI UN AMBIENTE...
Wiad 2018 - CREARE, GESTIRE E TROVARE INFORMAZIONI ALL'INTERNO DI UN AMBIENTE...Daniele Mondello
 
Tutto quello che avreste voluto chiedere sui social network (ma non avete ami...
Tutto quello che avreste voluto chiedere sui social network (ma non avete ami...Tutto quello che avreste voluto chiedere sui social network (ma non avete ami...
Tutto quello che avreste voluto chiedere sui social network (ma non avete ami...Daniele Mondello
 
Caminetto Rotariano sulla sicurezza informatica
Caminetto Rotariano sulla sicurezza informaticaCaminetto Rotariano sulla sicurezza informatica
Caminetto Rotariano sulla sicurezza informaticaDaniele Mondello
 
Po Fesr 2014-2020 e gli Open Data
Po Fesr 2014-2020 e gli Open DataPo Fesr 2014-2020 e gli Open Data
Po Fesr 2014-2020 e gli Open DataDaniele Mondello
 
Evoluzione del web development dalle cgi ai microservices
Evoluzione del web development dalle cgi ai microservicesEvoluzione del web development dalle cgi ai microservices
Evoluzione del web development dalle cgi ai microservicesDaniele Mondello
 
#openamat Giornata trasparenza 2016
#openamat Giornata trasparenza 2016#openamat Giornata trasparenza 2016
#openamat Giornata trasparenza 2016Daniele Mondello
 
Osservatorio startup innovative 2016
Osservatorio startup innovative 2016Osservatorio startup innovative 2016
Osservatorio startup innovative 2016Daniele Mondello
 
Fascicolo sanitario & Dossier sanitario vantaggi nell’adozione di open source...
Fascicolo sanitario & Dossier sanitario vantaggi nell’adozione di open source...Fascicolo sanitario & Dossier sanitario vantaggi nell’adozione di open source...
Fascicolo sanitario & Dossier sanitario vantaggi nell’adozione di open source...Daniele Mondello
 
Flussi sanitari privacy big data
Flussi sanitari privacy big dataFlussi sanitari privacy big data
Flussi sanitari privacy big dataDaniele Mondello
 
pagoPa, i pagamenti elettronici nella Pubblica Amministrazione
pagoPa, i pagamenti elettronici nella Pubblica AmministrazionepagoPa, i pagamenti elettronici nella Pubblica Amministrazione
pagoPa, i pagamenti elettronici nella Pubblica AmministrazioneDaniele Mondello
 
Cartella Clinica Elettronica: Un modello applicativo
Cartella Clinica Elettronica:  Un modello applicativoCartella Clinica Elettronica:  Un modello applicativo
Cartella Clinica Elettronica: Un modello applicativoDaniele Mondello
 
Vagrant e Docker a confronto;scegliere ed iniziare
Vagrant e  Docker a confronto;scegliere ed iniziareVagrant e  Docker a confronto;scegliere ed iniziare
Vagrant e Docker a confronto;scegliere ed iniziareDaniele Mondello
 
Azienda- lavoratori in remoto e Iso 9000
Azienda- lavoratori in remoto  e Iso 9000Azienda- lavoratori in remoto  e Iso 9000
Azienda- lavoratori in remoto e Iso 9000Daniele Mondello
 

More from Daniele Mondello (20)

Impatto dell'Intelligenza Artificiale sul Gioco d'Azzardo
Impatto dell'Intelligenza Artificiale sul Gioco d'AzzardoImpatto dell'Intelligenza Artificiale sul Gioco d'Azzardo
Impatto dell'Intelligenza Artificiale sul Gioco d'Azzardo
 
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
 
Linux day 2021 Analisi Open Source dei dati pandemici
Linux day 2021 Analisi Open Source dei dati pandemiciLinux day 2021 Analisi Open Source dei dati pandemici
Linux day 2021 Analisi Open Source dei dati pandemici
 
Gdg 2019 artificial intelligence, sviluppo web... le nuove regole del gioco
Gdg 2019 artificial intelligence, sviluppo web... le nuove regole del giocoGdg 2019 artificial intelligence, sviluppo web... le nuove regole del gioco
Gdg 2019 artificial intelligence, sviluppo web... le nuove regole del gioco
 
Wiad 2018 - CREARE, GESTIRE E TROVARE INFORMAZIONI ALL'INTERNO DI UN AMBIENTE...
Wiad 2018 - CREARE, GESTIRE E TROVARE INFORMAZIONI ALL'INTERNO DI UN AMBIENTE...Wiad 2018 - CREARE, GESTIRE E TROVARE INFORMAZIONI ALL'INTERNO DI UN AMBIENTE...
Wiad 2018 - CREARE, GESTIRE E TROVARE INFORMAZIONI ALL'INTERNO DI UN AMBIENTE...
 
Tutto quello che avreste voluto chiedere sui social network (ma non avete ami...
Tutto quello che avreste voluto chiedere sui social network (ma non avete ami...Tutto quello che avreste voluto chiedere sui social network (ma non avete ami...
Tutto quello che avreste voluto chiedere sui social network (ma non avete ami...
 
Caminetto Rotariano sulla sicurezza informatica
Caminetto Rotariano sulla sicurezza informaticaCaminetto Rotariano sulla sicurezza informatica
Caminetto Rotariano sulla sicurezza informatica
 
Linux day 2017
Linux day 2017Linux day 2017
Linux day 2017
 
Po Fesr 2014-2020 e gli Open Data
Po Fesr 2014-2020 e gli Open DataPo Fesr 2014-2020 e gli Open Data
Po Fesr 2014-2020 e gli Open Data
 
Evoluzione del web development dalle cgi ai microservices
Evoluzione del web development dalle cgi ai microservicesEvoluzione del web development dalle cgi ai microservices
Evoluzione del web development dalle cgi ai microservices
 
Open data day 2017
Open data day 2017Open data day 2017
Open data day 2017
 
#openamat Giornata trasparenza 2016
#openamat Giornata trasparenza 2016#openamat Giornata trasparenza 2016
#openamat Giornata trasparenza 2016
 
Osservatorio startup innovative 2016
Osservatorio startup innovative 2016Osservatorio startup innovative 2016
Osservatorio startup innovative 2016
 
Fascicolo sanitario & Dossier sanitario vantaggi nell’adozione di open source...
Fascicolo sanitario & Dossier sanitario vantaggi nell’adozione di open source...Fascicolo sanitario & Dossier sanitario vantaggi nell’adozione di open source...
Fascicolo sanitario & Dossier sanitario vantaggi nell’adozione di open source...
 
Flussi sanitari privacy big data
Flussi sanitari privacy big dataFlussi sanitari privacy big data
Flussi sanitari privacy big data
 
pagoPa, i pagamenti elettronici nella Pubblica Amministrazione
pagoPa, i pagamenti elettronici nella Pubblica AmministrazionepagoPa, i pagamenti elettronici nella Pubblica Amministrazione
pagoPa, i pagamenti elettronici nella Pubblica Amministrazione
 
Cartella Clinica Elettronica: Un modello applicativo
Cartella Clinica Elettronica:  Un modello applicativoCartella Clinica Elettronica:  Un modello applicativo
Cartella Clinica Elettronica: Un modello applicativo
 
Vagrant e Docker a confronto;scegliere ed iniziare
Vagrant e  Docker a confronto;scegliere ed iniziareVagrant e  Docker a confronto;scegliere ed iniziare
Vagrant e Docker a confronto;scegliere ed iniziare
 
Azienda- lavoratori in remoto e Iso 9000
Azienda- lavoratori in remoto  e Iso 9000Azienda- lavoratori in remoto  e Iso 9000
Azienda- lavoratori in remoto e Iso 9000
 
Web Radio
Web RadioWeb Radio
Web Radio
 

Introduzione ai Microservices

  • 2. Introduzione ai microservices 2 Chi sono e cosa faccio Daniele Mondello IT CONSULTANT
  • 3. Introduzione ai microservices Cosa è un microservice 3 Microservice Cosa sono i microservices? Sono dei servizi “micro”, autonomi, che fanno una cosa sola (ma bene!) e che interagiscono tra di loro… in pratica dei sistemi distribuiti.
  • 4. Introduzione ai microservices Definizione di M. Fowler & J. Lewis 4 Definizione di microservices “Lo stile architetturale a microservizi è un approccio allo sviluppo di una singola applicazione come insieme di piccoli servizi, ciascuno dei quali viene eseguito da un proprio processo e comunica con un meccanismo snello, spesso una HTTP API.” Martin Fowler James Lewis
  • 5. Introduzione ai microservices Software Monolitico? 5 Software monolitico Nelle web app abbiamo diversi strati che comunicano tra di loro. In questa architettura il software, anche se logicamente suddiviso, risulta essere un unico sistema monolitico. Punti di debolezza -un linguaggio di programmazione -scalabilità limitata -Risorse legate all’applicazione -Tempi di sviluppo non parallelizzabili -Manutenzione onerosa -Non completa riutilizzazione del codice -Difficile Sperimentare
  • 6. Introduzione ai microservices Software con microservices 6 Your great subtitle in this line Punti di Forza -Più linguaggi di programmazione -Scalabilità Illimitata -HR legate al microservice -Sviluppo parallelizzabile -Manutenzione facilitata -Completa riutilizzazione del codice -Permette la sperimentazione Software con microservices Software costituito da diversi componenti che operano per effettuare una sola mansione interconnessi tra loro
  • 7. Introduzione ai microservices Caratteristiche dei microservices 7 Resiliency Efficienz Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam Agility Revenue Efficiency
  • 8. Introduzione ai microservices 8 “The largest sizes reported follow Amazon's notion of the Two Pizza Team (i.e. the whole team can be fed by two pizzas), meaning no more than a dozen people” “Deve essere possibile riscriverlo in un fine settimana” U.M.: Pizza U.M: Tempo Dimensione di un microservice U.M.: Complessità“Dipende dal grado di ottimizzazione e dall’obiettivo”
  • 9. Introduzione ai microservices Sistemi di comunicazione 9 01 REDIS 03 Rabbit MQ 02 API 04 Web Service REDIS DBMS NoSQL con estrema velocità che utilizza la RAM, salvandoli in maniera persistente successivamente; dispone di una grande varietà di tipi di dato, quindi i valori possono esser forme: liste, dizionari stessi, e molto altro. Broker di messaggistica che i m p l e m e n t a i l p r o t o c o l l o “Advanced Message Queuing Protocol (AMQP)”. Il server è scritto in Erlang e basato sul framework Open Telecom Platform. Sono disponibili diverse librerie client per interfacciarsi a questo broker per diversi linguaggi. Application Programming Interface Set di strumenti specifici per l'espletamento di un determinato compito all'interno di un certo programma. Web Services Sistema software in grado di mettersi al servizio di un applicazione comunicando su di una medesima rete tramite HTTP. Un Web service consente quindi alle applicazioni che vi si collegano di usufruire delle funzioni che mette a disposizione.
  • 10. Introduzione ai microservices Rabbit MQ 10 L’uomo viene sostituito da un software
  • 11. Introduzione ai microservices Tecnologie “Amiche” dei microservices 11 Lumen
  • 12. Plus Presentation Template 12 Chi usa microservices?