Skip to main content

Når modernisering tar lang tid: 7 år i «midlertidig» forvaltning

I 2019 startet vi arbeidet med et sentralt kjernesystem hos en av Nordens største aktører. Planen var glassklar: Vi skulle holde liv i den eksisterende løsningen i en «kort» periode – estimert til ca. to år – mens en helt ny plattform ble bygget fra bunnen av.Nå, i 2026, er vi endelig ved veis ende. Hva skjer egentlig med motivasjonen, teknologien og arkitekturen når to år blir til sju?

Utfordringen: Sentral, komplisert og «straks ferdig»

Systemet vi overtok var ingen enkel sidevogn; det håndterte selve livsnerven i forretningslogikken knyttet til fakturering og betaling. Det var preget av strenge lovkrav, komplekse integrasjoner og ekstremt høye krav til oppetid.Den største utfordringen med å jobbe i «maintenance mode» over så lang tid, er den tekniske gjelden som tikker i bakgrunnen. Når organisasjonen tror at sluttdatoen er rett rundt hjørnet, sitter godkjenningsstempel for større investeringer ofte langt inne. Likevel må systemet fungere feilfritt hver eneste dag, og det må tåle nye regulatoriske krav som dukker opp underveis.

Strategien: De nødvendige forbedringene

For å overleve sju år med forvaltning uten at systemet «råtnet på rot», måtte vi ta grep som ga mest verdi for pengene. Vi kunne ikke skrive om alt, men vi valgte våre kamper strategisk:

  • Modernisering av kjernen: Vi løftet kritiske moduler fra utdatert teknologi til en moderne stack. Ved å flytte fra eldre monolittiske rammeverk til mikrotjenester pakket i containere, reduserte vi risikoen betraktelig.
  • Sikkerhet som førsteprioritet: Selv om systemet var planlagt faset ut, kunne vi ikke fire på sikkerheten. Vi implementerte moderne autentiseringsløsninger (OAuth2) og sørget for at systemet fulgte nye direktiver som PSD2.
  • Gjøre hverdagen enklere for andre: Vi oppgraderte gamle integrasjonsgrensesnitt til moderne API-er. Dette gjorde det mulig for andre team i selskapet å samhandle med oss uten å måtte forholde seg til 15 år gammel teknologi.
  • Automatisering: Ved å etablere moderne CI/CD-pipelines fjernet vi manuelle og risikofylte prosesser. Dette ga oss tryggheten til å rulle ut endringer raskere, selv i et komplekst legacy-miljø.

Lærdommen: Forvaltning er utvikling

Det viktigste vi lærte i disse årene, var at skillet mellom «nyutvikling» og «vedlikehold» er kunstig. Hvis man slutter å utvikle et system fordi det snart skal erstattes, dør det før den nye plattformen er klar.For å holde et forretningskritisk system stabilt over sju år, man drive kontinuerlig modernisering. Ved å tørre å ta de nødvendige tekniske valgene – som å flytte til skyinfrastruktur og automatisere leveransekjeden – klarte vi ikke bare å holde lysene på. Vi økte faktisk stabiliteten og leveransetakten i et system som opprinnelig ble sett på som en utdatert byrde.

Tre råd til deg som står i en «midlertidig» forvaltningsfase:

  1. Ikke vent på fremtiden: Fiks det som gjør vondt i dag. To år blir fort til fem.
  2. Velg dine kamper: Du kan ikke fikse alt, men du kan modernisere de mest kritiske flaskehalsene.
  3. Hold standarden høy: Sikkerhet og infrastruktur må alltid være up-to-date, uansett hvor kort eller lang horisonten ser ut til å være.

Teknologier vi brukte

Java, Kotlin, Spring Boot, Spring Framework, Spring Batch, Apache Camel, Docker, Docker Compose, GitHub Actions, OAuth2, OKTA, REST, SOAP, Axis 1, Google Pub/Sub, Hibernate, Mule 3, JMS, ActiveMQ, Hendelsesdrevet arkitektur, Mikrotjenester.