Het strangler-patroon in de praktijk
Een systeem vervangen dat niet stil mag vallen draait vooral om routering en reconciliatie. De herbouw is de makkelijke helft.
Elke vervanging van een legacysysteem begint met hetzelfde voorstel: bouw het nieuwe, draai ze kort parallel, schakel dan om. Dat overleeft vrijwel nooit het contact met een bedrijf dat vierentwintig uur per dag draait en de planning niet een weekend kan stilleggen.
Het strangler-patroon vervangt de grote schakelaar door veel kleine. Een routeringslaag zit voor beide systemen en bepaalt per verzoek, per regio of per klant welk systeem het afhandelt. U verplaatst het verkeer in plakken en het oude systeem krimpt tot het leeg is.
De routeringslaag is de hele truc, en die moet saai zijn. Een feature flag per plak, wijzigbaar zonder deployment, met het oude pad nog warm. Terugrollen is een vlag omzetten, waardoor het besluit om een plak te verplaatsen ophoudt een carrièrerisico te zijn en een dinsdag wordt.
Reconciliatie is het deel dat teams overslaan. Zolang beide systemen live zijn moet u hun uitkomsten doorlopend vergelijken — dezelfde invoer, dezelfde resultaten — en bij afwijking melden met genoeg detail om te handelen. Op een vrachtplatform ving dit een afrondingsverschil in de brandstoftoeslag dat anders pas bij de maandfactuur zichtbaar was geworden.
De ongemakkelijke waarheid is dat u twee systemen langer draait dan gepland, en dat iemand de discipline van afmaken moet bewaken. Het faalpatroon is geen mislukte migratie; het is een permanente hybride die niemand durft af te ronden omdat de laatste tien procent het lastige deel is.
Goed gedaan is het resultaat een anticlimax. Op het genoemde platform kostte de overstap nul uur downtime, omdat er nooit een moment was waarop iets werd aangezet. De laatste regio verhuisde gewoon en de oude database kreeg geen verkeer meer.