Net-Base Revija

16.08.2026

Zamenjava legacy sistema korak za korakom: Strangler Pattern, vzporedno delovanje in konsistentnost podatkov pri uvajanju

Kako načrtovati zamenjavo zastarelega sistema brez Big-Bang: natančno prilagoditi Strangler Pattern, obvladati vzporedno obratovanje, zagotoviti konsistentnost podatkov in zmanjšati tveganja uvajanja v produkciji.

16.08.2026

Od teme v reviji do projektne prakse

Ustrezne strani storitev in tehnični opisi k prispevku

Redko gre pri „gradnji“ nove rešitve narobe pri sami implementaciji; neuspeh pri Legacy-Ablösung se pogosto zgodi pri prehodu: podatki morajo ostati pravilni, vmesniki ne smejo odpovedati in obratovanje mora med prehodom nemoteno teči. V mnogih podjetjih zato Big-Bang-Cutover ni izvedljiva možnost – odvisnosti so prevelike, stroški izpada previsoki, vračanje v prejšnje stanje pa pretežko.

V praksi se izkaže postopni pristop s Strangler Pattern (funkcionalni deli se postopoma „preusmerijo“), Parallelbetrieb (stari in novi sistem za kratek čas tečeta vzporedno) in jasnimi pravili za Datenkonsistenz. Ta prispevek pokaže, kako te gradnike kombinirati tako, da so v vsakdanjem delu IT-vodstva, administracije in projektne odgovornosti vzdržni – vključno z značilnimi napakami, posledicami za obratovanje in odločitvenimi mesti pri uvajanju.

Zakaj je pristop korak za korakom pogosto realistična Legacy-Ablösung

Legacy-Systeme redko predstavljajo „le eno aplikacijo“. Ponavadi so nanje navezani: batch-pognanja, datotečni vmesniki (SFTP-mape, omrežni pogoni), tiskalni in skenirni procesi, lokalna orodja, BI-ekstrakti, e-poštni reliji, specialna strojna oprema, izhodi Shadow-IT in ročne začasne rešitve. Pri Big Bang pristopu morajo vsi ti tokovi delovati v istem vikendu – in to vključujoč pravice, matične podatke, zgodovine in posebne primere.

Pristop korak za korakom zmanjša tveganje, vendar ga ne premakne samodejno na nižjo raven. Naredi tveganja bolj vidna in obvladljiva, zahteva pa jasno arhitekturno in obratovalno odločanje: Kje se usmerja promet? Kdo je nosilec podatkov? Kakšna konsistentnost je strokovno obvezna, kje zadostuje časovna zakasnitev? In kako preprečiti, da vzporedno obratovanje ne postane trajno gradbišče?

Strangler Pattern in der Unternehmensrealität: nicht „Microservices“, sondern klare Schnittkanten

Grafik zur schrittweisen Umleitung von Funktionen vom Legacy-System auf neue Komponenten über ein Gateway
Strangler Pattern kot migracijski vzorec: usmerjanje preko gatewaya, medtem ko se funkcije postopoma prenesejo.

Strangler Pattern pomeni: zgradite nove funkcije ob obstoječem sistemu in postopoma preusmerjate promet, dokler stari del ni več potreben. Pomembno: to ni arhitekturni verski spopad („Monolith vs. Microservices“), temveč Migrationsmuster. Deluje tudi, če ciljna arhitektura ostane monolit – le modernejša, lažje vzdržna in bolje integrirana.

Die wichtigste Entscheidung: Schneiden Sie nach Prozessen, nicht nach Tabellen

V mnogih zamenjavah se izvede razdelitev, ki je preveč usmerjena v podatke („Najprej vzamemo tabele za stranke in naročila“). To pogosto vodi v boleče vzporedno obratovanje, ker procesi tečejo čez te podatke. Bolje je prozessorientiran rez, npr. „priprava ponudbe“, „prejem blaga“, „obdelava reklamacij“ ali „storitev – od zahtevka do računa“.

Praktično pravilo: Strangler-faza naj zajema strokovno zaprt potek, ki ga je mogoče v novem sistemu upravljati in spremljati end-to-end. Sem sodijo vhodi (UI, API, Import), oBDElava (poslovna pravila) in izhodi (tisk, izvoz, knjiženje, obvestilo).

Strangler braucht einen „Umlenker“: Gateway, Proxy oder Routing-Schicht

Da uporabniki in priključeni sistemi ne bi vsakič morali spoznavati novih končnih točk, se pogosto uvede plast usmerjanja. Glede na izhodiščno stanje je to lahko: reverse proxy pred spletnimi aplikacijami, API-Gateway za servisne končne točke ali integracijska plast, ki združi datotečne vmesnike in dogodke. Ključno je operabilnost: centralna konfiguracija, jasni logi, monitoring in kontroliran Rollback.

Za administratorje je pomembno, da ta plast ne postane črna škatla. Potrebujejo sledljiva usmerjanja (kateri Request je šel kam), korelacijo preko logov (npr. Request-ID) in definirane timeout/retry-pravilnike, da se napake ne „prilepijo“.

Parallelbetrieb ist ein Betriebszustand – kein „Projekttrick“

Vzporedno obratovanje pomeni: stare in nove komponente za določen čas delujejo hkrati v produkciji. To je običajno, vendar drago – zlasti z vidika obratovanja. Imate več moving parts, več monitoring‑a, več potenciala za incidente in bolj kompleksne odgovornosti. Zato je treba vzporedno obratovanje načrtovati kot časovno omejen način delovanja, vključno s kriteriji za prekinitev.

Typische Parallelbetriebs-Modelle (und wann sie passen)

  • Preklop po skupinah uporabnikov (pilotna skupina → valovi): primeren, če so uporabniške vloge jasno ločljive in procesi ne potekajo čez skupine.
  • Preklop po najemnikih/lokacijah: dober pri strukturi poslovalnic/obratov, kadar so podatkovni tokovi med lokacijami omejeni.
  • Preklop po korakih procesa: npr. »nov vnos, obračun še v starem sistemu« – tvegan, če obstaja veliko povratnih zank, a včasih ni mogoče drugače.
  • Preklop po tipih objektov: npr. nova osnovna sredstva v novem sistemu, stare zaloge v starem – lahko deluje, če obstajajo jasna pravila za zgodovino in poročanje.

Iz vidika obratovanja naj bo vzporedno obratovanje zasnovano tako, da ostanejo domene napak majhne: napaka v novi komponenti ne sme povleči legacy‑sistema za seboj (npr. prek blokirajočih vmesnikov ali zaklepov v bazi podatkov), in obratno legacy ne sme saboterati vseh novih potekov zaradi nestabilnih izvozov.

Feature Flags und Routing-Regeln: Kontrolle statt „wir rollen aus und hoffen“

Feature Flags so stikala, s katerimi ciljno aktivirate/ deaktivirate funkcionalnosti – brez novega deploymenta. Za IT‑vodstvo in projektne odgovorne ni odločilno tehnično podrobje, temveč Governance: kdo sme preklopiti? Kako se dokumentira razlog za preklop? Kako hitro je možna vrnitev? Katere odvisnosti nastanejo (npr. če so podatki že ustvarjeni v novem formatu)?

Smiselna praksa je majhen change‑protokol (Decision Log) za vsako preklopno dejanje: čas, owner, prizadeta skupina uporabnikov, pričakovani učinek, merila za monitoring, pogoj za Rollback. To prepreči klasično »nihče več ne ve, zakaj je usmerjeno tako«.

Datenkonsistenz im Rollout: Der Kern, an dem viele Ablösungen hängen

Grafik einer Daten-Synchronisation zwischen zwei Datenbanken mit Queue und Quarantäne für fehlerhafte Deltas
Sinhronizacija v vzporednem obratovanju: spremembe tečejo prek vrste (Queue), napačne delta-spremembe se izolirajo namesto, da bi bile tiho zavržene.

Konsistentnost podatkov pomeni, da so podatki strokovno pravilni, popolni in na voljo v pričakovanem zaporedju. V vzporednem obratovanju je to težavno, ker dva sistema hkrati zapisujeta ali pa vsaj oba trdita, da imata »resnico«. Tu se odloči, ali zamenjava obstoječega sistema deluje stabilno ali pa boste mesece izvajali usklajevanja delta-podatkov.

Najprej razjasniti: kdo je „System of Record“ za posamezno področje podatkov?

Za vsako področje podatkov (npr. kupci, artikli, cene, naročila, gibanja zalog, dokumenti) potrebujete odločitev, kateri sistem je vodilni. To ni zgolj arhitekturno vprašanje, ampak operativno:

  • Kje se izvajajo popravki v primeru podpore?
  • Kje poteka proces odobritve (štiri oči, SoD/ločevanje funkcij)?
  • Kateri sledovi revizije so potrebni (kdo je kdaj kaj spremenil)?
  • Kako se izogniti popravilom pri mesečnem zaključku?

V zgodnjih fazah Strangler-pristopa je pogosto smiselno najprej pustiti obstoječi sistem kot vodilni, nova komponenta naj ga »samo« uporablja. Kasneje zamenjate vodenje. Ta menjava vodstva je samostojen mejnik in zahteva jasno Cutover-okno ter komunikacijski in sprejemni načrt.

Vzorce sinhronizacije: Dual Write, CDC in eventi – z realistično pričakovanji

Obstaja več poti za sinhronizacijo podatkov med starim in novim sistemom. Nobena ni »brezplačna«.

  • Dual Write: Ena akcija zapisuje v oba sistema (npr. ustvarjanje naročila → obstoječi in novi sistem). Prednost: hitra razpoložljivost. Slabost: primer napake je kompleksen (kaj, če sistem A zapiše, sistem B pa ne?), poleg tega nastanejo odvisnosti in pogosto tveganja glede zmogljivosti.
  • Change Data Capture (CDC): Spremembe se izluščijo iz dnevnika baze podatkov ali prek triggerjev/replikacije kot delta. Prednost: loči aplikacijo in sinhronizacijo. Slabost: replikirate tudi »tehnične« spremembe in morate rekonstruirati strokovne dogodke; poleg tega so spremembe sheme v obstoječem sistemu nenadoma integracijsko tveganje.
  • Event-basierte Integration: Sistem objavi strokovne dogodke (npr. »Auftrag freigegeben«), ki jih drugi sistemi porabljajo. Prednost: jasna strokovna semantika. Slabost: zahteva čiste definicije dogodkov, idempotenco (večkratna obdelava brez škode) in zanesljiv operativni koncept sporočanja (messaging).

Za odločevalce je ključno: konsistentnost podatkov ni binarna. Nekateri procesi potrebujejo močno konsistenco (takojšnje pravilno, npr. odobritve plačil), drugi pa prenašajo eventualno konsistentnost (kratka zamuda, npr. iskalni indeks, poročanje, obvestila). To razvrstitev je treba zgodaj uskladiti s poslovnim področjem in revizijo/auditom.

Konflikti in podvojeni zapisi: eksplicitno načrtujte »grd scenarij«

Pri paralelnem obratovanju konflikti običajno nastanejo tako: dva sistema spremenita isti objekt, vendar po različnih pravilih. Ali pa se uvoz izvede dvakrat, ker je ponovni poskus prišel ‚prezgodaj‘. Ali uporabnik popravi podatke v Legacy, medtem ko je nov vmesnik že preklopljen.

Za to potrebujete zavezujoča pravila:

  • Reševanje konfliktov: „Last write wins“ redko strokovno drži. Bolje so prioritete (vodilni sistem zmaga) ali strokovna pravila za združevanje (npr. osnovni kontaktni podatki vs. kondicije).
  • Idempotenca: Vsaka integracija bi morala prenesti večkratno obdelavo brez podvajanj (npr. enaka številka dokumenta, ista zunanja referenca).
  • Dead-Letter/Quarantäne: Neobdelane delta-spremembe morajo biti najdljive, z jasno odgovornostjo in možnostjo ponovnega zagona.

Brez teh pravil konsistentnost podatkov zdrsne v „usklajevanje v Excelu“ in ročno popravljanje – z ustrezno frustracijo in težko merljivimi posledičnimi stroški.

Načrt uvajanja: valovi, prevzemi in vračanje, brez preobremenitve obratovanja

Dober Rollout je več kot „Deployment + Schulung“. Pri vzporednem obratovanju morate povezati uvajanje in obratovanje: kdo opravlja prvo linijo podpore pri napakah? Kateri logi so takoj na voljo? Kako se izvaja eskalacija? Kateri procesi se v valovi ne smejo preklopiti (npr. mesečno zapiranje, inventura, sprememba cen)?

Načrtovanje valov s strogimi kriteriji

Preizkušeno se je načrtovanje valov s jasnimi vstopnimi kriteriji, ne samo s terminskimi datumi. Primeri strogih kriterijev:

  • Nadzorne plošče za monitoring in sistemi obveščanja za novo komponento so v živo in testirani (vključno z zmanjšanim „šumom“ alarmov).
  • Runbooki za tipične incidente obstajajo (timeouti, zamašitev vrst, napačni uvozi, napake v dovoljenjih).
  • Delta-usklajevanje je avtomatizirano in daje razumljive poročile (razlike po tipu objekta, časovnem oknu, razredu vzroka).
  • Mehanizem Rollback je uigran (vsaj v Staging/Pre-Prod realno preizkušen).

Posebej se zadnji točki podcenjuje: Rollback ni „wir schalten wieder zurück“. Če je nov sistem že ustvaril podatke, morate vedeti, kako bodo ti podatki vidni v Legacy ali kako pravilno migrirati/nevtralizirati ustvarjene podatke.

Mini-cutoverji namesto Big Bang

Tudi pri Strangler Pattern obstajajo Cutoverji – le da so manjši. Tipični so mini-cutoverji ob zamenjavi koraka procesa ali pri preusmeritvi odgovornosti za podatke. Vsak mini-cutover potrebuje:

  • Datenfreeze (kratek, a zavezujoč): kdo sme med tem kaj spreminjati?
  • Usklajevanje: Kaj je bilo spremenjeno od zadnje sinhronizacije?
  • Preklop: Routing/Feature Flags, Jobs, Zeitpläne, dovoljenja.
  • Verifikacija: strokovni Smoke-Tests (npr. ustvarjanje naročila → dobavnica → račun), plus tehnične preverbe (vrste, stopnje napak, obremenitev DB).

Za IT-vodstvo je pomembno, da so ti koraki dokumentirani kot ponovljiv proces in kadrovsko zagotovljeni. Drugače je uspeh projekta odvisen od posameznikov, ki „wissen, wie es geht“.

Najprej stabilizirajte vmesnike: podcenjena osnova za zamenjavo legacy sistema

Številni Legacy-Systeme komunicirajo preko rastlih Schnittstellen: CSV-Exporte v mape, nočna opravila, direktni dostopi do baze podatkov s strani tretjih orodij, E-Mail-basierte Workflows. Postopna Ablösung je bistveno lažja, če najprej inventarisieren pokrajino Schnittstellen in jo na redkih mestih konsolidirate.

Praktično to pomeni: identificirajte sistemsko kritične integracijske točke (npr. Finanzbuchhaltung, Versand, Produktionsrückmeldungen, Identitäten/Berechtigungen) in tam vzpostavite jasne pogodbe. „Vertrag“ pomeni tukaj ne pravno, temveč tehnično stabilnost: verzioniranje, nedvoumna polja, stabilne IDs, dokumentirano obravnavo napak, definirane SLAs za dobavo podatkov.

Če vzpostavite interno API-/Integrations-Governance-model (Owner, Deprecation-Regeln, Test-/Staging-Pfade), se zmanjša tveganje, da bi sprememba v legacy nenadoma ohromila vašo novo komponento. Primeren tematski pripon za interno povezovanje bi bil npr. prispevek o API-Governance in o Deprecation-Strategien.

Varnost, pooblastila in revizija: vzporedni obrat zaostri tematiko

V vzporednem obratovanju pogosto obstajata dvojna modela uporabnikov in vlog. To vodi do sencnih pravic: uporabnik je v novem sistemu pravilno omejen, vendar ima v Legacy še obsežna pooblastila – in na koncu izbere „einfacheren Weg“. Poleg tega so tukaj tehnični računi (Service Accounts) za sinhronizacijo, uvoze, Queues in Batchjobs.

Konkretne točke, ki jih morate zgodaj razjasniti:

  • Identity-Quelle: Od kod prihajajo uporabniki in skupine? AD/Entra ID? Ein eigenes IAM? Pomembno je, da je Provisionierung sledljiva.
  • Rollenmapping: Če vloge niso 1:1 združljive, so potrebne prehodne vloge, časovno omejene in recertificirane.
  • Service Accounts: Minimalna pooblastila, Secrets-Rotation, dosledno beleženje. Zlasti sinhronizacijski računi so sicer vstopna točka in jih je težko auditieren.
  • Audit-Trails: Če se spremeni lastništvo podatkov, mora biti jasno, kje je dokaz o spremembah in kako bo mogoče ta dokaz poiskati čez oba sistema.

Pomembno za odločevalce: Security tukaj ni „zusätzlicher Scope“, ampak vpliva na izvedljivost uvedbe. Kasnejše dodeljevanje pooblastil v vzporednem obratovanju je navadno dražje kot zgodnji, pragmatičen razrez vlog in servisnih računov.

Monitoring, Logging und Betriebsübergabe: Ohne Observability wird Parallelbetrieb blind

Operations-Arbeitsplatz mit Monitoring-Ansichten und Alarmkontext für den Parallelbetrieb während einer Systemablösung
V vzporednem obratovanju šteje hitra diagnoza: Monitoring, Logs und Alarmierung morajo razkriti zastoje, razrede napak in latence.

V vzporednem obratovanju so simptomi napak pogosto posredni: delta se zatakne, retry teče v neskončnost, Queue se nabira ali časovno kritično opravilo trči z databank-lock. Če to vidite le preko uporabniških tiketov, je že prepozno. Zato potrebujete od začetka observability-minimum: Monitoring (stanje), Logging (dogodki) in – kjer smiselno – Tracing (veriga prek sistemov).

Praktični, dobro obvladljivi signali so na primer:

  • Synchronisations-Backlog (koliko sprememb „warten“), plus starost najstarejšega vnosa.
  • Fehlerquoten pro Schnittstelle und Fehlerklasse (Validierung, Timeout, Auth, Datenkonflikt).
  • Zakasnitev na posamezni korak procesa (npr. od odobritve naročila do ustvarjanja pošiljnega naročila).
  • Indikatorji kakovosti podatkov (delež podvojenih zapisov, manjkajoča obvezna polja, nepričakovane ničelne vrednosti).
  • Pri predaji v obratovanje ni toliko pomembno, katero orodje se uporablja, temveč ali so odgovornosti in runbooki jasno določeni. Če imate On-Call ali dežurstvo, mora biti obratovanje pri tipičnih motnjah sposobno ukrepanja brez detektivskega dela razvijalcev.

    Kdaj vzorec Strangler ne pride v poštev (ali le z jasnimi omejitvami)

    Obstajajo situacije, kjer postopna zamenjava deluje le omejeno:

    • Zelo tesna transakcijska povezanost: Če skoraj vsak proces poteka čez vse module in zahteva strogo konsistenco, postane vzporedno delovanje hitro neobvladljivo.
    • Dostopi do podatkovne baze neposredno iz tretjih sistemov: Če več orodij neposredno bere ali piše v tabele legacy sistema, je treba to razraščanje najprej ustaviti ali vzpostaviti nadzor.
    • Nejasna lastništva nad podatki: Če ni določeno, kdo vodi podatke, so konflikti zagotovljeni – zamenjava pa postane politična namesto tehnična.
    • Pomanjkljiva operativna disciplina: Brez urejenih okolij, reproducibilnih deploy-ov in monitoringa je vsak vmesni korak tvegan.

    To ne pomeni, da ste prisiljeni v Big Bang. Vendar morate spremeniti zaporedje: najprej stabilizirati integracijske točke, centralizirati dostope do podatkov, razjasniti vloge in lastništvo – in šele nato uvesti vzorec Strangler.

    Praktičen načrt poteka za postopno zamenjavo legacy sistema

    Kot orientacija za vodje projektov se je izkazal potek z jasnimi fazami. Natančna izvedba je odvisna od sistema in panoge, toda logika je robustna:

    1. Inventar in odvisnosti: vmesniki, Jobs, podatkovni tokovi, skupine uporabnikov, kritični časovni okviri (zaključek, inventura).
    2. Določitev prehodnih meja: procesni moduli, odgovornost za vodenje podatkov po posameznih področjih, integracijski dogovori.
    3. Vzpostavitev usmerjanja in stikal: Gateway/Proxy, feature flagi, centralno protokoliranje.
    4. Določitev podatkovne poti: CDC/Event/Dual Write, pravila za konflikte, karantena, poročila o usklajevanju.
    5. Pilot z resno obremenitvijo: ne le demo, ampak z realnimi primeri, vključno z izjemami.
    6. Valovni rollout: kriteriji za vstop, Cutover-Checklisten, vaje za Rollback.
    7. Izklop in čiščenje: onemogočiti stare poti, odstraniti Jobs, odvzeti pravice, posodobiti dokumentacijo.

    Zadnja točka je ključna: mnoge organizacije pustijo komponente legacy sistema „za varnost“ še naprej delovati. Posledica: dvojni stroški, nejasno tveganje, nihče se ne upa izklopiti. Načrtujte odstranitev iz rabe kot delprojekt z rokom, odgovornimi in dokazili (npr. „ni dostopov že X tednov“, „vsi izvozi preusmerjeni“, „izpolnjene zahteve revizije“).

    Zaključek: Postopno zamenjevanje pomeni obravnavati konsistenco in obratovanje kot produkt

    Postopna zamenjava legacy sistema korak za korakom ni avtomatično lažja – vendar je v mnogih podjetjih edina realistična možnost. Vzorec Strangler deluje, če za vsako fazo določite jasne procesne presečišča, načrtujete vzporedno delovanje kot resnično operativno stanje in konsistence podatkov ne prepuščate naključju. Ključne so zgodnje odločitve o vodstvu podatkov, robustni vzorci sinhronizacije s pravili za konflikte ter zasnova rollout‑a z valovi, prevzemi in izurjenim povratkom.

    Če načrtujete zamenjavo in bi radi strukturirano prediskutirali stične točke, vzporedno delovanje ali koncept doslednosti podatkov, nas dosežete preko .

    O projektu ali modernizacijskem načrtu se pogovorite z Net-Base.

    naslednji korak

    Ko iz teme nastane resničen projekt, je treba arhitekturo, obstoječe sisteme in obratovanje zgodaj obravnavati skupaj.

    Ne podpiramo le pri posameznih vprašanjih, ampak tudi takrat, ko iz izrezkov izvorne kode, legacy-tem ali idej za portale nastane zanesljiv podjetniški projekt.

    • Obstoječe stanje, ciljno stanje in tehnična tveganja se ocenjujejo skupaj.
    • REST, dostop do podatkov, portali in Rollout ne bodo prestavljeni v kasnejše faze.
    • Že zgodaj vidite, katera pot je ekonomsko in operativno vzdržna.

    Deli objavo

    Deli ta prispevek neposredno

    LinkedIn, X, XING, Facebook, WhatsApp in e-pošta so takoj na voljo. Za Instagram pripravljamo povezavo in kratek tekst.

    E-pošta

    Instagram se odpre v novem zavihku. Povezava in kratek opis se pred tem kopirata v odložišče.