Introduzione ai Microservices

13
1 Daniele Mondello Introduzione ai Microservices Palermo 08/10/2015

Transcript of Introduzione ai Microservices

Page 1: Introduzione ai Microservices

1

Daniele Mondello

Introduzione ai Microservices

Palermo 08/10/2015

Page 2: Introduzione ai Microservices

Introduzione ai microservices2

Chi sono e cosa faccio

Daniele MondelloIT CONSULTANT

Page 3: Introduzione ai Microservices

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.

Page 4: Introduzione ai Microservices

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

Page 5: Introduzione ai Microservices

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

Page 6: Introduzione ai Microservices

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

Page 7: Introduzione ai Microservices

Introduzione ai microservices

Caratteristiche dei microservices

7

Resiliency

EfficienzLorem ipsum dolor sit

amet, consectetuer adipiscing elit, sed diam

Agility Revenue Efficiency

Page 8: Introduzione ai Microservices

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”

Page 9: Introduzione ai Microservices

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.

Page 10: Introduzione ai Microservices

Introduzione ai microservices

Rabbit MQ

10

L’uomo viene sostituito da un software

Page 11: Introduzione ai Microservices

Introduzione ai microservices

Tecnologie “Amiche” dei microservices

11

Lumen

Page 12: Introduzione ai Microservices

Plus Presentation Template 12

Chi usa microservices?

Page 13: Introduzione ai Microservices

GRAZIE

Daniele Mondello [email protected]

@dmondello

Daniele.Mondello