Vanade infosüsteemide asemele koormuse kasvule reageerivad mikroteenused

Allan Poola
Allan Poola

Aastate eest terviklahendustena loodud infosüsteemidele on lisatud vajaduste kasvades lisafunktsionaalsusi, mis mahtude kasvuga enam toime ei tule ja seetõttu ootab neid ees tükeldamine üksteisest sõltumatuteks, kuid koostoimivateks mikroteenusteks, selgitas siseministeeriumi infotehnoloogia- ja arenduskeskuse (SMIT) piiri ja rahvastikukorralduse valdkonnajuht Allan Poola.

Ta rääkis, et reeglina on monoliitseid süsteeme ehitatud lipp-lipi peale, ehk eri ajaetappidel on lisatud uusi funktsionaalsusi ja vanu pole ümber ehitatud. „Samal ajal kasvab infosüsteemide koormus ehk kasutajad ja nende päringuid lisandub kasvava hooga. Infosüsteemid, mis on rohkem kui viis aastat vanad, on korraliku ümberehitamiseta vanakesed või on ajale jalgu jäänud platvorm, millele lahendused on ehitatud. Tulemus on lihtne, sellised infosüsteemid ei pea koormusele vastu, lähevad katki või muutuvad aeglaseks,“ selgitas Poola. Tema sõnul ei peitu probleemide põhjus vigases arenduses, vaid viisis ja teadmises, mille alusel siis asju tehti. „Vigadest tuleb õppida ja vanu lahendusi ei ole vaja nullist ja samadest printsiipidest lähtuvalt ümber kirjutada, vaid peame looma süsteemid, mis on võimelised muutuma vastavalt kliendi töö muutusele ning reageerima koormuse kasvudele,“ lisas ta.

Veel hiljaaegu oli aeglane näiteks SMITi hallatav rahvastikuregister, mis loodi 2000ndate aastate alguses eesmärgiga koguda isikute andmeid keskselt ühte registrisse. Siseministeeriumi rahvastiku toimingute osakonna juhataja Enel Pungase sõnul saavad registris olevaid andmeid oma ülesannete täitmiseks kasutada nii riigi- kui kohalike omavalitsuste asutused, samuti piiratud ulatuses erasektor. Seega on registri kasutajateks praktiliselt kõik isikuandmeid vajavad asutused ja ettevõtted.

Pungas tõdes, et hiljuti oli kasutajatel probleeme registri aeglusega ehk ametnikel kulus toimingute registrisse kandmiseks tavapärasest rohkem aega, mis tekitas perekonnaseisuasutustes sündmuste (nt sünd, surm) registreerimiseks järjekordi.

Koormuse probleemid lahendati Poola sõnul serveri jõudluse tõstmisega ning rakenduste seadistustega. „Selline lähenemine on tavaline monoliitsete arhitektuuride puhul, sest rakenduses endas midagi muuta on tavaliselt kallis ja ajamahukas,“ tõdes ta. Eesmärk on ka rahvastikuregister tulevikus tükeldada väiksemateks nii-öelda mikroteenusteks, mis oleksid kasutatavad ka mujal peale rahvastikuregistri ning mille ajakohasena hoidmine oleks kiirem ja odavam.

Täna töötab rahvastikuregister amortiseerunud riistvara peal ning SMITi esimene eesmärk on see uue riistvara peale üle viia. „Paraku on ka seda teha sellise monoliitse arhitektuuri korral riskantne ja see toob kaasa katkestusi rahvastikuregistri töös, sest kolima peab kogu lahendust, mitte üksikuid (mikro)teenuseid eraldi. Kui kolitud, siis edasi lähme juba arhitektuuri tükeldamisega. Siin peab vaatama suuremat pilti, sest selliseid monoliitseid tükke on meil palju. Kui meil köögipool on korras, saame edasi minna kasutajakogemuse parandamisega,“ rääkis Poola.

SMITis on plaanis mitu vana infosüsteemi just nii uuesti üles ehitada. Üks neist on infosüsteem, mis tegeleb dokumentide väljastamisega. Seda kasutab kõige enam Politsei- ja piirivalveamet ja sellesse kuuluvad näiteks riigilõivude arvestus, kodakondsuste haldus, isikut tõendavate dokumentide väljaandmine. Ka sellesse infosüsteemi on erinevatel aegadel ainult juurde kirjutatud erinevaid funktsionaalsusi, mistõttu lahendus on ajas paisunud ja samal ajal ka vananenud. Lahendus töötab, kuid Poola sõnul on selle edasiarendamine ajas üha kallim ja aeganõudvam, sest iga arendaja, kes süsteemiga tegeleb, peab väga palju aega panustama sellest arusaamisesse ja õpikõver on enne reaalse töö tegemist väga pikk.

Neil põhjustel on otstarbekas üks suur lahendus lahti võtta mikroteenusteks. „See tähendab, et igat väikest funktsionaalsust täidab eraldi tarkvarajupp ja see, kuidas jupid omavahel suhtlevad, on arendustiimide vahel kokku lepitud. Mikroteenused on ka universaalsed, neid saab igaüks kasutada ja nende küljes võib olla ainult neile mõeldud andmebaas,“ selgitas Poola.

Üks mikroteenus võib näiteks päringu tulemusel väljastada dokumendifoto, mida kogub peaasjalikult Politsei- ja Piirivalveamet, kuid mida vajavad ka paljud teised asutused nagu näiteks Maanteeamet juhilubadele. Teine mikroteenus võib väljastada auto numbri koos omaniku andmetega, kolmas teenus lisab sinna juurde auto tehnilised andmed. „Mikroteenuse asi on aru saada, millisele teisele infosüsteemile võib päringu peale info välja anda ja mikroteenuse roll on seda teha väga kiiresti.“  

Teenuse tarbijale on näha vahekiht, kuhu kuvatakse kõik erinevatelt mikroteenustelt toodud andmed ja kasutaja jaoks ei ole vahet, mil viisil andmed temani jõuavad. „Kasutaja ootus on, et andmed jõuaksid temani kiiresti ja arusaadaval kujul. Just seda mikroteenused pakkuda saavadki. Ja kui üks mikroteenus on näiteks katki, siis teised teenused suudavad endiselt infot anda, sest nad ei ole omavahel seotud. Praeguste monoliitsete lahenduste puhul kipub katki minema kogu süsteem ja ka vea otsimine on oluliselt keerukam ning kulukam,“ kirjeldas Poola.

Suurte monoliitsete teenuste mikroteenusteks ehitamine kätkeb endas ka mitmeid riske, millest peamisena näeb Poola süsteemisiseseid seoseid. „Neid lahti harutades oled nagu kausitäie spagettide ees, esimest spagetti võttes ei tea keegi, milline on selle spageti algus või kus asub lõpp. Mida rohkem harutad, seda lihtsamaks läheb ehk mitmeosalisi infosüsteeme on võimalik tükeldada küll, kuid selleks peab aga päris palju aega ja kannatust varuma.“

Osale arutelus

Toetajad

Seotud lood

Jälgi ITuudiseid sotsiaalmeedias

RSS

Toetajad

Valdkonna töökuulutused

Tallinna Linnakantselei otsib INFOSÜSTEEMIDE ANALÜÜTIKUT

Tallinna Linnakantselei

01. november 2017

ERPLY otsib SÜSTEEMIADMINISTRAATORIT

Majandustarkvara OÜ

01. november 2017

Tallink is looking for a SENIOR DEVELOPER

Tallink Grupp AS

31. oktoober 2017

Arvamused

Teabevara