Cinque libri sulle architetture a microservizi che dovresti leggere

Mia-Platform Team 27 marzo 2020

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…”

 

Saremo trasparenti, e vi diremo subito come la pensiamo: i microservizi sono una soluzione brillante a problemi complessi. 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
  • 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?

 

Leggi il Paper 

Post Correlati

Da monolite a microservizi: come far evolvere un’applicazione legacy

La trasformazione digitale ha introdotto innovazioni tecnologiche, software e applicative, che si sono dimostrate estremamente vantag...
Mia-Platform Team 13 marzo 2020

Microservizi, quanto devono essere grandi?

L’utilizzo dei Microservizi nella creazione delle nuove applicazioni è un trend che si sta sempre più affermando tra i team di svilup...
Mia-Platform Team 24 aprile 2020

Architettura a microservizi: i vantaggi per il business e per l’IT

Le imprese, oggi, hanno necessità di eliminare la complessità e rigidità dell’architettura di sviluppo software esistente, adottando ...
Mia-Platform Team 24 giugno 2020