Negli ultimi dieci anni, i microservizi sono stati probabilmente l’argomento a fare più tendenza e generare maggiore attenzione nel mondo Dev. Ma a cosa si deve tutto questo entusiasmo? E soprattutto, è giustificato?

La popolarità di questo nuovo stile di sviluppo è cresciuta in fretta ma, come sempre accade, sono venute anche le critiche: “è l’ennesima buzzword”, “va bene solo per alcuni progetti”, “belli in teoria, ma la pratica…” e così via.

 

Saremo trasparenti, e vi diremo subito come la pensiamo: i microservizi sono una soluzione brillante a problemi complessi, soprattutto nell'ambito dello sviluppo cloud native. Sono lo stile alla base delle architetture più performanti oggi sul mercato e il fondamento delle più belle codebase su cui vi potrà probabilmente capitare di mettere le mani. Ma non sono affatto perfetti, e non sono la soluzione a ogni problema.

Per questo, occorre approcciarsi alla faccenda con cognizione di causa. E quale modo migliore per farlo che partendo dai pilastri della materia?

Se anche tu ti occupi di sviluppo a microservizi o ti stai preparando a un progetto di questo tipo, ecco quindi i cinque libri che a nostro avviso dovresti assolutamente leggere!

 

Clean Architecture: A Craftsman's Guide to Software Structure and Design, di Robert C. Martin

CleanArchitecture-1

Il primo libro che vi proponiamo è del noto Robert C. Martin, uno dei padri delle metodologie agili, co‑autore del Manifesto Agile e luminare della programmazione ad oggetti.

Dopo il successo dei suoi libri Clean Code e The Clean Coder, Uncle Bob ci presenta dei suggerimenti per la progettazione di architetture software e come metterle in pratica per migliorare la produttività lungo l’intero ciclo di vita del software.

Partendo da un’esperienza di oltre mezzo secolo in ambienti software di ogni tipologia, l’autore illustra le sfide e le soluzioni per la progettazione di architetture software di successo. Con questo libro scoprirai:

  • Come definire limiti e livelli appropriati e organizzare componenti e servizi;
  • Perché i progetti e le architetture possono non funzionare e come prevenire o correggere gli errori;
  • Come padroneggiare i principi essenziali del software design;
  • Sottolinea ciò che è importante per un’architettura “pulita”;
  • Come implementare strutture di alto livello per applicazioni web, database, thick client, console etc.

Una lettura essenziale per ogni attuale o aspirante ingegnere del software che voglia cominciare a lavorare sulle architetture a microservizi.



Building Microservices: Designing Fine‑Grained Systems, di Sam Newman

BuildingMicroservices

In questo volume, Sam Newman, esperto di tecnologia, consulente e speaker internazionale, fornisce una solida base concettuale e alcuni pratici consigli su tematiche quali:

  • Allineare lo sviluppo architetturale agli obiettivi di business con i microservizi;
  • Modellare l’architettura in base agli obiettivi di business grazie ai microservizi;
  • Integrare un servizio esistente o nuovo all’interno del sistema;
  • Rilasciare microservizi in Continuous Integration e Continuous Delivery;
  • Eseguire testing e monitoring su sistemi distribuiti;
  • Scalare le architetture a microservizi in base alle richieste degli utenti.

Inoltre, utilizzando come esempio una società immaginaria, esplorerai le soluzioni per progettare, integrare, testare, rilasciare e monitorare i tuoi servizi. Una lettura interessante per tutti i software architect e administrator alle prese con il mondo dei microservizi.

 

Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith, di Sam Newman

MonolithToMicroservices

Se la tua sfida è migrare i sistemi legacy caratterizzati da una struttura monolitica a un modello architetturale a microservizi, questo libro fa per te. In questo volume puoi trovare strategie di successo, buone pratiche e consigli per convertire la tua azienda in un’organizzazione più snella, efficiente e scalabile.

Scoprirai una serie di tecniche per trasformare la tua architettura esistente.

  • Entra nel merito della scomposizione di applicazioni, illustrando molteplici modelli di refactoring dell’architettura a monolite;
  • Ti aiuta a capire se, quando e da dove iniziare per migrare la tua organizzazione;
  • Risolve la comunicazione, integrazione e migrazione di sistemi legacy;
  • Illustra diverse tipologie di migrazione e la loro applicazione;
  • Fornisce esempi pratici di migrazione di database e strategie di sincronizzazione.

 

Domain‑Driven Design: Tackling Complexity in the Heart of Software, di Eric Evans

Domain-Driven Design

Un approccio sistematico al Domain Driven Design (DDD): il libro presenta una serie di best practice, tecniche comprovate e principi fondamentali che facilitano lo sviluppo di progetti software complessi. Intrecciando design e sviluppo, illustra inoltre una serie di esempi pratici, basati su progetti reali di sviluppo software fondati sul DDD.

Imparerai come adottando un linguaggio comune tra area di sviluppo ed esperti di settore, la modellazione dell’architettura e del codice migliorerà, avvicinandosi al modello di business condiviso. In questo modo, se il modello di business cambia, il codice può evolvere velocemente e adattarsi alle nuove esigenze senza impattare sul resto dell’architettura. 

Il Domain-Driven Design si fonda su queste basi: cambiare approccio con l’obiettivo di migliorare il design e lo sviluppo di sistemi complessi per grandi organizzazioni.



Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions, di Gregor Hohpe e Bobby Woolf

EnterpriseIntegrationPatterns

Una vasta casistica di modelli di integrazione aziendale, che coinvolge diverse tecnologie - tra cui JMS, MSMQ, TIBCO ActiveEnterprise, Microsoft BizTalk, SOAP e XSL - accompagnata da approfondimenti sugli standard emergenti e sul futuro dell’Enterprise Integration.

Questo volume esplora nel dettaglio i vantaggi e i limiti delle architetture asincrone a messaggi, presentando consigli pratici su

  • Scrittura del codice che connette un’applicazione a un message broker;
  • Come determinare quando inviare il messaggio e come instradarlo alla destinazione corretta;
  • Come gestire, monitorare e mantenere l’architettura asincrona a messaggi.

Un catalogo di valore inestimabile, che raccoglie ben sessantacinque modelli e presenta applicazioni reali che mostrano l’efficacia delle soluzioni di messaging per integrare sistemi complessi.

 

Buona lettura!
Questi sono i cinque libri che riteniamo fondamentali per ogni software architect e sviluppatore che lavori quotidianamente con le architetture a microservizi. Tu li hai già letti? Siamo curiosi di sapere cosa ne pensi!
Quali altri libri sui microservizi consiglieresti?


Torna all'inizio

New call-to-action

© MIA s.r.l. Tutti i diritti riservati