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

Startupi i poslovanje

Startup 101 program BIRD inkubatora obvezna je početnica za sve koji žele ideju pretvoriti u djelo

U organizaciji BIRD inkubatora uskoro kreće edukacijski program Startup 101 koji je osmišljen kako bi prenio osnove svima koji razmišljaju o pokretanju startupa, a nisu sigurni što bi to sve od njih zahtijevalo.

Intervju

Kako je nastao prvi kolektivni ugovor u gaming industriji u Hrvatskoj?

Potpisivanjem prvog kolektivnog ugovora hrvatske gaming industrije, Gamechuck tim je ostvario mirniji san, a prema nekima i "vrli novi svijet".

Novost

Zoran Božičević novi je Delivery direktor u Poslovnoj inteligenciji

Ako ste iole aktivni na društvenim mrežama kao IT-jevac, već ste naletjeli na Zorana Božičevića. Dalje ćete ga imati priliku pratiti u Poslovnoj inteligenciji u koju dolazi iz Combisa.

Što ste propustili

Novost

Zoran Božičević novi je Delivery direktor u Poslovnoj inteligenciji

Ako ste iole aktivni na društvenim mrežama kao IT-jevac, već ste naletjeli na Zorana Božičevića. Dalje ćete ga imati priliku pratiti u Poslovnoj inteligenciji u koju dolazi iz Combisa.

Startupi i poslovanje

Hrvatski Underline Science uz pomoć SCV-a i nizozemskog VC fonda zatvorio rundu od 2.5 milijuna dolara

Digitalna videoteka hrvatskog startupa Underline Science osvojila je priznata svjetska sveučilišta i organizacije, a potom i VC fondove.

Startupi i poslovanje

Dva američka healthtech startupa povjerila su nam razvoj svoje platforme, što smo napravili?

Healthtech je postao jedan od najperspektivnijih tech segmenata, a oni stručnjaci koji sada rade na takvim rješenjima ovladat će znanjima koja će biti bitna za čitav zdravstveni sektor ubuduće. Neki od tih ljudi su definitivno stručnjaci hrvatskog Kodiusa koji iza sebe već ima nekoliko značajnih healthtech projekata. Saznali smo više o tehničkim i regulativnim detaljima izgradnje takvih rješenja.

Startupi i poslovanje

Manje investicija, rezanje troškova, otpuštanja… kako će se globalna startup kriza odraziti na hrvatske startupe?

Imaju li se hrvatski startupi čega bojati u nadolazećoj startup krizi? Kako su ih okolnosti podizanja poslovanja u okruženju koje se nikad nije moglo podičiti velikim investicijama zapravo najbolje pripremile na sve vrste nepovoljnih uvjeta? Otkrivam više u razgovoru s hrvatskim osnivačima i stručnjakom za investicije udruge Cro Startup, uz osvrt i na vlastita startup iskustva...

Startupi i poslovanje

Može li javna nabava biti lakša? Nova aplikacija ma.te.a opremila se planovima, tenderima i analizama

U protekle 3 godine putem javne nabave kupljeno je preko 140 milijardi kuna vrijednosti usluga, roba i radova - a možda bi bilo još i više da oni koji nude/traže imaju jedno mjesto gdje mogu pratiti sve potrebno. Može li nova aplikacija tvrtke PJR donijeti promjenu?

Intervju

Što radi tester, a što Quality Assurance inženjer – QA sudjeluje u cijeloj igri, dok tester brani gol od bugova

Kako se QA inženjer razlikuje od testera, što zapravo radi i zašto mu posao počinje već kod čitanja dokumentacije te kako se zaljubiti u taj posao ispričale su Ivana i Jelena, QA inženjerke iz Undabota.