S monolita na mikroservise iliti kako što bezbolnije otplatiti tehnički dug stvaran godinama
Foto: Infobip Shift

S monolita na mikroservise iliti kako što bezbolnije otplatiti tehnički dug stvaran godinama

Kako je izgledao prelazak s monolita na mikroservisnu arhitekturu u RBA Hrvatska, što je u tom procesu bilo najteže, kako su "davili" jedan po jedan dio starog koda te zašto vole open-source ispričao nam je Bruno Kovačević, direktor razvoja te banke.

To je kao da mijenjate motor na avionu dok leti i pun je putnika. Ili kao da skačete s jednog jurećeg vlaka na drugi. Tako se obično u tehnološkom svijetu opisuje zahtjevni posao prelaska s monolitne na mikroservisnu arhitekturu.

Ili, u slučaju Raiffeisenbank Hrvatska – kako raskomadati slona, kako je na Infobip Shift konferenciji projekt tehnološke modernizacije opisao Bruno Kovačević, direktor razvoja te banke. Monoliti jesu ogromni i nezgrapni poput slonova, a da slika bude potpunija treba još dodati i da slon to komadanje ni u kojem trenutku ne smije osjetiti te da je krajnji rezultat pretvaranje tih komada u manjeg, boljeg, fleksibilnijeg i modernijeg slona. Nije čudo što na pitanje što je tijekom projekta bilo najizazovnije bez razmišljanja odgovara:

Postići da sve cijelo vrijeme radi i da poslovanje banke i korisnici ne osjete da se išta događa!

Suzdržite se od potrebe da promijenite puno toga odjednom!

I dok su legacy kod i monolit riječi od kojih bi neki u svijetu razvoja softvera najradije pobjegli, pothvati poput prelaska s monolita na mikroservise često ispadnu među najizazovnijima na kojima se u tehnološkoj industriji može raditi.

Na takvim velikim i transformacijskim projektima uvijek svi uključeni puno nauče, od biznis logike, suradnje biznisa i techa, do kopanja po slojevima i slojevima koda, otkrivanja međuovisnosti i najboljeg načina kako što bezbolnije otplatiti tehnički dug stvaran godinama.

Ne može se samo staru platformu ugasiti i prijeći na novu. Odnosno, legacy koda se ne može riješiti preko noći, potrebna je promišljena strategija. Posebno kad se sve događa u vrlo reguliranoj industriji u kojoj nema prostora za greške. Suzdržite se od potrebe za big bangom, odnosno da promijenite puno toga odjednom!

Foto: Infobip Shift

U RBA su se odlučili za provjerenu strategiju strangler patterna postepene modernizacije – jedna po jedna aplikacija ili funkcionalnost se razvijaju na novoj platformi pa spajaju s ostatkom monolita. Kad moderna verzija profunkcionira, stari kod odgovoran za tu aplikaciju se “udavi” i tako sve dok se monolit potpuno ne raskomada.

“Davljenje” stare da bi došla nova tehnologija je izazovno, ali ima nekolicinu benefita

Ni taj pristup nije bez svojih izazova i Kovačević priznaje da je teško procijeniti koliko će proces modernizacije ukupno trajati, međutim siguran je da je to pravi put:

Prva verzija platforme ugledala je svjetlo dana nakon samo tri mjeseca, istina s dosta tehničkog duga, ali kao odličan temelj za pripremu prvog poslovnog slučaja kako bi se prikazali svi benefiti. Na istom okruženju napravljena je mobilna aplikacija u roku od godinu dana. Tijekom tog razvoja izgrađeni su servisi koji su iskoristivi za ostale digitalne kanale, a i druge produkte banke.

Iako i on kaže da mikroservisi nisu čarobni štapić i ne rješavaju sve tehnološke izazove jedne banke, dobrobiti prelaska itekako osjećaju:

U enterprise okruženjima obično je bolna točka brzina odgovora na promjene.

Segmentiranjem na manje cjeline prema domenama smo višestruko ubrzali isporuke. Lagano skaliranje servisa, visoka dostupnost, ponovna iskoristivost, kontinuirana integracija, opisivanje infrastrukture kodom, automatizirana testiranja samo su neke od prednosti koje su nam donijele nove tehnologije i metodologije u razvoju. Brži smo i agilniji, brže razvijamo i testiramo nove stvari.

I, ne najmanje važno, lakše nam je pronaći nove ljude jer bilo je izazovno nalaziti one koji su htjeli raditi s legacy kodom.

Udaranje temelja za sve što dolazi poslije

Usporedno s tehnološkom transformacijom, u RBA su se mijenjali i organizacijski te prelazili na nove, agilne načine rada. U slučaju prelaska s monolita na mikroservise spojili su timove koji rade na legacy kodu s onima koji rade na mikroservisima tako da rade svi zajedno.

Promjena kulture također je jedan od ključnih sastojaka bitnih za uspjeh digitalne transformacije velikih sustava kao što je jedna banka. Kovačević se slaže:

Digitalna transformacija ne može sama sebi biti cilj. Prelazak na najnovije tehnologije ne znači ništa ako, prije svega, ne donosi poslovnu vrijednosti i ako ne znači i promjenu kulture.

Modernizacija obično i kreće od nekog poslovnog slučaja, a za njih je izgradnja platforme za mikroservise bio samo početak i “udaranje temelja” za sve što dolazi poslije. S obzirom na trenutni smjer digitalizacije banaka, fokus je na digitalnim proizvodima i kanalima.

Banka, pa open-source!

Tijekom transformacije Raiffeisen banka odlučila se, vrlo neobično za jednu banku, svoj tech stack zasnivati na open-source tehnologijama.

Tehnološki stack mikroservisa RBA Hrvatska temelji se na OpenShift platformi za upravljanje Docker kontejnerima, ELK stacku, Javi 11 na Spring frameworku, Kafki, PostgreSQLu, Gitlabu i Jenkinsu.

Svi se iznenade kad saznaju da smo banka koja voli open-source. Velika prednost je što nismo ovisni o jednom vendoru, nego smo fleksibilni izabrati onu tehnologiju koja nam se čini kao pravi alat za određeni set problema.

Umjesto ulaganja u skupa komercijalna rješenja odlučili smo se na ulaganje u ljude, dizanje razine znanja i korištenje naprednih obrazaca arhitekture. Nema smisla imati najskuplji tech stack, ako nemaš ljude koji ne znaju što bi s njime!

Ako već imate iskustva sa spomenutim tech stackom, zanima vas kako je to raditi na velikim bankarskim sustavima – trk na njihove stranice karijera, imaju više od 10 otvorenih pozicija!

Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.

Pravila ponašanja

Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:

  • Ne budite 💩: Nema vrijeđanja, diskriminiranja, ni psovanja (osim ako nije osobni izričaj, ali onda neka psovka bude općenita, a ne usmjerena prema nekome). Također, upoznajte se sa stavkom 2. članka 94. Zakona o elektroničkim medijima prije no što ostavite komentar.
  • Samo kvalitetna rasprava, manje trolanja: Ne morate se ni sa kim slagati, ali budite konstruktivni i doprinesite raspravi! Svako trolanje, flameanje, koliko god "plesalo" na granici, leti van.
  • Imenom i prezimenom, nismo Anonymous 👤: Autor sadržaja stoji iza svog sadržaja, stoga stojite i vi iza svog komentara. Koristimo ime i prezime te pravu email adresu.

Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.

Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

eUsluge

Grad Zagreb omogućio potpun uvid u proračun kroz aplikaciju iTransparentnost

Nova aplikacija omogućuje svakom građaninu da detaljno prouči gradski porarčun po različitim parametrima.

Startupi

Što je to R&D potencijal – i kakve veze ima s razvojem startupa?

Je li startup nacija u kojoj su nastali tech giganti kao Skype, Wise, Bolt i Pipedrive to postala slučajno, otkrijte sa mnom na putu u Estoniju.

Nesortirano

Što je Akt o čipovima – i kako će doprinjeti tehnološkom razvitku Hrvatske

Jačanje konkurentnosti Europske unije u industriji poluvodiča prilika je i za Hrvatsku koja u sklopu 43 milijarde eura vrijedne incijative priprema otvaranje edukacijskih centara.

Što ste propustili

Startupi

Novi GapMinder Fond II s 80 milijuna eura cilja i na hrvatske startupe

GapMinder Ventures, VC fond koji je dosad primarno ulagao u tehnološke tvrtke iz Rumunjske, pokreće GapMinder Fond II, investicijski paket od 80 milijuna eura koji će biti alociran i na širu istočnoeuropsku regiju, pa tako i Hrvatsku i Srbiju.

Analiza

Raj za dezinformacije: Pola svjetske populacije ove godine bira novo vodstvo!

Stanje povjerenja na internetu trenutno nije najbolje. Borimo se s lažnim vijestima i deepfakeovima koje ćemo viđati sve češće kako nam se približavaju nacionalni i europski izbori - kakvo je stanje, donosimo direktno iz Bruxellesa.

Startupi

U Hrvatsku stiže Choice, češki CRM za restorane

Foodtech startup Choice s novih 2,5 milijuna američkih dolara investicije ulazi na hrvatsko tržište.

Startupi

AI4Health.Cro predstavio 28 timova koji će razvijati AI rješenja za problem rane rehospitalizacije

Cilj ovog natjecanja je razviti rješenja za problem ranog ponovnog prijema pacijenata u bolnice, primjenom računarstva i AI tehnologije.

Intervju

Croteam retrospektiva s Admirom Elezovićem: Kako su se prilagođavali igračima i industriji proteklih 30 godina?

Nakon 30 godina, Croteam žari i pali gaming industrijom, ali na svoj način... skromno i s onom starom "pamet u glavu".

Novost

Marko Elezović novi je Head of Engineering u Lemaxu

S 15 godina iskustva u developmentu i vođenju developerskih timova u različitim startupima i scaleupima, Marko Elezović otvara novu (Saa)stranicu u svojoj karijeri.