Modernització Legacy: Com matar el Gegant sense aturar l'operació
Migrar sistemes antics fa por. Descobreix com substituir el teu programari monolític mòdul a mòdul sense aturar la facturació, utilitzant el patró Strangler Fig.

Hi ha una escena que es repeteix als comitès de direcció de mitja Espanya. El CTO, amb ulleres de tres dies, posa una diapositiva amb un diagrama de caixes i fletxes inintel·ligible i diu: "Hem de reescriure-ho tot des de zero. El sistema actual no aguanta més".
El CEO, que recorda que l'última vegada que van intentar això van perdre sis mesos de facturació i dos milions d'euros, respon amb un rotund "Ni parlar-ne".
I tenen raó tots dos.
El sistema Legacy (aquell monòlit de fa 15 anys escrit en una versió de Java que ja no té suport) és una àncora que impedeix innovar. Però intentar una reescriptura total ("Big Bang") és una missió suïcida. La història del programari està plena de cadàvers d'empreses que van intentar reescriure el seu Core des de zero i van morir en l'intent.
No pots aturar la fàbrica per canviar el motor. Has de canviar el motor amb el cotxe en marxa.
La Fal·làcia del "Big Bang"
La fantasia de tot enginyer és llençar el codi vell a les escombraries i començar un projecte greenfield amb les últimes tecnologies. "Aquesta vegada ho farem bé", es diuen.
És un parany.
- El codi vell té valor: Aquestes "brutícies" que veus al codi (ifs niats, excepcions estranyes) solen ser correccions a problemes reals de negoci que van ocórrer fa 7 anys. Si esborres el codi, esborres el coneixement.
- El blanc mòbil: Mentre el teu equip passa 18 mesos reescrivint el sistema antic, el negoci continua demanant noves funcionalitats. Per quan acabis la "Versió 2.0", ja estarà obsoleta respecte a les necessitats actuals.
- Paràlisi per anàlisi: La por a trencar alguna cosa paralitza el lliurament de valor.
La Solució: El Patró de la Figuera Estranguladora
A la natura, la figuera estranguladora (Ficus aurea) neix a les branques d'un arbre amfitrió. Llança arrels cap al terra, envoltant a poc a poc l'arbre original. Amb el temps, l'arbre original mor i es podreix, deixant la figuera al seu lloc, amb la mateixa forma però totalment nova i forta.
En enginyeria de programari, Martin Fowler va adaptar això com el Strangler Fig Pattern.
L'estratègia és simple: No toquis el monòlit. Envolta'l.
Pas 1: La Capa d'Intercepció (Anti-Corruption Layer)
El primer que fem a SAUCO no és tocar el codi antic. És posar una "porta" davant. Una API o Proxy que intercepta totes les peticions.
La resta del món (la teva web, la teva app, els teus clients) deixa de parlar directament amb el Gegant Legacy i comença a parlar amb la nostra Capa d'Intercepció. Al principi, aquesta capa no fa res més que passar la petició al sistema vell. Però ja tenim el control del trànsit.
Pas 2: Estrangular Mòdul a Mòdul
Identifiquem una funcionalitat petita i aïllada. Per exemple: "Generació de Factures PDF".
En lloc de barallar-nos amb el codi de 2010, escrivim un microservei nou, modern, al núvol, que només fa això: generar factures perfectes.
Després, configurem la nostra Capa d'Intercepció: "Quan algú demani 'Crear Factura', no truquis al Gegant. Truca al nou servei micro".
L'usuari no nota res. L'operació no s'atura. Però acabes de matar un 1% del Gegant.
Pas 3: Repetir fins a l'extinció
Repeteixes el procés. Gestió d'Usuaris. Inventari. Enviaments.
A poc a poc, el trànsit flueix cap als nous sistemes moderns. El monòlit antic rep cada vegada menys peticions. Es va assecant.
Un dia, mires els logs i veus que el sistema Legacy ja no fa res important. Aquest dia, l'apagues. Sense focs artificials. Sense caps de setmana de pànic. Simplement, desconnectes el servidor.
Operant a Cor Descobert
Aquesta metodologia requereix una mentalitat diferent. No som arquitectes que dissenyen plànols i marxen. Som cirurgians que operen a cor descobert.
A SAUCO, els nostres Forward Deployed Engineers s'especialitzen en aquesta cirurgia d'alta precisió:
- Convivència: Fem que el nou i el vell parlin el mateix idioma durant la transició.
- Fallback Automàtic: Si el nou microservei falla, automàticament redirigim al sistema antic. Zero risc operatiu.
- Dades en Temps Real: Mantenim la base de dades antiga sincronitzada fins a l'últim segon.
No deixis que la por a trencar el sistema t'obligui a mantenir-lo trencat per sempre. La modernització no és un salt al buit; és un procés enginyeril controlat, gradual i segur.
El Gegant ha de morir. Però la teva empresa ha de continuar vivint.
Tens un sistema intocable que frena el teu creixement? Parlem de com envoltar-lo.