SlideShare a Scribd company logo
1 of 23
Download to read offline
GnuLinuxMeeting
Palermo 11-12 Marzo 2016
Daniele Mondello
Approccio ad una
infrastruttura per
Microservice
GnuLinuxMeeting
• Management
• Team Leader
• Quality Manager
• Web Architect
• Healthcare IT Consultant
• UX Expert
General
O.S.
PHP (6 years)
Javascript (11 years)
ASP(13 years)
MySQL (6 years)
HTML, CSS3 (15 years)
Ruby, Rails (1 year)
Python (1 year)
Developer
• Ubuntu, CentOS
• Mac OSX
• Windows
• IOS - Android
• Embedded OS
• Raspai, Pidora
Chi sono e cosa faccio
Definizione di Microrservices
Sono dei servizi “micro” autonomi, che
fanno una cosa sola )ma bene!) e che
interagiscono tra di loro… in altre parole
dei sistemi distribuiti-
GnuLinuxMeeting
Cosa è un Microservice
GnuLinuxMeeting
Caratteristiche di un Microservice
UTILIZZO
DECENTRATO DEI
DATI
SCALABILITA'
INDiPENDENTE DA
LINGUAGGIO
POSSIBILITA DI
RIUTILIZZO
Bug Isolati
GnuLinuxMeeting
L’obiettivo di un Microservice
Micro è l’obiettivo!
Microservice A Microservice B Microservice C Microservice D MicroserviceE
GnuLinuxMeeting
Architettura per Microservices
Cosa fa
DOCKER?
Docker sviluppata da Docker inc di Salomon
Hykes è un sistema di virtualizzazione basato s
container. Mentre nella virtualizzazione classica
sono virtualizzati programmi e kernel del sistem
operativo nella virtualizzazione per containers
sono virtualizzati software e librerie.
GnuLinuxMeeting
Docker
Platform Automation Deployment Automation Build & Test Automation
Diagnostic & Instrumentation Monitoring & Alerting AuthN/AuthZ
Messaging Channel
Microservice A Microservice B Microservice C Microservice D MicroserviceE
GnuLinuxMeeting
Architettura per Microservices
Generare report più o
meno complessi
Effettuare delle misurazioni
rispetto a delle metriche
Deployment Automation
Collezionare il codice dai
repository remoti
Deployment Automation
Lanciare test statici e dinamici
sul codice
Continuous Delivery
GnuLinuxMeeting
Build Privata Server CI
Lancio di una build privata
Lo sviluppatore effettua una Build Privata
sulla propria postazione così da integrare
eventuali cambiamenti effettuati dagli altri
membri del team e verificato che
l’integrazione dia un sistema funzionante.
Commit sul CVS del codice
Lo sviluppatore conclusa l’attività effettua
un commit sul repository del sistema di
controllo di versione. 5
Lancio SCRIPT su server CI
Il server di CI accortosi del cambiamento
scarica il codice aggiornato e lancia uno
script di build così da integrare questi
cambiamenti e da ricostruire il sistema e ri-
testarlo ed a seguito del risultato della
build, genera un feedback (es: email)
visibile al team
CVS
Flusso di Lavoro per un Microservice
GnuLinuxMeeting
I progetti in Jenkins
GnuLinuxMeeting
Un progetto in Jenkins 1/2
GnuLinuxMeeting
Un progetto in Jenkins 2/2
GnuLinuxMeeting
Platform Automation Deployment Automation Build & Test Automation
Diagnostic & Instrumentation Monitoring & Alerting AuthN/AuthZ
Messaging Channel
Microservice A Microservice B Microservice C Microservice D MicroserviceE
Event
Published
Event
Subscribed
Event
Published/
Subscribed
GnuLinuxMeeting
Architettura per Microservices
Easy to Use!
Runs on all major O.S.
Open Source
GnuLinuxMeeting
Robusta soluzione per messaggistica tra
applicazioni con supporto a diverse
piattaforme di sviluppo
Messaging Channel
GnuLinuxMeeting
UtilizzoRabbit MQ
Platform Automation Deployment Automation Build & Test Automation
Diagnostic & Instrumentation Monitoring & Alerting AuthN/AuthZ
Messaging Channel
Microservice A Microservice B Microservice C Microservice D MicroserviceE
Event
Published
Event
Subscribed
Event
Published/
Subscribed
Shared
Configuration
Dependency
Management
GnuLinuxMeeting
Architettura per Microservices
01
02 05
06
Canticle.io
Permette di gestire dipendenze
di micorservices.
DATABASE
E’ possibile gestire dipendenze
tramite DB
COMPOSER
Gestisce le dipendenze in PHP
Maven
Strumento per la gestione dei
progetti per la piattaforma Java
Dipendenze e Configurazioni
Dipendenze
Configurazioni
VS
GnuLinuxMeeting
Platform Automation Deployment Automation Build & Test Automation
Diagnostic & Instrumentation Monitoring & Alerting AuthN/AuthZ
Messaging Channel
Microservice A Microservice B Microservice C Microservice D MicroserviceE
Event
Published
Event
Subscribed
Event
Published/
Subscribed
Shared
Configuration
Dependency
Management
Service
Gateway
GnuLinuxMeeting
Architettura per Microservices
Service Gateway
GnuLinuxMeeting - Fonte: https://www.nginx.com/blog/building-microservices-using-an-api-gateway/
L’API Gateway incapsula l’architettura interna dei microservicese fornisce delle API a misura
di client. Può avere anche responsabilità come autentication, monitoring, load balancing,
caching, request shaping, static response handling (StrongLoop,NodeJS)
Platform Automation Deployment Automation Build & Test Automation
Diagnostic & Instrumentation Monitoring & Alerting AuthN/AuthZ
Messaging Channel
Microservice A Microservice B Microservice C Microservice D MicroserviceE
Event
Published
Event
Subscribed
Event
Published/
Subscribed
Shared
Configuration
Dependency
Management
Service
Gateway
Service
Routing
Service
Discovery
GnuLinuxMeeting
Architettura per Microservices
Platform Automation Deployment Automation Build & Test Automation
Diagnostic & Instrumentation Monitoring & Alerting AuthN/AuthZ
Messaging Channel
Microservice A Microservice B Microservice C Microservice D Microservice E
Event
Published
Event
Subscribed
Event
Published/
Subscribed
Shared
Configuration
Dependency
Management
Service
Gateway
Service
Routing
GnuLinuxMeeting
Architettura per Microservices
Service
Discovery
GRAZIE PER L’ATTENZIONE
info@danielemondello.it
@dmondello
DanielemondelloDaniele Mondello
GnuLinuxMeeting
Palermo 11-12 Marzo 2016

More Related Content

Similar to Approccio ad una infrastruttura per Microservice

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
 
.NET Microservices
.NET Microservices.NET Microservices
.NET MicroservicesLuca Congiu
 
Cloud e innovazione
Cloud e innovazioneCloud e innovazione
Cloud e innovazioneXPeppers
 
Seminario: GNU/Linux come punto di forza
Seminario: GNU/Linux come punto di forzaSeminario: GNU/Linux come punto di forza
Seminario: GNU/Linux come punto di forzaMauro Fava
 
La rivoluzione dei Microservizi
La rivoluzione dei MicroserviziLa rivoluzione dei Microservizi
La rivoluzione dei MicroserviziitalianaSoftware
 
Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsIgor Antonacci
 
Microservices architecture & Service Fabric
Microservices architecture & Service FabricMicroservices architecture & Service Fabric
Microservices architecture & Service FabricMassimo Bonanni
 
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.
 
Miniaturizzazione dell'interfaccia utente da applicazioni Java ad Android.pptx
Miniaturizzazione dell'interfaccia utente da applicazioni Java ad Android.pptxMiniaturizzazione dell'interfaccia utente da applicazioni Java ad Android.pptx
Miniaturizzazione dell'interfaccia utente da applicazioni Java ad Android.pptxPasquale Matrone
 
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
 
MySQL Day Milano 2017 - Dalla replica a InnoDB Cluster: l’HA secondo MySQL
MySQL Day Milano 2017 - Dalla replica a InnoDB Cluster: l’HA secondo MySQLMySQL Day Milano 2017 - Dalla replica a InnoDB Cluster: l’HA secondo MySQL
MySQL Day Milano 2017 - Dalla replica a InnoDB Cluster: l’HA secondo MySQLPar-Tec S.p.A.
 
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.
 
Software modularity, microservices ed headless platform all in one. Liferay: ...
Software modularity, microservices ed headless platform all in one. Liferay: ...Software modularity, microservices ed headless platform all in one. Liferay: ...
Software modularity, microservices ed headless platform all in one. Liferay: ...Commit University
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Codemotion
 

Similar to Approccio ad una infrastruttura per Microservice (20)

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
 
.NET Microservices
.NET Microservices.NET Microservices
.NET Microservices
 
Cloud e innovazione
Cloud e innovazioneCloud e innovazione
Cloud e innovazione
 
Parliamo di SOA
Parliamo di SOAParliamo di SOA
Parliamo di SOA
 
Fuse webinar
Fuse webinarFuse webinar
Fuse webinar
 
Seminario: GNU/Linux come punto di forza
Seminario: GNU/Linux come punto di forzaSeminario: GNU/Linux come punto di forza
Seminario: GNU/Linux come punto di forza
 
La rivoluzione dei Microservizi
La rivoluzione dei MicroserviziLa rivoluzione dei Microservizi
La rivoluzione dei Microservizi
 
Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devops
 
Microservices architecture & Service Fabric
Microservices architecture & Service FabricMicroservices architecture & Service Fabric
Microservices architecture & Service Fabric
 
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
 
Miniaturizzazione dell'interfaccia utente da applicazioni Java ad Android.pptx
Miniaturizzazione dell'interfaccia utente da applicazioni Java ad Android.pptxMiniaturizzazione dell'interfaccia utente da applicazioni Java ad Android.pptx
Miniaturizzazione dell'interfaccia utente da applicazioni Java ad Android.pptx
 
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
 
Presentazione Unibo
Presentazione UniboPresentazione Unibo
Presentazione Unibo
 
Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"
Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"
Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"
 
MySQL Day Milano 2017 - Dalla replica a InnoDB Cluster: l’HA secondo MySQL
MySQL Day Milano 2017 - Dalla replica a InnoDB Cluster: l’HA secondo MySQLMySQL Day Milano 2017 - Dalla replica a InnoDB Cluster: l’HA secondo MySQL
MySQL Day Milano 2017 - Dalla replica a InnoDB Cluster: l’HA secondo MySQL
 
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
 
Software modularity, microservices ed headless platform all in one. Liferay: ...
Software modularity, microservices ed headless platform all in one. Liferay: ...Software modularity, microservices ed headless platform all in one. Liferay: ...
Software modularity, microservices ed headless platform all in one. Liferay: ...
 
Cognos10 la piattaforma
Cognos10 la piattaformaCognos10 la piattaforma
Cognos10 la piattaforma
 
Erlug
ErlugErlug
Erlug
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
 

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
 
Git in 5 minuti
Git in 5 minutiGit in 5 minuti
Git in 5 minuti
 
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
 

Approccio ad una infrastruttura per Microservice

  • 1. GnuLinuxMeeting Palermo 11-12 Marzo 2016 Daniele Mondello Approccio ad una infrastruttura per Microservice
  • 2. GnuLinuxMeeting • Management • Team Leader • Quality Manager • Web Architect • Healthcare IT Consultant • UX Expert General O.S. PHP (6 years) Javascript (11 years) ASP(13 years) MySQL (6 years) HTML, CSS3 (15 years) Ruby, Rails (1 year) Python (1 year) Developer • Ubuntu, CentOS • Mac OSX • Windows • IOS - Android • Embedded OS • Raspai, Pidora Chi sono e cosa faccio
  • 3. Definizione di Microrservices Sono dei servizi “micro” autonomi, che fanno una cosa sola )ma bene!) e che interagiscono tra di loro… in altre parole dei sistemi distribuiti- GnuLinuxMeeting Cosa è un Microservice
  • 4. GnuLinuxMeeting Caratteristiche di un Microservice UTILIZZO DECENTRATO DEI DATI SCALABILITA' INDiPENDENTE DA LINGUAGGIO POSSIBILITA DI RIUTILIZZO Bug Isolati
  • 5. GnuLinuxMeeting L’obiettivo di un Microservice Micro è l’obiettivo!
  • 6. Microservice A Microservice B Microservice C Microservice D MicroserviceE GnuLinuxMeeting Architettura per Microservices
  • 7. Cosa fa DOCKER? Docker sviluppata da Docker inc di Salomon Hykes è un sistema di virtualizzazione basato s container. Mentre nella virtualizzazione classica sono virtualizzati programmi e kernel del sistem operativo nella virtualizzazione per containers sono virtualizzati software e librerie. GnuLinuxMeeting Docker
  • 8. Platform Automation Deployment Automation Build & Test Automation Diagnostic & Instrumentation Monitoring & Alerting AuthN/AuthZ Messaging Channel Microservice A Microservice B Microservice C Microservice D MicroserviceE GnuLinuxMeeting Architettura per Microservices
  • 9. Generare report più o meno complessi Effettuare delle misurazioni rispetto a delle metriche Deployment Automation Collezionare il codice dai repository remoti Deployment Automation Lanciare test statici e dinamici sul codice Continuous Delivery GnuLinuxMeeting
  • 10. Build Privata Server CI Lancio di una build privata Lo sviluppatore effettua una Build Privata sulla propria postazione così da integrare eventuali cambiamenti effettuati dagli altri membri del team e verificato che l’integrazione dia un sistema funzionante. Commit sul CVS del codice Lo sviluppatore conclusa l’attività effettua un commit sul repository del sistema di controllo di versione. 5 Lancio SCRIPT su server CI Il server di CI accortosi del cambiamento scarica il codice aggiornato e lancia uno script di build così da integrare questi cambiamenti e da ricostruire il sistema e ri- testarlo ed a seguito del risultato della build, genera un feedback (es: email) visibile al team CVS Flusso di Lavoro per un Microservice GnuLinuxMeeting
  • 11. I progetti in Jenkins GnuLinuxMeeting
  • 12. Un progetto in Jenkins 1/2 GnuLinuxMeeting
  • 13. Un progetto in Jenkins 2/2 GnuLinuxMeeting
  • 14. Platform Automation Deployment Automation Build & Test Automation Diagnostic & Instrumentation Monitoring & Alerting AuthN/AuthZ Messaging Channel Microservice A Microservice B Microservice C Microservice D MicroserviceE Event Published Event Subscribed Event Published/ Subscribed GnuLinuxMeeting Architettura per Microservices
  • 15. Easy to Use! Runs on all major O.S. Open Source GnuLinuxMeeting Robusta soluzione per messaggistica tra applicazioni con supporto a diverse piattaforme di sviluppo Messaging Channel
  • 17. Platform Automation Deployment Automation Build & Test Automation Diagnostic & Instrumentation Monitoring & Alerting AuthN/AuthZ Messaging Channel Microservice A Microservice B Microservice C Microservice D MicroserviceE Event Published Event Subscribed Event Published/ Subscribed Shared Configuration Dependency Management GnuLinuxMeeting Architettura per Microservices
  • 18. 01 02 05 06 Canticle.io Permette di gestire dipendenze di micorservices. DATABASE E’ possibile gestire dipendenze tramite DB COMPOSER Gestisce le dipendenze in PHP Maven Strumento per la gestione dei progetti per la piattaforma Java Dipendenze e Configurazioni Dipendenze Configurazioni VS GnuLinuxMeeting
  • 19. Platform Automation Deployment Automation Build & Test Automation Diagnostic & Instrumentation Monitoring & Alerting AuthN/AuthZ Messaging Channel Microservice A Microservice B Microservice C Microservice D MicroserviceE Event Published Event Subscribed Event Published/ Subscribed Shared Configuration Dependency Management Service Gateway GnuLinuxMeeting Architettura per Microservices
  • 20. Service Gateway GnuLinuxMeeting - Fonte: https://www.nginx.com/blog/building-microservices-using-an-api-gateway/ L’API Gateway incapsula l’architettura interna dei microservicese fornisce delle API a misura di client. Può avere anche responsabilità come autentication, monitoring, load balancing, caching, request shaping, static response handling (StrongLoop,NodeJS)
  • 21. Platform Automation Deployment Automation Build & Test Automation Diagnostic & Instrumentation Monitoring & Alerting AuthN/AuthZ Messaging Channel Microservice A Microservice B Microservice C Microservice D MicroserviceE Event Published Event Subscribed Event Published/ Subscribed Shared Configuration Dependency Management Service Gateway Service Routing Service Discovery GnuLinuxMeeting Architettura per Microservices
  • 22. Platform Automation Deployment Automation Build & Test Automation Diagnostic & Instrumentation Monitoring & Alerting AuthN/AuthZ Messaging Channel Microservice A Microservice B Microservice C Microservice D Microservice E Event Published Event Subscribed Event Published/ Subscribed Shared Configuration Dependency Management Service Gateway Service Routing GnuLinuxMeeting Architettura per Microservices Service Discovery