Apie kokius dalykus kalbame, kurie net angliškai neturi tikslaus pavadinimo, o lietuviškai tai beveik neišsiverčia? Tarkime – aplikacija. Ne, tai ne mums įprasta programėlė telefone, o ištisa informacinė sistema. O mūsų pašnekovo Vytenio Sakalo pareigos pažodžiui iš anglų kalbos reikštų „debesų divizijos galva“ (head of cloud division). Lietuviškai ir oficialiai – pardavimų bei DevOps paslaugų vadovas.
„Debesų“ sąvoką jau daugelis žinome – visi jų naudojame po mažą gabalėlį. „Debesies“ leidžia atsikąsti „Google“ arba „iPhone“. Tai yra ta vieta, kur išsaugome savo dokumentus, nuotraukas ar vaizdo įrašus, tačiau visai neužimame savo įrenginio atminties. Vėliau viskuo naudojamės, kur tik prisijungiame prie savo paskyros.
Dar svarbiau yra tai, kad tuose pačiuose debesyse yra įrankiai visiems jūsų turimiems dokumentams, nuotraukoms ar įvairiausio kito tipo byloms apdoroti. Tai reiškia, kad mums pakanka tik interneto. Tai tik „debesėliai“. Rimti „cloud“ sprendimai gali žymiai daugiau.
Moduliarumas ir elastiškumas
Šiandien kalbame ne apie eilinius vartotojus, o įmones ir kompanijas, kurios vykdo didžiulius verslus ir dirba jiems pritaikytuose ar sukurtuose „debesyse“. Nedetalizuosime, kokiam verslui kas labiausiai tinka, tačiau paminėsime penkis dalykus, kurie yra bendri ir būtini absoliučiai visoms šiuolaikinėms verslo informacinėms sistemoms – aplikacijoms.
Šiandien turime du būdus egzistuoti elektroninėje erdvėje. Pirmas – senovinis – turėti šaltą kambarį su daug brangių serverių, duomenų talpyklų ir duomenų perdavimo įrenginių. Reikia pripažinti, kad serverius ar ištisas serverių sistemas turi galybė kompanijų, kurios savo gyvavimą elektroninėje erdvėje pradėjo prieš daugelį metų. Dabar jiems psichologiškai sunku tiesiog atsisakyti didžiulių investicijų. Laikas bėga – viskas keičiasi.
„Cloud“ pagrindu veikiančias sistemas naudojančios įmonės be jokių problemų jau kitą dieną ėmė dirbti iš namų ar bet kurios kitos vietos.
Antrasis būdas – verslo procesams prisijaukinti itin lanksčius ir optimizuotus „debesis“. V.Sakalas taip pat paaiškino, kodėl antrojo būdo pliusai labai išryškėjo pandemijos metu.
– Ar pandemija atskleidė vienų kompanijų minusus, o kitų privalumus?
– Iš tiesų – būtent dabar viskas ir pasimatė. Tai galėjo pamatyti kiekvienas, kuris negalėjo dirbti iš namų. „Cloud“ pagrindu veikiančias sistemas naudojančios įmonės be jokių problemų jau kitą dieną ėmė dirbti iš namų ar bet kurios kitos vietos. Jie lengvai prisitaikė prie verslo aplinkos pokyčių. Lankstumas – tai yra viena iš penkių svarbiausių savybių, apie kurias šiandien kalbame. Seno tipo įmonės, kurios jautėsi labai užtikrintai dėl savo nuosavų ir brangių serverių sistemų, daug sunkiau ir ilgiau užtruko išeiti už savo biuro ribų.
Lankstumas – tai tokia informacinės sistemos savybė, kuri iš esmės netrukdo verslams dirbti ir uždirbti. Šią savybę turinčios sistemos sugeba tiek „pasidauginti“ (vertikaliai arba horizontaliai išplėsti savo resursus ir pajėgumus), kai verslui gerai sekasi ir jo poreikiai auga kartu su pajamomis, tiek „susimažinti“ (sumažinti iki faktinio poreikio savo apetitą brangiems IT resursams), kai verslo apimtys mažėja ir išlaidų sumažinimas padeda verslui išgyventi laikiną ar ilgalaikę krizę. Senos sistemos apriboja – nesuteikia tokių galimybių, kurias turi „Cloud“ pagrindu veikiančių ir moderniomis moduliarumą užtikrinančiomis technologijomis (pvz., „Docker“, „Kubernetes“, „AWS ar Azure Container Services“) pagrįstų sistemų naudotojai.
– Per šiuos metus buvo verslų, kurie kelis kartus išaugo, o kai kurie – kelis kartus susitraukė. Ar tai taip pat galima vadinti elastiškumu?
– Svarbiausia, ar įmonė sugeba greitai prisitaikyti prie pokyčių. Jei tradicinė sistema yra pasirengusi aptarnauti 1000 vartotojų ar užsakymų, tačiau staiga gavo jų 10 kartų daugiau – ji stringa, išsijunginėja, o verslas praranda potencialias pajamas. Senoviškų sistemų naudotojai turėjo įsigyti papildomos įrangos, brangių techninių pajėgumų. Jei poreikis mažėjo – dalį jų laikyti nenaudojamus. Nenaudojami serveriai juk taip pat kainuoja. Šiuo atveju – „debesys“ yra nepralenkiami – IT resursų yra tiek, kiek jų tuo metu reikia – niekas nedūla be reikalo ir nieko nepritrūksta.
Papildomas moduliarios sistemos privalumas – gerokai paprastesnis ir greitesnis naujų IT komandos narių priėmimas į darbą.
– Kita savybė, kurią minite – moduliarumas. Vaizdžiai tai primena korius, kurių kiekvieną dalį galima pakeisti, išimti, pridėti naujų. Ką tai reiškia?
– Moduliarumas yra tokia savybė, kai visa sistema yra ne bendras didelis nedalomas darinys, o daug atskirų ir savarankiškai veikiančių elementų (modulių arba dar kartais vadinamų „mikro-servisų“), kuriuos bet kada galima keisti, tobulinti, papildyti. Turiu omenyje – ne fiziškai, o programiškai. Mums nereikia keisti ar išjungti visos sistemos, jei norime patobulinti tik dalį jos. Papildomas moduliarios sistemos privalumas – gerokai paprastesnis ir greitesnis naujų IT komandos narių priėmimas į darbą, t.y. naujam IT specialistui reikia gerokai mažiau laiko pradėti dirbti ir nešti verslui vertę, nes jam nereikia ilgai sėdėti ir aiškintis visos sistemos veikimo. Jis gali greit įsigilinti į jam aktualų modulį ir dirbti su juo net nežinodamas kitų modulių specifikos. Todėl labai svarbu – teisingas programavimas ir sistemos architektūros planavimas.
„Debesys“ prieš „geležį“
Taigi, jeigu šiandien jums kas nors pasakys, jog skraidote padebesiais arba faktus kabinate nuo debesies, priimkite tai kaip komplimentą – jūs šiuolaikiškas, lankstus, patikimas ir perspektyvus. Tai patvirtina ir kitos trys būtinos šiuolaikinių aplikacijų savybės.
– Trečioji savybė – automatizavimas. Kaip suprasti šį terminą „cloud“ sistemoje?
– Reikia labai daug apgalvoto programuotojų darbo, kad kuo daugiau procesų vyktų automatiškai. Svarbiausias tikslas – programuoti viską taip, kad niekam nereikėtų atlikti pasikartojančių veiksmų. Turiu omenyje – programinė įranga geba pati sukurti programinį kodą, kuris automatizuoja kintančius procesus. Programavimo programavimas. Taip pat ir infrastruktūra – moderni organizacija ir moderni IT komanda turi savo IT infrastruktūrą traktuoti kaip dalį savo informacinės sistemos (modernios verslo aplikacijos ar modernios internetinės aplikacijos) – lygiai taip pat kaip modernus sistemos programavimas, infrastruktūra turi būti programuojama ir jos valdymas automatizuotas (angl. Infrastucture as Code). Tokiu atveju gali būti pasiekti maksimalus sistemos lankstumas ir gebėjimas prisitaikyti prie dinamiškos verslo aplinkos. Automatizacija taip pat padės efektyvinti IT komandos darbą ir išvengti žmogiškų klaidų diegiant naujas funkcijas ar pokyčius.
– Dar viena būtina savybė – saugumas. Ar klaidingai mąsto žmonės, kurie tiki, jog fiziniai serveriai yra saugesni už „debesis“? Juk jie tokie neapčiuopiami.
– „Cloud“ sistemose visas pavojus saugumui iš esmės atsiranda tik dėl savo atsakomybės nežinojimo ir nemokėjimo saugiai naudotis „Cloud“ paslaugomis. Priežastys itin banalios – nuo per lengvų slaptažodžių naudojimo iki duomenų bazės viešų prieigų neribojimo. Garsiosios rinkos tyrimų bendrovės „Gartner“ teigimu, artėjant 2025 m. net 99% visų kibernetinių incidentų debesyse bus įvykę dėl jų naudotojų (pačių įmonių) kaltės.
Jei žvelgtume iš klasikinio požiūrio taško, dažniausiai apie saugumą pradedama galvoti jau sukūrus tam tikrą produktą.
Tradicinių sistemų saugumas primena kortų namelį, aptvertą didžiule neįveikiama siena. Iš pažiūros – saugu, tačiau siena trukdo plėsti ribas, o sistema labai pažeidžiama iš vidaus. O jei siena neatlaiko – griūva viskas.
Teisingai sukurtoje sistemoje apie saugumą galvojamą viso sistemos gyvavimo ciklo metu – nuo pat dizaino ir programavimo pradžios, iki įdiegimo į gamybinę aplinką ir kasdienių palaikymo veiksmų – taikoma vadinamoji „DevSecOps“ praktika.
Taip pat, naudojantis debesijos paslaugomis, labai svarbu suprasti atsakomybės už saugumą ribas. Tam svarbu susipažinti su savo tiekėjo atsakomybių pasiskirstymo modeliu (angl. Shared Responsibility Model), jį išmanyti, prie jo prisitaikyti ir jo laikytis. Tada, jei kas nutinka, yra labai aišku, kas yra atsakingas. Jeigu kiekvienas vartotojas ar kompanija gerai suvokia savo atsakomybę, toks saugumas nepalyginamai stipresnis už didžiausių tvirtovių sienas. O jei darbuotojai nesaugiai elgiasi su sistema, tuomet ir ginkluota apsauga nepadės.
– Tuomet kodėl bankai toliau išlieka prie savo daugybės serverių, uždarų sistemų? Gal taip iš tiesų saugiau, kai kalbame apie rimtus dalykus? Pavyzdžiui, pinigus?
– Mano manymu, tokios kompanijos į saugumą investuoja dešimtmečiais. Jiems yra labai sunku pažvelgti tiesai į akis ir prisitaikyti prie naujų technologijų, o gal net dalinai atsisakyti kai kurių nebūtinų uždarų sistemų. Tiesa, jau yra keletas bankų, kurie veikia tik „cloud“ sistemose. Senieji bankai iš visų jėgų stengiasi juos pavyti, kurdami panašius produktus, kuriuos, deja, jie pririša prie savo senųjų sistemų, nepritaikytų „debesims“ ir negali pasinaudoti moderniausiomis technologijomis, kurios tiesiog neegzistavo, neegzistuoja ir neegzistuos geležinėse privačiose IT infrastruktūrose (pvz., dirbtinio intelekto, blockchain, CDN ir pan.). Juk šios senos sistemos programuotos su 20 metų senumo įsitikinimais ir tuo metu galiojusiais standartais.
Automobilių pasaulyje, kuris kelis kartus lėtesnis nei IT rinka, tai būtų panašu kaip lenktyniauti su kelių dešimčių metų senumo automobiliu prieš 2021 m. Porsche 918 Spyder.
– Galimybė atsistatyti (angl. resiliency). Tai penktoji būtina šiuolaikinės informacinės sistemos savybė. Tradicinė sistema vis dar pasitiki sena gera 321 sistema, kuomet reikia turėti tris kopijas – dvi iš jų kažkur netoliese skirtingose vietose, o viena – visai kituose serveriuose. O dar geriau – kitoje šalyje. Ar panašiai vyksta ir „cloud“ sistemose?
– Tai labai svarbi informacinės sistemos savybė sugebėti atsistatyti savo veikimą po laikinų sutrikimų ar nesklandumų. Įprastoje sistemoje gali sutrikti darbas vien dėl to, kad diske neliko vietos ar trumpam dingo interneto ryšys su serveriu. Staiga – niekas neveikia. Kartais tradicinė sistema užstringa dėl neaiškių priežasčių. Po ilgų ieškojimų paaiškėja, kad sistemą tiesiog reikėjo perkrauti.
„Cloud“ sistemoje dirbtinis intelektas, programavimas ir paslaugos suderintos taip, kad įvairiausios problemos išsispręstų automatiškai arba jų tiesiog nekiltų.
Viena iš tokių koncepcijų – sistemos veikimas, pagrįstas paslaugomis, o ne serverių infrastruktūra (angl. serverless). Tokios paslaugos yra sukurtos galvojant apie lankstumą, plečiamumą ir atsistatymą po laikinų nesklandumų. Reikėtų pabrėžti, kad šiuo aspektu lyginti tradicines ir „cloud“ sistemas yra beprasmiška. „Debesyse“ dažnai veikia tokie procesai, kurie tradicinėse sistemose neegzistuoja net kaip sąvoka.