U dinamičnom svetu tehnologije potreba za modernizacijom softverskih sistema nikada nije bila važnija. Projekat PRINS, kao ključni deo našeg tehnološkog ekosistema, predstavljao je klasičan primer monolitne arhitekture, suočene sa izazovima skalabilnosti, održavanja i fleksibilnosti. Modernizacija i migracija na mikroservise i cloud native tehnologije donela je niz benefita, koji su značajno unapredili performanse i otpornost sistema. Ovaj članak istražuje ključne rezultate i postignuća ovog transformativnog procesa.
Monolitna arhitektura PRINS-a, iako efikasna u svojim počecima, suočila se sa ozbiljnim ograničenjima kako je projekat rastao. Pre svega, potrebe korisnika za proširenjem postojećeg monolitnog sistema dovodile su do toga da sistem postaje sve kompleksniji i teži za održavanje. Godine dorađivanja i proširivanja dovele su do stvaranja manje očiglednih veza između delova sistema, koje su mogle dovesti do bočnih efekata u specifičnim slučajevima korišćenja ili prilikom neke od budućih dorada. Dalje, ovo sa sobom povlači teže održavanje, kao i rešavanje postojećih rupa u sistemu, gde je svaka intervencija potencijalno rizična i može da lančano izazove druge prepreke u nor- malnom funkcionisanju.
Dodatan problem, s obzirom da se sistem koristi svakodnevno od strane velikog broja korisnika, bio je nedostatak mogućnosti skaliranja delova sistema koji su najviše opterećeni, što povlači i slabiju dostupnost i otpornost na greške. Osim toga, uobičajen problem kod monolitnih arhitektura je i taj što problem u jednom delu sistema može da izazove nedostupnost kompletnog informacionog sistema. Ovo je klijentu predstavljalo veliki problem, jer radi se o informacionom sistemu od državnog značaja koji mora da bude dostupan i stabilan 24 časa dnevno. Takođe, s obzirom da se radi o bazi pravnih akata cele Republike Srbije, bilo je neophodno i da svi podaci budu ažurni i brzo dostupni u svakom trenutku.
Prelazak na mikroservise i cloud native tehnologije ponudio je odgovore na sve probleme klijenta, pa je samim tim postao logičan korak u cilju prevazilaženja izazova sa kojima se sistem suočavao sve češće.
Migracija na mikroservisnu arhitekturu
Proces prelaska sa monolitne na mikroservisnu arhitekturu značio je, pre svega, raščlanjivanje sistema na posebne, manje logičke celine, koje su samostalne i međusobno slabo spregnute. U novoj postavci sistema svaka od komponenata ima jasno definisana zaduženja i svaka komponenta vodi računa o podacima
iz svog domena. Ukoliko logika sistema zahteva komunikaciju između različitih komponenata, mikroservisna arhitektura to omogućava korišćenjem dodatnih tehnologija, i to bez narušavanja samostalnosti pojedinačnih celina sistema.
Samim tim što je sistem razdvojen na manje celine, svako sledeće proširenje sistema je efikasnije i značajno smanjuje šanse za izazivanje bočnih efekata. Pored toga, ovo znači i da je održavanje sistema značajno olakšano i zahteva manji utrošak vremena. Dodatna pogodnost je ta što je uz mikroservisnu arhitekturu u kombinaciji sa cloud native tehnologijama, kao što su CI/CD procesi, moguće izolovati i rešavati probleme u pojedinačnim servisima, bez uticaja na ceo sistem. Uz pomoć CI/CD procesa dostavljanje nove verzije sistema, bilo da je reč o manjoj doradi ili o proširenju koje uključuje potpuno novu komponentu, neprimetno je za krajnjeg korisnika i ne ometa njegov rad. Time je ispunjen zahtev da sistem bude uvek dostupan.
Rezultati modernizacije
projekta PRINS
Jedna od veoma važnih stavki kod održavanja velikih i kompleksnih sistema kao što je Pravno-informacioni sistem jeste centralizovan monitoring. Iako alat koji služi toj svrsi nije deo koji je dostupan i važan krajnjim korisnicima sistema, timu koji se bavi praćenjem i održavanjem informacionog sistema on je od vitalnog značaja. Ovo omogućava centralizovano mesto na koje sistem loguje svoje ponašanje i gde se mogu videti svi potencijalni problemi sa kojima se sistem ili neki njegov deo susreće ili se susreo u nekom trenutku. Analizom i praćenjem logova moguće je otkriti propuste u sistemu koji nisu tako očigledni i specifični su za veoma mali broj situacija. Pored monitoringa u cilju rešavanja problema na postojećem sistemu, druga, manje očigledna upotreba je i praćenje opterećenja nezavisnih komponenata sistema u zavisnosti od potreba korisnika PRINS-a. Uz praćenje opterećenja ovih komponenata, moguće je i njihovo poje- dinačno skaliranje u cilju neometanog i brzog odziva na zahteve korisnika.
Uobičajen problem kod monolitnih arhitektura je i taj što problem u delu sistema može izazvati nedostupnost kompletnog informacionog sistema
Jedna od važnih stavki kod održavanja velikih i kompleksnih sistema jeste centralizovan monitoring
Povećana otpornost sistema bila je još jedan ključni rezultat modernizacije. Mikroservisi omogućavaju bolju izolaciju grešaka, što znači da problemi u jednom delu sistema ne utiču na celokupnu operativnost. Cloud native tehnologije, sa svojim ugrađenim mehanizmima za otkrivanje i oporavak od grešaka, dodatno su poboljšale dostupnost i pouzdanost sistema. Ovo je rezultiralo manjim brojem zastoja i većim zadovoljstvom korisnika.
Sa povećanjem otpornosti sistema po- većana je i sigurnost istog – modularna priroda mikroservisne arhitekture znači da svaki servis ima svoj set podataka, što smanjuje rizik od kompromitovanja svih podataka u slučaju napada na jedan servis. Ovaj modularni pristup omogućava i to da svaki servis može imati svoj set prava i privilegija za pristup podacima ili drugim servisima. Ovo znači precizniju kontrolu pristupa, smanjujući rizik od zloupotreba ili neovlašćenog pristupa sistemu. Poboljšana sigurnost u mikroservisnoj arhitekturi je rezultat bolje izolacije podataka, smanjenja površine napada, lakšeg otkrivanja i saniranja sigurnosnih problema, kao i bolje kontrole pristupa i privilegija.
Modernizacija projekta PRINS i prelazak na mikroservise i cloud native tehnologije doneli su niz značajnih benefita. Ključne lekcije naučene tokom ovog procesa uključuju važnost pažljivog planiranja i postepenog prelaska, kao i vrednost fleksibilnosti i skalabilnosti koje donose mikroservisi i cloud tehnologije. Ovi rezultati pružaju dragocene uvide za druge organizacije koje planiraju slične projekte.
Rezultati dobijeni migracijom na mikroservisnu arhitekturu i cloud native tehnologije dokazuju da je ovaj tehnološki stek bio pravi izbor za reinženjering projekta ovog tipa i obima. Projekat unapređenja i modernizacije Pravno- informacionog sistema Republike Srbije osigurava da će on držati korak sa vremenom, spreman da odgovori na buduće izazove i potrebe korisnika.
0 komentara