[Italia-pm] Microservizi e disintegrazione

Ferruccio Zamuner nonsolosoft at diff.org
Thu Jan 11 02:01:47 PST 2018


Ciao perlisti!

E' da un po' che ci pensavo, vorrei capire quanto l'argomento è di 
interesse tra noi.

I microservizi si sono imposti come nuovo paradigma di sviluppo: non 
piu' applicazioni monolitiche ma piccole app, ciascuna specializzata per 
un solo singolo compito, con API ben definite e minimali, addirittura da 
eseguirsi in container diversi (docker, jail, macchine virtuali).

La parte sistemistica diventa importante perche' deve rimanere leggera, 
isolata e rapidamente instanziabile (Puppet, Ansible, Chef e simili 
permettono di automatizzare il deployment in sviluppo, test e 
produzione), ora sono DevOps e non più i sistemisti ad occuparsene.


Progettare una applicazioni in questo modo significa strutturare la 
soluzione in componenti disaccoppiate, che si innestano solo tramite le 
interfacce definite dalle API.

Ogni componente puo' essere realizzata in qualsivoglia linguaggio, puo' 
essere aggiornata o modificata, riscritta a piacere a patto che rispetti 
l'API.

Alcune di queste app diventano una infrastruttura che fornisce servizi 
ad uno o piu' siti web o app per smartphone, altre app sono servizi di 
terze parti, gratuiti o a pagamento (Amazon S3 ad esempio).

E' come se da una applicazione MVC ogni controller diventasse un 
servizio e una applicazione a se' stante, anche l'autenticazione utente 
diventa un'app esterna (OAuth/OpenID).

Il ruolo del progettista software si concentra nel conoscere i 
mattoncini disponibili, focalizzare i servizi mancanti, definirne 
l'interfaccia e assemblare la soluzione.

Un tempo il database era al centro del sistema, ora abbiamo dati diffusi 
che potrebbero non esistere fuori dal singolo microservizio, la 
fantomatica "sessione" può essere ripensata da capo, ora è una macchina 
a stati finiti che prevale.


Gli iscritti a questa mailing list sono distribuiti nel globo, hanno una 
formazione eterogenea e nella loro vita si sono misurati con problemi 
molto diversi.

Mi piacerebbe capire se avete maturato già esperienze in quest'ottica di 
microservizi e quanto il perl è stato utilizzato per la loro realizzazione.
Quali microservizi avete integrato nella vostra soluzione, con una 
piccola descrizione e motivazione.
Quali strumenti di progettazione avete trovato utili e perché potreste 
consigliarli.

Se per caso avete realizzato microservizi in Perl che siano disponibili, 
gratuitamente o meno, al resto della comunità di sviluppatori.

Le domande potrebbero essere ancora molte, per oggi mi fermo qui.


Ciao,             \ferz

Un testo sull'argomento:
Building Microservices di Sam Newman, O'Reilly 2015


More information about the Italia-pm mailing list