Upload
daniele-mondello
View
752
Download
1
Embed Size (px)
Citation preview
1
Daniele Mondello
Introduzione ai Microservices
Palermo 08/10/2015
Introduzione ai microservices2
Chi sono e cosa faccio
Daniele MondelloIT 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 monoliticoNelle 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 microservicesSoftware cost i tu i to da d ivers i co m p o n e nt i c h e o p e ra n o p e r effettuare una so la mans ione interconnessi tra loro
Introduzione ai microservices
Caratteristiche dei microservices
7
Resiliency
EfficienzLorem ipsum dolor sit
amet, consectetuer adipiscing elit, sed diam
Agility Revenue Efficiency
Introduzione ai microservices8
“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
02API
04Web 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 m e t t e r s i a l s e r v i z i o d i u n 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?