Sveikatos apsaugos ministras Arūnas Dulkys praėjusią savaitę pabrėžė, kad Lietuvoje masinė vakcinacija gali būti vykdoma tik etapais, mat suteikus galimybę vienu metu registruotis visiems norintiems – apkrovos neatlaikytų jokia informacinė sistema. Kaip vis dėlto galėtų veikti IT sistemos, kad pavyktų atlaikyti milžiniškas apkrovas?
Asociatyvi „Pixabay“ nuotr.
Kokių pokyčių reikia, norint sklandžiau įgyvendinti masinę vakcinaciją? Įžvalgomis apie technologinius sprendimus dalijasi JAV programavimo paslaugų įmonės „Devbridge“ technologijų direktorius Rimantas Benetis.
Kodėl IT sistemoms Lietuvoje nepavyksta atlaikyti didelių duomenų apkrovų ?
Nesutikčiau su teiginiu, kad masinės vakcinacijos apkrovos negalėtų atlaikyti nei viena IT sistema. Pasaulyje yra sistemų, kurios per sekundę gali apdoroti apie 100 milijonų užklausų. Tai reiškia, kad visi mūsų šalies gyventojai galėtų vienu metu registruotis ir dar liktų vietos dar 97 milijonams vartotojų. Ir visa tai vos per vieną sekundę! Taigi aš manyčiau, kad problema slypi sistemoje, kai ji yra nekeičiama ir netobulinama.
Nors vakcinacija vykdoma etapais, tačiau vis nepavyksta išvengti nesklandumų. Šią ir praėjusią savaitę strigo ir registracijos sistemos, kodėl taip atsitinka?
Registracija nėra labai sudėtingas veiksmas ir paprastai vienas serveris gali apdoroti apytiksliai 7 tūkstančius įrašymo užklausų per sekundę.Taigi jei vienu metu daugiau nei 7 tūkstančiai vartotojų bandys registruotis, o dalis iš jų gaus klaidos atsakymą, turės bandyti dar kartą. Paprastai svarbioms sistemoms niekada nebūna pasitelkiamas tik vienas serveris, dažniausiai jų būna keli. Tokiu atveju, apdorojimo sparta padidėja, nes krūvis yra išdalinamas keliems serveriams.
Naivu manyti, kad visos registracijos ateis tą pačią sekundę, paprastai jos akimirksniu išsiskirsto laike. Taigi pasitelkiant vos vieną serverį būtų galima užregistruoti maždaug 420 tūkstančių vartotojų per vieną minutę (t.y. visą Lietuvą per 7-8 minutes su sąlyga, kad nepavykus užsiregistruoti žmonės bandys dar kartą). Kita sistemos dalis lemia, kiek laiko užtrunka registracijos užklausa. Jei sistema nėra optimizuota, registracijos užklausa trunka kelias sekundes, tai serverio pralaidumas mažėja dėl taip vadinamųjų laukiančiųjų užklausų. Todėl yra labai svarbi programinės įrangos architektūra, kad užklausa truktų kiek įmanoma trumpiau ir kuo greičiau atlaisvintų vietą kitoms užklausoms.
Kokie didžiausi iššūkiai tenka IT specialistui, valdant tokio pobūdžio užklausas ?
Labai svarbu suprasti kaip tie srautai atrodo. Ar tai yra vienkartiniai duomenų padidėjimai, ar tai yra pastovi apkrova, kokie yra programinės įrangos apribojimai. Kartais vienas sprendimas gali atlaikyti reikiamus srautus, bet integruoti servisai negali. Dažnai tenka spresti ir naudojamų paslaugų apribojimus.
Ko reikia, kad IT sistemos atlaikytų tokias masines apkrovas kiek įmanoma sklandžiau?
Parastai šios problemos sprendžiamos kompleksiniu būdu. Dididant serverių galią, didinant serverių kiekį, optimizuojant programinės įrangos architektūrą. Šiuo atveju, greičiausiai, paprasčiausia būtų didinti serverių kiekį, nes registracija yra vienkartinis veiksmas. Šiam variantui būtina teisinga programinės įrangos architektūra, kad registracijos užklausa tiesiog įrašytų veiksmą į eilę (kiek įmanoma greičiau) ir vėliau sistema apdorotų visus iš eilės elementus maksimaliu greičiu. Taip pat yra reikalingas lengvas būdas padidinti serverių kiekį (šiais laikais tai automatizacijos uždavinys). Užtikrinti sklandų registracijų veikimą šalys gali rinktis debesų kompiuterijos sprendimus – registraciją perkelti į „debesį“,o duomenys gali likti ir valstybinėse duomenų bazėse.
Ar egzistuoja efektyvus technologini s sprendimas, kuris įgyvendint ų spartesnę vakcinacijos eigą Lietuvoje?
Kuo patogesnė sistema yra vartotojui, tuo lengviau tikėtis, kad ją žmonės naudos. Iš kitos pusės čia reikalingas reagavimo greitis, todėl vertėtų galvoti apie mobilaus įrenginio panaudojimą informacijos pateikimui ir reagavimui. Galima būtų apie laisvas skiepų vietas žmonėms pranešti tiesiai į mobilųjį įrenginį ir leisti jiems iš karto registruotis. Vis dėlto, manyčiau, kad techninė problema šiuo atveju yra paprastesnė nei socialinė.
Ar Jums su kolegomis yra tekę kurti sistemą, kuri padėtų suvaldyti didelius informacinius srautus ir atlaik ytų tokias milžiniškas sistemų apkrovas?
Dirbame su viena iš didžiausių pasaulinių avialinijų kompanijų, kuri kasdien turi apdoroti duomenis iš visų įvykusių skrydžių pasaulyje ir atvaizduoti apdorotus duomenis savo klientams. Iki pandemijos, tai maždaug sudarydavo apie 100 tūkstančių skrydžių per dieną. Šią sumą padauginę iš vidutinio žmonių kiekio lėktuve galime gauti duomenų kiekius, kuriuos reikia apdoroti vos per vieną dieną. Taigi šiam sprendimui spręsti yra taikomi įvairūs metodai:serverių galingumas, jų kiekis, asinchroninis duomenų apdorojimas, duomenų segmentacija ir pan. Taip pat naudojama debesų kompiuterija, skirta lengvam skalės didinimui bei serverless konceptas.
Ko, jūsų manymu, stinga, kad panašūs metodai būtų sėkmingai taikomi ir šalies vakcinavimo procesui?
IT produktai neturi sienų ar savivaldybių apribojimų, tačiau kartais turime strateginę problemą, kuri lemia, kad darome lokalius ir kiek trumparegiškus sprendimus, esamoms problemoms pagerinti. Pirmiausia reikėtų sutvarkyti sistemas, kad jos „nenulūžtų“. t.y. jei žmogus jau apsisprendė skiepytis, technologija neturėtų jam trukdyti tai padaryti. Derėtų peržiūrėti ar registracija yra patogi vartotojui, taip pat ir informavimo eigą, jis turi būti savalaikis ir tikslingas. Taip pat reikėtų apjungti visas sistemas į vieną visumą. Visų šalies vakcinavimų punktų registracija turėtų būti vienoda, juk iš čia galima gauti apibendrintas įžvalgas, optimizuoti logistiką bei nukreipti žmones į tuos punktus, kur vakcinų yra.