Migrazione strangler-fig
Estrazione dei bounded context uno alla volta, cutover graduale dietro un layer di routing e rollback disponibile ad ogni passo. Il sistema legacy rimane attivo per tutta la durata del programma.
Servizi
Modernizzate le applicazioni legacy senza il rischio del rip-and-replace. YuSMP Group migra i sistemi business-critical tramite il pattern strangler-fig — estrazione incrementale di microservizi, aggiornamenti di framework e migrazione cloud che mantengono la produzione operativa per tutto il tempo. Risultati tipici: COBOL e Delphi verso Java o .NET, PHP verso Node, monoliti verso microservizi, on-prem verso AWS, Azure o GCP e .NET Framework verso .NET 8. La conformità è integrata: GDPR-aligned, pronto per ISO 27001, SOC 2 Type II in corso, compatibile HIPAA.
La maggior parte dei progetti di modernizzazione fallisce quando i team tentano riscritture complete — il perimetro si gonfia, il roadmap si blocca e l'azienda perde la pazienza molto prima che il nuovo sistema sia pronto. Per questo adottiamo di default il refactoring strangler-fig: estrazione dei bounded context in microservizi, poi migrazione delle capacità una ad una dietro un layer di routing. Il sistema legacy rimane in produzione per tutto il percorso. Il nostro approccio è architecture-first: una fase di discovery in sola lettura mappa il sistema esistente e le sue dipendenze, un piano di migrazione quantifica i rischi e sequenzia le fasi, e il cutover incrementale include il rollback ad ogni passo. Tra le modernizzazioni di riferimento: manifattura (REHAU), sistemi industriali (CheckList) e piattaforme operative (xRouten). Approfondite nel nostro caso di studio Refactoring xRouten.
Estrazione dei bounded context uno alla volta, cutover graduale dietro un layer di routing e rollback disponibile ad ogni passo. Il sistema legacy rimane attivo per tutta la durata del programma.
.NET Framework 4.x verso .NET 8, Java 8 verso Java 21 su Spring Boot, PHP 5/7 verso PHP 8, AngularJS e Knockout verso React o Vue. Aggiornamenti in-place quando il ROI supera il refactoring.
Solo dove il ROI lo giustifica. Vi diremo quando un monolite modulare ordinato è la risposta migliore — i microservizi aggiungono costi operativi e ripagano solo a scala reale.
Lift-and-shift, re-platform o refactoring su AWS, Azure o GCP. Scegliamo il pattern giusto per ogni workload — non una migrazione indiscriminata che spreca il budget cloud.
Oracle verso PostgreSQL, SQL Server on-prem verso Azure SQL gestito o RDS, DB2 mainframe verso store cloud-native. Change data capture, dual-run e riconciliazione integrati.
jQuery, Knockout e AngularJS verso React, Vue o Next.js. Estrazione del design system, confini dei micro-frontend e SSR dove si giustifica sui Core Web Vitals.
Mappatura dell'architettura, grafo delle dipendenze, tracciamento dei hot-path e scoring dei rischi per moduli e flussi di dati. Nessuna modifica al codice — leggiamo, profilamo e documentiamo il sistema così come gira realmente.
Un roadmap strangler-fig con fasi di migrazione quantificate, sequenziamento delle dipendenze, strategia di rollback e buste di budget per fase. Approvate il piano prima che venga scritto un singolo rigo di nuovo codice.
Cutover incrementale per bounded context con demo settimanali, validazione dual-run e job di riconciliazione. Ogni fase porta una capacità reale in produzione dietro feature flag, non un traguardo su presentazione.
Pratiche SRE, osservabilità con OpenTelemetry e Datadog, politiche di error budget e dismissione ordinata dei percorsi legacy una volta che il nuovo sistema si è dimostrato in produzione per almeno un trimestre.
4–6 settimane. Audit dell'architettura, grafo delle dipendenze, scoring dei rischi e piano di modernizzazione per fasi con budget quantificati. Un deliverable che potete portare a qualsiasi fornitore — non solo a noi.
Modello predefinito per la migrazione stessa. Fatturazione mensile per ruolo e seniority, piena visibilità su ore e capacità, il perimetro si adatta man mano che i bounded context rivelano la loro forma reale.
Per programmi di lunga durata pluriennali. Un team persistente — backend, frontend, DBA, DevOps, delivery lead — che gestisce il roadmap di modernizzazione insieme ai vostri engineer interni.
Refactoring e rebuild Android + iOS per un operatore logistico tedesco dell'ultimo miglio — pianificazione percorsi multi-punto, tracking corrieri in tempo reale e fatturazione in-app in produzione in Europa.
Ecosistema offline-first che sostituisce i registri cartacei per il controllo dei processi del reattore — Android, pannello admin, dashboard del controller.
E-commerce B2B e configuratore di prodotto per un produttore globale di polimeri con prezzi multi-regione e workflow dealer.
La parte difficile di una modernizzazione risiede nei dettagli normativi e di integrazione specifici del settore, non in un playbook generico. Modernizziamo dove il rischio di conformità e la complessità legacy sono il vero vincolo.
Piattaforme di core banking, pagamenti e credito modernizzate nell’ambito PCI DSS, con riconciliazione in dual-run affinché nessuna transazione vada persa durante il cutover.
Estraiamo bounded context (identità, fatturazione, motore di rischio) da core monolitici tramite strangler-fig con periodi di dual-run CDC di 2–4 settimane per cutover, garantendo la parità contabile prima di disattivare qualsiasi percorso di scrittura legacy.
Modernizzazione compatibile HIPAA con BAA, data residency UE e logging pronto per l’audit per sistemi clinici e pazienti regolamentati.
Gestiamo migrazioni da HL7 v2 a FHIR R4, rehosting da on-prem a cloud per carichi PHI e aggiornamenti di framework per sistemi di supporto alla decisione clinica — con il sistema legacy in produzione durante l’intera migrazione.
Sistemi di controllo di processo e commerce B2B modernizzati per produttori globali — vedere i nostri casi REHAU e CheckList offline-first.
Modernizziamo integrazioni ERP, strumenti Delphi e VB6 per la produzione e servizi SOAP legacy dietro livelli API gateway — con priorità ai moduli che generano maggiore attrito operativo.
Piattaforme di pianificazione percorsi, tracking e fatturazione refactorizzate senza interruzioni operative, come nel nostro rebuild EU last-mile xRouten.
Modernizziamo motori di dispatch, app autisti e backend di gestione merci — inclusi livelli mobile offline-first e API di tracking in tempo reale — mentre l’operatività quotidiana prosegue sullo stack legacy.
Piattaforme commerce monolitiche legacy migrate verso architetture headless: catalogo, pricing, carrello e checkout disaccoppiati in servizi deployabili indipendentemente dietro uno strato API.
Gestiamo re-platforming di Magento 1 e Shopify Plus legacy, riscritture di connettori ERP (SAP/Navision) e modernizzazioni di storefront PHP o classic ASP — senza interrompere il negozio online in produzione.
Sistemi di gestione dello studio, gestione documentale e fatturazione modernizzati per studi legali, società di revisione e reti di consulenza. Piattaforme legacy FileMaker, Access e early .NET migrate verso stack cloud-native.
Prioritizziamo prima i moduli portale clienti e fatturazione — le estrazioni a maggiore ROI — e pianifichiamo la migrazione intorno ai calendari giudiziari e alle scadenze di reporting per non interrompere alcuna finestra critica.
Conforme al GDPR · Pronto per ISO 27001 · SOC 2 Type II in corso · Compatibile HIPAA · Pronto per il perimetro PCI DSS · CCPA riconosciuto
Non proponiamo riscritture big-bang. Il default è la migrazione strangler-fig incrementale con il sistema legacy attivo per tutto il tempo — rischio più basso, ROI più rapido, nessun blocco del roadmap.
Il deliverable della discovery include un registro dei rischi, il grafo delle dipendenze e buste di budget per fase. Approvate il piano con numeri reali, non sensazioni, prima che la migrazione inizi.
Perimetro GDPR, SOC 2, HIPAA e PCI DSS considerati dal primo giorno. Residenza dei dati UE, opzioni USA su richiesta, log pronti per l'audit, endpoint crittografati e DPA disponibili.
Per le modernizzazioni nel settore dei pagamenti, del credito e della sanità lavoriamo all'interno del vostro perimetro di conformità esistente — PCI DSS QSA, HIPAA Business Associate o HITRUST — senza interrompere la certificazione.
L'app Android legacy aveva anni di debito tecnico accumulato e nessuna controparte iOS. YuSMP ha effettuato il refactoring del codice esistente, ha rilasciato la versione iOS e ha aggiunto il tracciamento live dei driver e la fatturazione in-app — il tutto senza interrompere le operazioni quotidiane dei nostri autisti.
Le nostre app iOS e Android si erano distaccate nel corso di anni di sviluppo separato. YuSMP ha ricostruito un'unica soluzione unificata con feed video in diretta, controllo dei dispositivi smart-home e accesso multi-utente basato sui ruoli. Zero difetti critici nei primi sei mesi dal lancio.
Nella maggior parte dei casi, modernizzare. Le riscritture complete falliscono con un tasso ben superiore al 50% perché bloccano il roadmap, moltiplicano il perimetro e impongono un unico cutover ad alto rischio. Il nostro approccio predefinito è il pattern strangler-fig: mantenere il sistema legacy in funzione, instradare il nuovo traffico verso microservizi estratti un bounded context alla volta e ritirare il codice legacy solo dopo che il nuovo percorso è stato validato in produzione. Una riscrittura è giustificata solo quando lo stack legacy è impossibile da mantenere, non restano più engineer che lo conoscono, o la conformità lo impone — e anche in quel caso lo facciamo per fasi.
Strangler-fig è un pattern di refactoring incrementale: un layer di routing si posiziona davanti al sistema legacy e reindirizza gradualmente le richieste per capacità specifiche verso nuovi microservizi. Il codice legacy continua a girare per tutto ciò che non è ancora migrato. Ogni bounded context — ordini, fatturazione, identità — viene estratto, distribuito, eseguito in dual-run per la validazione e poi messo in cutover. Il rollback è un cambio di routing, non un redeploy. Nel corso dei mesi il nuovo sistema “strangola” quello vecchio finché l'app legacy può essere dismessa in sicurezza.
La discovery e il piano di migrazione richiedono 4–6 settimane. La migrazione stessa dipende dalla dimensione del sistema e dalla propensione al rischio: un monolite .NET Framework o PHP di medie dimensioni con 200–400 KLOC richiede tipicamente 9–18 mesi di cutover incrementale. I programmi mainframe e COBOL richiedono per natura più anni. Lavoriamo in fasi da 2–3 mesi con un cutover dimostrabile alla fine di ogni fase, così il valore di business viene consegnato in modo continuo invece di aspettare un rilascio big-bang.
Sì, questo è il punto chiave dello strangler-fig. Il sistema legacy rimane in produzione per tutto il tempo. Il traffico si sposta dietro un layer di routing (API gateway, reverse proxy o feature flag) man mano che ogni bounded context va online. Eseguiamo in dual-run i percorsi vecchio e nuovo, confrontiamo i risultati e capovolgiamo la scrittura canonica solo dopo che la parità è confermata. Le finestre di manutenzione si limitano ai cutover del database e di solito sono inferiori a un'ora, pianificate con il vostro team operativo.
Sì. Abbiamo realizzato modernizzazioni su .NET Framework 4.x verso .NET 8, Java 8 verso Java 21 su Spring Boot, PHP 5/7 verso PHP 8 e Node.js, Delphi/Pascal verso C# e TypeScript, Oracle Forms e PL/SQL verso PostgreSQL con servizi Node o Java, classic ASP e VB6 verso stack web moderni, e AngularJS/Knockout/jQuery verso React, Vue o Next.js. I carichi di lavoro COBOL e mainframe vengono gestiti in collaborazione con fornitori specializzati in re-hosting quando necessario.
I dati sono la parte a più alto rischio di qualsiasi modernizzazione, quindi li trattiamo come un flusso di lavoro di primo livello. Iniziamo con il change data capture (Debezium, log shipping nativo o CDC del fornitore) per mantenere sincronizzati i nuovi e vecchi store. Durante il dual-run, le scritture vanno a entrambi i sistemi e un job di riconciliazione segnala le divergenze entro un’ora. Blocchiamo il percorso di scrittura legacy solo dopo una finestra di parità — tipicamente 2–4 settimane — e manteniamo il database legacy come fallback in sola lettura per 90 giorni dopo il cutover.
Sì, ed è il caso predefinito. Lo strangler-fig consente al team delle funzionalità e al track di modernizzazione di procedere in parallelo: le nuove funzionalità atterrano sui microservizi estratti dal primo giorno, mentre il codice legacy gestisce i bounded context non ancora migrati. Coordiniamo convenzioni di branch, regole di confine dei servizi e un elenco di moduli legacy da non toccare per evitare collisioni tra i due track. Tipicamente il 20–30% della capacità di sprint del team funzionalità è riservata al lavoro di integrazione della modernizzazione; ne teniamo conto nel piano di fase.
Le integrazioni esterne vengono catalogate in discovery e classificate per rischio di migrazione. Le integrazioni con API documentate vengono prima incapsulate dietro un livello adattatore interno, così i nuovi microservizi chiamano l’adattatore anziché il connettore legacy direttamente. Le API vendor in end-of-life vengono segnalate e sostituite o dotate di uno shim di compatibilità durante la migrazione. Le integrazioni non sostituibili durante la migrazione rimangono nel sistema legacy e vengono migrate per ultime.
Accade, e lo pianifichiamo. Durante il dual-run un job di riconciliazione confronta gli output dei percorsi legacy e nuovo per ogni transazione. Le divergenze vengono classificate in differenze attese (cambiamenti di comportamento deliberati), bug legacy ora visibili e nuovi bug introdotti nel codice migrato. I bug legacy scoperti durante la migrazione vengono documentati e triaggiati con voi — alcuni corretti nel nuovo servizio, altri annotati come problemi noti da correggere dopo il cutover.
Definiamo tre livelli di metriche di successo all’inizio: tecnico (copertura dei test, frequenza di deploy, MTTR, tasso di errore sui servizi migrati), operativo (riduzione degli incidenti, delta costo infrastruttura, carico di reperibilità) e di business (velocità delle funzionalità sul nuovo stack, time-to-market per le nuove capacità). Queste metriche vengono riportate nelle revisioni mensili del programma. Ogni fase si chiude con un cutover dimostrabile e una dashboard di salute che mostra la percentuale di traffico legacy.
Approfondimenti e guide pratiche dal nostro blog per i team di prodotto e ingegneria di USA e UE.

Modernizzazione dei sistemi legacy nel 2026 — i 6 R, fasce di costo, risparmi del 30–40 %…
Leggi l'articolo →
Come le grandi imprese italiane ed europee migrano un monolite a microservizi senza interruzioni: pattern…
Leggi l'articolo →
Build vs buy per le grandi imprese italiane ed europee nel 2026: dipendenza dal fornitore (vendor lock-in), TCO a…
Leggi l'articolo →
Integrazione dei sistemi aziendali spiegata — connettere ERP, CRM e sistemi HR, pattern di integrazione (iPaaS…
Leggi l'articolo →Condividete alcuni dettagli e un consulente senior risponderà entro un giorno lavorativo.