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

Mobilne aplikacije

ZET-ov štrajk iznjedrio nova digitalna rješenja za prijevoz po Zagrebu

Zagreb je jutros ostao bez redovitog tramvajskog i autobusnog prometa, no građani su brzo počeli tražiti alternativna rješenja. Uz organiziranje zajedničkih vožnji, pojavilo se i nekoliko digitalnih projekata koji pokušavaju povezati vozače i putnike.

Vodič

Imate pretplatu na AI alate? Evo što računovođe kažu o ispravnom evidentiranju

U novoj kolumni Bruno Cvitanović, direktor računovodstvenog i konzultantskog servisa Brojevi objašnjava kako računovodstveno tretirati AI alate, što vrijedi za poduzetnike izvan sustava PDV-a i na koje pogreške treba paziti.

Programiranje

Tim od šest developera, dva QA-a i jednog Product Ownera postaje prošlost

Florian Krause ima trideset godina iskustva u razvoju softvera, jedan propali startup i čvrsto mišljenje: tim od šest developera, dva QA-a i jednog product ownera postaje prošlost. Na The Geek Gatheringu u Osijeku objasnio je čime se takva postava zamjenjuje.

Što ste propustili

Pametni automobili

Napokon smo se provozali Verneovim robotaksijem!

Nakon što smo u Zagrebu bezuspješno pokušali uhvatiti Verneov robotaksi putem Uberove aplikacije, zvijezde su se posložile i mi smo dobili poziv koji se ne odbija.

Umjetna inteligencija

Tko zbog AI-ja i dalje ulaže u ljude, a tko otpušta 50% radne snage?

Dok neke tvrtke nastavljaju i zapošljavati i ulagati u AI, druge su odabrale samo potonje. Kako različite tvrtke pristupaju promjenama na tržištu, doznali smo na Automation Summitu.

Novost

Gamepires najavio otpuštanja, smanjuje tim koji radi na SCUM-u

Gamepires, koji stoji iza igre SCUM, smanjuje broj zaposlenih zbog zahtjevnih tržišnih uvjeta. Objava dolazi nekoliko mjeseci nakon što je studio preuzeo britanski Splash Damage.

Vodič

Imate pretplatu na AI alate? Evo što računovođe kažu o ispravnom evidentiranju

U novoj kolumni Bruno Cvitanović, direktor računovodstvenog i konzultantskog servisa Brojevi objašnjava kako računovodstveno tretirati AI alate, što vrijedi za poduzetnike izvan sustava PDV-a i na koje pogreške treba paziti.

Veliki intervjui

Ako AI može napraviti film ili igru, što ostaje kreativcima? Odgovara CEO Nanobita

Može li umjetna inteligencija promijeniti način na koji nastaju filmovi i igre, a da pritom ne žrtvujemo kvalitetu priče i kreativnu viziju? Nanobit već testira odgovor na to pitanje, razvijajući AI produkcijske procese koji otvaraju mogućnost stvaranja sadržaja velikom brzinom.

Netokracija Podcast

Dekan FER-a: AI ne može zamijeniti temeljno znanje inženjera

Umjetna inteligencija mijenja način na koji radimo, ali bez temeljnih znanja nema ni kvalitetnih inženjera ni ozbiljnog tehnološkog napretka. U razgovoru s dekanom FER-a otkrivamo zašto je važno ulagati u istraživanje i razvoj, kako povezati fakultete i industriju te gdje se otvaraju nove prilike za Hrvatsku – od robotike i fizičke umjetne inteligencije do razvoja visokotehnoloških proizvoda.