In Breve (TL;DR)
Il pattern Strangler Fig offre alle banche una strategia sicura per modernizzare i monoliti legacy evitando i rischi operativi del Big Bang.
L’integrazione di un livello Facade orchestra la transizione graduale verso microservizi cloud-native mantenendo intatta l’operatività dei sistemi critici esistenti.
Tecniche avanzate come il Change Data Capture garantiscono la consistenza dei dati tra mainframe e cloud superando le insidie del dual-write.
Il diavolo è nei dettagli. 👇 Continua a leggere per scoprire i passaggi critici e i consigli pratici per non sbagliare.
Nel panorama fintech del 2026, la velocità di adattamento è la valuta più preziosa. Tuttavia, per le istituzioni finanziarie consolidate, l’innovazione è spesso frenata da decenni di stratificazione tecnica su mainframe. La migrazione legacy microservizi non è più una semplice scelta architetturale, ma un imperativo di sopravvivenza. Abbandonare l’approccio rischioso del “Big Bang” a favore del pattern Strangler Fig rappresenta la strategia più sicura per modernizzare sistemi critici senza interrompere l’operatività bancaria.
Questa guida tecnica è rivolta a CTO e Lead Architect che devono orchestrare la transizione da monoliti COBOL/Java verso architetture cloud-native su Kubernetes (GKE), gestendo la complessità della consistenza dei dati e la continuità del servizio.

1. Il Paradosso del Banking: Innovare senza Rompere
Il settore bancario vive un paradosso: deve offrire esperienze utente fluide come quelle delle Neobank, mantenendo però la stabilità di sistemi core banking che processano milioni di transazioni al giorno. Le migrazioni di tipo “Big Bang” (riscrittura completa e switch immediato) hanno storicamente tassi di fallimento superiori al 40%, con rischi inaccettabili di downtime e perdita di dati.
Il pattern Strangler Fig (o “Fico Strangolatore”), teorizzato da Martin Fowler, offre l’alternativa: avvolgere il vecchio sistema con una nuova struttura, intercettando le chiamate e reindirizzandole gradualmente verso nuovi microservizi, fino a quando il vecchio sistema può essere spento in sicurezza.
2. Architettura di Riferimento: Il Livello di Intercettazione (The Facade)

Il cuore della strategia Strangler Fig è la Facade (o livello di intercettazione). In un contesto bancario moderno su Google Cloud Platform (GCP), questo ruolo è tipicamente svolto da un API Gateway evoluto o da un Service Mesh.
Componenti Chiave dell’Architettura
- Legacy Mainframe (AS/400 o z/OS): Il sistema di record attuale (SoR).
- Strangler Facade (API Gateway/Ingress): Il punto di ingresso unico per tutto il traffico client. Decide se instradare la richiesta al vecchio monolito o al nuovo microservizio.
- Microservizi (GKE): I nuovi servizi sviluppati in Go o Java (Quarkus/Spring Boot), containerizzati e orchestrati su Google Kubernetes Engine.
- Anti-Corruption Layer (ACL): Un livello di traduzione che impedisce al modello dati del vecchio sistema di inquinare il design dei nuovi microservizi.
3. Strategia di Implementazione Step-by-Step

Fase 1: Identificazione dei Bounded Context
Non iniziate migrando il “Core Ledger”. Scegliete funzionalità periferiche ad alto impatto cliente ma a basso rischio sistemico, come l’Onboarding Digitale o la Visualizzazione Saldo. Utilizzate il Domain-Driven Design (DDD) per isolare questi contesti.
Fase 2: Implementazione della Facade
Prima di scrivere una sola riga di codice del nuovo microservizio, posizionate l’API Gateway davanti al monolito. Inizialmente, il Gateway agirà come un semplice proxy pass-through (100% del traffico al legacy). Questo permette di:
- Normalizzare l’autenticazione (es. passando da protocolli proprietari a OAuth2/OIDC).
- Ottenere osservabilità immediata sul traffico esistente.
Fase 3: Sviluppo e Shadow Traffic
Sviluppate il nuovo microservizio su GKE. Invece di attivarlo subito, utilizzate una strategia di Shadowing (o Dark Launching). La Facade duplica il traffico in entrata: una richiesta va al Mainframe (che risponde all’utente), l’altra va al Microservizio (che processa la richiesta ma la sua risposta viene scartata o loggata per confronto).
Questo permette di verificare la correttezza della logica di business del nuovo servizio su dati reali senza impattare il cliente.
4. Il Problema della Consistenza Dati: Dual-Write e CDC
La sfida più grande nella migrazione legacy microservizi in ambito bancario è la gestione dei dati. Durante la transizione, i dati devono risiedere sia nel DB2 del Mainframe sia nel nuovo database cloud-native (es. Cloud Spanner o Cloud SQL), e devono essere sincronizzati.
Perché evitare il Dual-Write Sincrono
Far scrivere all’applicazione su entrambi i database simultaneamente è un anti-pattern distribuito. Se la scrittura su GKE ha successo ma quella su Mainframe fallisce, si crea un’inconsistenza grave.
La Soluzione: Change Data Capture (CDC)
L’approccio raccomandato prevede l’uso di una pipeline di eventi asincrona:
- Il microservizio scrive sul proprio database.
- Un connettore CDC (es. Debezium o strumenti nativi GCP come Datastream) cattura la modifica.
- L’evento viene pubblicato su un bus di messaggi (Kafka o Pub/Sub).
- Un worker consuma l’evento e aggiorna il Mainframe (o viceversa, a seconda di chi è l’Owner del dato in quella fase).
Questo garantisce la Eventual Consistency. Per operazioni critiche dove la consistenza deve essere immediata, si può valutare il pattern SAGA, ma la complessità aumenta notevolmente.
5. Rilascio e Rollback Automatico
Una volta validato il microservizio in Shadow Mode, si passa al rilascio progressivo (Canary Release).
Configurazione del Traffic Splitting
Configurate l’API Gateway per instradare una percentuale minima di traffico (es. 1% o solo utenti interni) verso il nuovo servizio su GKE.
Strategia di Rollback Automatizzato
In un ambiente bancario, il rollback manuale è troppo lento. Implementate controlli di salute avanzati:
- Metriche di Business: Se il tasso di conversioni (es. aperture conto) cala drasticamente sul nuovo servizio, il rollback deve scattare automaticamente.
- Latenza e Errori: Se la latenza supera la soglia (SLA) o gli errori 5xx aumentano, il Gateway deve revertire immediatamente il 100% del traffico al Mainframe.
6. Gestione delle Dipendenze Legacy
Spesso il nuovo microservizio avrà bisogno di dati che risiedono ancora nel monolito e non sono stati migrati. In questo caso, il monolito deve esporre delle API interne (o essere interrogato via JDBC/ODBC attraverso un livello di astrazione) per servire questi dati al microservizio. È fondamentale monitorare il carico aggiuntivo che queste chiamate generano sul Mainframe per evitare di saturare le MIPS disponibili.
Conclusioni

La migrazione legacy microservizi tramite il pattern Strangler Fig non è un progetto “una tantum”, ma un processo continuo di rifattorizzazione. Per le banche, questo approccio trasforma un rischio esistenziale (l’obsolescenza tecnologica) in un vantaggio competitivo, permettendo di rilasciare nuove feature di onboarding o pagamenti istantanei mentre il backend viene sanato progressivamente. La chiave del successo non risiede solo nella tecnologia (Kubernetes, Kafka), ma nella disciplina operativa di gestire il periodo ibrido con osservabilità totale e meccanismi di sicurezza automatizzati.
Domande frequenti

Il pattern Strangler Fig è una strategia di modernizzazione architetturale che sostituisce gradualmente un sistema legacy monolitico. Invece di una riscrittura completa immediata, si avvolge il vecchio sistema con una nuova struttura, intercettando le chiamate tramite una Facade e reindirizzandole progressivamente verso nuovi microservizi. Questo approccio riduce drasticamente i rischi operativi tipici del settore bancario, garantendo la continuità del servizio mentre il vecchio sistema viene dismesso pezzo per pezzo.
La gestione della consistenza dei dati è critica e non deve affidarsi alla doppia scrittura sincrona, che può causare disallineamenti. La soluzione raccomandata prevede l uso del Change Data Capture (CDC) abbinato a una pipeline di eventi asincrona. Strumenti specifici catturano le modifiche nel database sorgente e le pubblicano su un bus di messaggi, permettendo di aggiornare il sistema secondario in tempo quasi reale e garantendo la Eventual Consistency senza bloccare le transazioni.
Il metodo Big Bang, che prevede la sostituzione istantanea di tutto il sistema, comporta storicamente tassi di fallimento elevati e rischi inaccettabili di interruzione del servizio o perdita dati. Al contrario, la migrazione graduale permette di rilasciare valore in modo incrementale, iniziando da funzionalità a basso rischio. Questo metodo consente di testare le nuove architetture su Kubernetes con traffico reale limitato, facilitando il ripristino automatico in caso di anomalie.
Lo Shadow Traffic, o Dark Launching, è una tecnica fondamentale per validare la logica di business dei nuovi servizi senza impattare il cliente finale. Il Gateway API duplica la richiesta in ingresso inviandola sia al sistema legacy sia al nuovo microservizio. Mentre la risposta del legacy viene inviata all utente, quella del microservizio viene scartata o analizzata solo per confronto. Ciò permette di verificare la correttezza e le performance del nuovo codice su dati reali in produzione prima del rilascio effettivo.
L API Gateway, o Facade, agisce come punto di ingresso unico e svolge il ruolo cruciale di smistare il traffico tra il vecchio monolito e i nuovi microservizi. Posizionandolo davanti al sistema esistente prima di scrivere nuovo codice, permette di normalizzare la autenticazione e ottenere visibilità immediata sul traffico. È il componente che rende possibile il reindirizzamento graduale delle richieste e la gestione delle strategie di rilascio come il Canary Release.
Fonti e Approfondimenti
- Wikipedia: Definizione e origine del pattern Strangler Fig
- NIST SP 800-204: Strategie di sicurezza per sistemi applicativi basati su microservizi
- Banca d’Italia: Innovazione tecnologica e Fintech nel sistema finanziario
- GOV.UK: Linee guida governative per la migrazione dei sistemi legacy
- Autorità Bancaria Europea (EBA): Linee guida sull’outsourcing e servizi cloud

Hai trovato utile questo articolo? C'è un altro argomento che vorresti vedermi affrontare?
Scrivilo nei commenti qui sotto! Prendo ispirazione direttamente dai vostri suggerimenti.