2015 m. „Adidas“ pristatė naujo modelio batelius „Yeezy“. Kartu su reperiu Kanye West sukurti kedai akimirksniu sulaukė didžiulio pasisekimo – skaičiuojama, kad vien per pirmas 5 sek. parduota 2600 porų. Tačiau tai, kas buvo sėkmė verslui, tapo nenumatytu iššūkiu IT skyriui. Kaip ir galima tikėtis susiklosčius panašioms aplinkybėms, el. parduotuvė tiesiog nesusitvarkė su šoktelėjusiu užklausų skaičiumi ir „užlūžo“. Batelių vajui nuslūgus, ši pamoka vedė prie IT vaidmens permąstymo ir įmonės perėjimo prie DevOps praktikų.

Ši istorija – tik vienas žymesnių pavyzdžių, iliustruojančių kaip tradicinis verslas atranda IT įmonėse gimusias DevOps praktikas, sako „Blue Bridge“ IT paslaugų vadybininkė Toma Čechavičiūtė, pristatydama vieną svarbiausių „Blue Bridge“ naujienų paslaugų portfelyje – DevOps paslaugas.

Būdas automatizuoti aplikacijų kūrimą

DevOps (angl. Development & Operations) paprasčiausiai galima apibrėžti kaip praktikų rinkinį, kuris apima ir programavimo, ir IT priežiūros arba IT operacijų sritis.

„Kuriant, atnaujinant ir prižiūrint aplikacijas būtini ir programuotojai, ir IT administratoriai. Sklandžiam aplikacijos aptarnavimui reikėtų, kad programuotojas išmanytų IT infrastruktūrą, o IT administratorius mokėtų programuoti. Deja, tikrovėje toks variantas retas, tačiau būtent šią spragą užpildo DevOps praktikos. Jos automatizuoja daugumą aplikacijos kūrimo ir priežiūros žingsnių. Taigi, taupomi pinigai, laikas ir mažinamas kritinių klaidų skaičius atnaujinant ar prižiūrint aplikacijas hibridinėje infrastruktūroje“, – paaiškina Toma Čechavičiūtė.

Kaip pastebi pašnekovė, „Blue Bridge“ patirtis rodo, kad DevOps praktikų naudojimas dažniausiai pasiteisina, jeigu organizacija kuria, diegia ir nuolat atnaujina ne standartines, o savo kurtas, specifines aplikacijas.

„Kita vertus, jeigu dirbate su standartinėmis „Microsoft“ programomis arba jūsų sistemos mažai keičiamos ir atnaujinamos, greičiausiai DevOps jums kol kas nereikia“, – atkreipia dėmesį T. Čechavičiūtė ir priduria, kad keičiant naudojamas technologijas keičiasi ir IT procesai, todėl nusiteikimas įgyvendinti pokyčius, svarstant, ar savo versle reikia bandyti pritaikyti DevOps, labai svarbus.

Tarp populiariausių darbų – konteinerizacija

Pasakodama apie DevOps praktikas, „Blue Bridge“ atstovė įvardija 5 dažniausiai sutinkamus darbus, kurie tiesiogiai susiję su DevOps paradigma: tai konteinerizacija, „Kubernetes“ naudojimas, vadovavimasis CI/CD procesu kuriant ir atnaujinant aplikacijas bei naujos kartos IT infrastruktūros kūrimas pagal Infrastuktūros kaip kodo (angl. Infrastructure as code) požiūrį.

„Ko gero, žinomiausia DevOps praktika – aplikacijų konteinerizacija, kuri reiškia, kad aplikacija ir visi jos veikimui reikalingi komponentai patalpinami vienas nuo kito izoliuotuose konteineriuose. Konteineriai gali būti kuriami ir fizinėje, ir virtualioje infrastruktūroje“, – sako „Blue Bridge“ IT paslaugų vadybininkė ir priduria, kad lyginat su virtualiomis mašinomis, svarbiausias konteinerių privalumas yra tai, kad neturėdami savyje operacinės sistemos, jie reikalauja mažiau priežiūros bei resursų ir gali būti „paleidžiami“ per milisekundes.

T. Čechavičiūtė pateikia ir pavyzdį, kada aplikacijos konteinerizacija gali būti reikalinga: „Grįžkime prie el. parduotuvių. Karantino situacijoje pavasarį stebėjome, kaip vienos el. parduotuvės veikė tvarkingai, o kitos – strigo dėl per didelių apkrovimų. Tikėtina, kad sistemos, veikusios klasikinėje IT infrastruktūroje, virtualių mašinų pagrindu, turėjo daugiau problemų su didesnio srauto aptarnavimu, nes jos mažiau pritaikytos plėstis. Be to, greičiausiai dėl didesnio užklausų kiekio teko tvarkyti bei atnaujinti pačią aplikaciją, papildyti ją naujais funkcionalumais, o tai irgi užtrukdavo ir turėjo įtakos sklandžiam visos aplikacijos veikimui. Būtent visus šiuos procesus ir galėtų paspartinti aplikacijos konteinerizacija.“

Užtikrinant paprastesnį konteinerių valdymą

Su aplikacijų konteinerizacija glaudžiai susijęs ir jį papildo konteinerių valdymo įrankio naudojimas. Kaip paaiškina „Blue Bridge“ atstovė, tokio įrankio prireikia valdant dešimtis konteinerių, aptarnaujančių aplikaciją.

„Vystant infrastruktūra, paremtą konteineriais, dažniausiai neapsieinama be jų valdymo įrankio, kuris leidžia valdyti didelį konteinerių kiekį. Be tokių įrankių norint įgyvendinti bet kokį aplikacijos keitimą, reikėtų jungtis į kiekvieną konteinerį atskirai, kas nėra efektyvu“, – komentuoja pašnekovė.
Šiandien rinkoje paklausiausias konteinerių valdymo įrankis – „Kubernetes“, kuris automatiškai pradeda konteinerių diegimą, suranda laisvų resursų, taip pat, sutrikus konteinerių veikimui, aptinka neveikiančius konteinerius ir juos pakeičia naujais. „Galiausiai – „Kubernetes“ leidžia abstrahuoti skirtingas infrastruktūros komponentų vietas (nuo srauto balansavimo iki disko pridėjimo), taigi sumažina skirtingų kompetencijų poreikį prižiūrint IT infrastruktūrą“, – paaiškina svarbiausias „Kubernetes“ populiarumo priežastis T. Čechavičiūtė.

Automatizuotas aplikacijos kūrimo procesas greitesniam rezultatui

Organizacijoms, kuriančioms ir nuolat atnaujinančioms savo sistemas arba jų funkcionalumus, ypač naudinga DevOps sritis, orientuota į aplikacijų kūrimą – CI/CD (angl. Continuous integration and continuous delivery) proceso pritaikymas.

„CI/CD procesas buvo išvystytas siekiant palengvinti aplikacijos atnaujinimą arba naujos aplikacijos pateikimą galutiniam naudotojui. Ką gi tai reiškia praktiškai? Įsivaizduokime, kad naudojate daug duomenų apdorojančią sistemą, kurią per dieną tenka atnaujinti bent 10 kartų. Jeigu programuotojai, rašantys atnaujinimų kodą, rankiniu būdu testuotų savo atnaujinimus, tam sugaištų visą dieną. Be to, palikus kodo klaidų, tokie atnaujinimai sutrikdytų visos aplikacijos veiklą. Būtent šiuos iššūkius ir sprendžia CI/CD procesas“, – komentuoja pašnekovė ir paaiškina, kad CI/CD procesas gali visiškai automatizuoti kodo atnaujinimo kūrimą, testavimą ir pristatymą galutiniam naudotojui arba automatizuoti tik tam tikras šio proceso dalis, pavyzdžiui, kodo testavimą.

Pažangiausias sprendimas – kodas kaip infrastruktūra

Organizacijos, valdančios didelę IT infrastruktūrą ir kompleksines aplikacijas, vis dažniau naudojasi Infrastruktūros kaip kodo (angl. Infrastructure as Code, IaC) galimybėmis. Kaip paaiškina T. Čechavičiūtė, IaC – tai būdas atkartoti tą pačią aplikacijos IT infrastruktūrą skirtingose vietose, pavyzdžiui, skirtinguose duomenų centruose.

„Pavyzdžiui, IaC galėtų pasitarnauti, jei vystote dokumentų valdymo sistemą kaip produktą ir diegiate jį skirtingiems klientams, skirtingose IT infrastruktūrose. Atlikti tokius darbus rankiniu būdu ne tik užtruktų, bet ir neišgelbėtų nuo žmogiškųjų klaidų. Todėl IaC metodas, kai IT infrastruktūra aprašoma kodu, kuris gali būti įdiegtas bet kurioje IaC palaikančioje IT infrastruktūroje, apčiuopiamai supaprastina šiuos iššūkius ir leidžia atkartoti identišką infrastruktūrą, neprarandant numatytų saugumo ir kitų parametrų“, – sako „Blue Bridge“ IT paslaugų vadybininkė ir priduria, kad IaC pirmiausia yra infrastruktūros kūrimui ir keitimui skirtas įrankis, kuris neapima darbo su operacine sistema.

Tinka ne tik skaitmeniniams, bet ir tradiciniams verslams

Apibendrindama šiandien populiariausias DevOps praktikas ir jų naudą kalbant apie skirtingų sektorių įmones, T. Čechavičiūtė sako, kad DevOps vis dažniau atranda ne tik skaitmeninių technologijų (angl. digital native) įmonės ir startuoliai, bet ir stambūs tradiciniai verslai bei valstybinės organizacijos.

„Adidas“, BMW ir kiti žymūs tradicinio verslo prekiniai ženklai, perėję prie DevOps, tik parodo, kad bet kuris verslas, dirbantis su klientu skaitmeninėje erdvėje, gali gauti nemažai naudos iš tam tikrų DevOps elementų ir praktikų. Dar prieš dešimtmetį gyvenome pasaulyje, kuriame buvome įpratę prekių bei paslaugų laukti ilgiau, labiau toleruodavome ir įvairius sistemų veikimo nesklandumus. Šiandieniniame pasaulyje skaitmeninė erdvė tampa vis sunkiau pakeičiama mūsų gyvenimo dalimi, todėl galutinių naudotojų lūkesčiai visoms sistemoms – pradedant nuo el. parduotuvių ir baigiant sąskaitų apmokėjimo platformoms – kur kas didesni“, – dalijasi įžvalgomis „Blue Bridge“ atstovė ir priduria, kad iš esmės DevOps metodai mažiau aktualūs tik įmonėms, daugiausiai naudojančioms savo veikloje programinę įrangą kaip paslaugą (SaaS).

„Vis dėlto, net įsigyjant sistemas iš didesnių gamintojų, aktualus išlieka patikimos IT infrastruktūros, pirmiausia – debesų kompiuterijos klausimas, o tai – viena iš sričių, kurioje DevOps gali padėti ne tik apčiuopiamai sutaupyti, bet ir išmaniau spręsti sistemos veikimo bei jos atkūrimo IT nelaimės atveju klausimus“, – pastebi T. Čechavičiūtė.