IT specialistams

Kas yra DevOps darbai ir kada jų gali prireikti?

Podcast’ai Spotify platformoje

Įsivaizduokime, kad kuriate naują savo veiklos sistemą. Jos svarbiausios funkcijos netrukus bus pristatytos naudotojams. Tačiau planuojate iškart taisyti pastebėtas klaidas ir ateityje nuolat sistemą tobulinti, pildyti funkcijomis, kurios dar geriau atlieps klientų poreikius. Visa tai norėtumėte įgyvendinti, kai sistemą naudos šimtai naudotojų. Tačiau kaip suderinsite stabilų sistemos veikimą su nuolatiniu jos keitimu? Juk skaičiuojama, kad iki 80 procentų visų sistemų veikimo sutrikimų įvyksta būtent po atnaujinimų diegimo.

Šią problemą jau daugiau nei dešimtmetį sprendžia DevOps (angl. Development & Operations) praktikų rinkinys. Ši metodika apjungia programų kūrėjų (Development) ir sistemas prižiūrinčių IT specialistų (Operations) tikslus bei padeda abiems pusėms efektyviau dirbti savo darbą. Plačiau apie šią praktiką ir nuo ko pradėti ją įgyvendinti savo įmonėje, pasakoja „Blue Bridge“ IT paslaugų skyriaus vadovas Mindaugas Maraulas.

Svarbiausia DevOps dalis – CI/CD procesas

Įrankiai, padedantys programų kūrėjams ir IT priežiūros specialistams, sukuriami įgyvendinant CI/CD (angl. Continuous integration and continuous delivery) procesą. Šio proceso pilnas pavadinimas, verčiant jį ne pažodžiui, nurodo į „nuolatinę integraciją“ bei „nuolatinį diegimą“, kuris reiškia, kad padaryti atnaujinimai (pavyzdžiui, pataisyta sistema, naujos jos funkcijos) iškart pasiekia galutinį naudotoją.

Pasitelkus CI/CD, atnaujinimai, kurių per dieną gali būti dešimtys, bus padaryti sistemoje iškart, tą pačią dieną.

„Pasitelkus CI/CD, atnaujinimai, kurių per dieną gali būti dešimtys, bus padaryti sistemoje iškart, tą pačią dieną. Palyginimui, vadovaujantis tradiciniu požiūriu, šių atnaujinimų kelias iki galutinio naudotojo kur kas ilgesnis. Iš pradžių visus pakeitimus reikia surinkti, testuoti ir tik tuomet integruoti į sistemą. Tad pakeitimai integruojami kur kas rečiau – pavyzdžiui, kartą per mėnesį, o ne tą pačią dieną, kai yra paruošti“, – pasakoja Mindaugas Maraulas.

Kokie iššūkiai dažniausi kuriant CI/CD procesą?

CI/CD procesas – tai pirmiausia programinė įranga, kuri padeda programuotojams pataisytą ar atnaujintą kodą integruoti į sistemą. Nors teoriškai programuotojai galėtų patys susikurti CI/CD procesą, tačiau tam prireiks papildomo jų laiko ir žinių apie IT infrastruktūrą. CI/CD proceso savarankiškai ir greitai negalėtų susikurti ir sistemų administratoriai ar kiti IT priežiūros specialistai, nes tam reikia gerų programavimo įgūdžių.

CI/CD proceso kūrimui reikalingos gana naujos – DevOps – kompetencijos. Tačiau didžiausias iššūkis yra tai, kad Lietuvoje, kaip ir pasaulyje, tokių specialistų nedaug.

Kaip pasakoja „Blue Bridge“ IT paslaugų skyriaus vadovas, CI/CD proceso kūrimui reikalingos gana naujos – DevOps – kompetencijos. Tačiau didžiausias iššūkis yra tai, kad Lietuvoje, kaip ir pasaulyje, tokių specialistų nedaug. Be to, ši kompetencija – reta ir brangi. Efektyviam šių specialistų darbui taip pat reikia nemažai patirties, kurią sunku sukaupti dėl srities specifiškumo.

Tad viena iš išeičių – pasitelkti išorinius tiekėjus visiems DevOps darbams tokiu būdu taupant programuotojų laiką, išlaidas jų paslaugoms ir užsitikrinant, kad atlikti darbai bus kokybiški. Kita vertus, galima žengti ir eksperimentų keliu – investuoti savo IT komandos laiką į CI/CD proceso kūrimą prieš naujos aplikacijos vystymą.

Kitas iššūkis susijęs su CI/CD proceso pritaikymu IT infrastruktūrai, kurioje veiks sistema ar aplikacija. Pavyzdžiui, ketinate naudotis didžiųjų debesų tiekėjų – „Amazon Web Services“ (AWS), „Google Cloud Platform“‎ (GCP) ar „Microsoft Azure“ – paslaugomis. Tai reiškia, kad ir sprendimą, ir CI/CD procesą turite pritaikyti konkrečiam tiekėjui, pagal jo gerąsias praktikas bei rekomendacijas.

Ir sprendimą, ir CI/CD procesą turite pritaikyti konkrečiam tiekėjui, pagal jo gerąsias praktikas bei rekomendacijas.

Kaip pastebi M. Maraulas, tiekėjo specifiką atitinkančios ir  kaštus taupačnios IT architektūros kūrimas – dar viena specifinė sritis, kurioje reikia išskirtinių žinių ir patirties perkeliant bei pritaikant IT sprendimus viešajam debesiui.

Ar prireiks konteinerizacijos?

Konteineriai – tai virtualizavimo būdas, kai virtualizuojama tik pati aplikacija be operacinės sistemos. Dažnai jie yra dalis CI/CD proceso ir gali būti matomi kaip viena iš jį užtikrinančių priemonių.Tačiau CI/CD procesas gali būti įgyvendintas ir be konteinerizacijos.

Konteineriai reikalingi, jeigu jums būtina izoliuoti skirtingus kodus vieną nuo kito, nes jie turi atitikti skirtingus reikalavimus.

Konteineriai reikalingi, jeigu jums būtina izoliuoti skirtingus kodus vieną nuo kito, nes jie turi atitikti skirtingus reikalavimus, yra parašyti skirtinga programavimo kalba ir t. t.
Kaip pasakoja M. Maraulas, konteineriai ypač naudingi, kai kompleksiškas IT paslaugas teikianti svetainė sukurta pasitelkus mikroservisų paradigmą, t. y., kai tokia svetainė realizuojama į dvi ir daugiau mažesnių svetainių, veikiančių kaip vieninga sistema. Kiekviena tokia mažesnė svetainė gali būti kuriama atskirų programuotojų grupių ir „paleidžiama“ konteineryje.

Tuo atveju, jeigu konteinerių labai daug ir juos prižiūrėti rankiniu būdu per sudėtinga, padeda konteinerių orchestratoriaus, iš kurių populiariausias – „Kubernetes“.

Viena sparčiausiai augančių IT sričių

M. Maraulas atkreipia dėmesį, kad svarbiausias DevOps darbų tikslas – kuo labiau išlaisvinti programuotojus nuo bet kokių IT infrastruktūros klausimų ir užtikrinti, kad sprendimas būtų sukurtas ir atnaujinamas taip, kad tai netrukdytų jo veikimui bei priežiūrai.

„Ir CI/CD procesas, ir visos jį lydinčios priemonės – nuo IT architektūros sukūrimo iki konteinerizacijos – turi vieną panašumą. Visa tai – įrankiai, leidžiantys automatizuoti labai sudėtingus procesus ir tokiu būdu atpiginti bei suefektyvinti aplikacijų kūrimą ir priežiūrą“, – sako M. Maraulas.

Visa tai – įrankiai, leidžiantys automatizuoti labai sudėtingus procesus ir tokiu būdu atpiginti bei suefektyvinti aplikacijų kūrimą ir priežiūrą.

Pašnekovas priduria, kad DevOps yra viena iš sparčiausiai augančių sričių pasaulyje, todėl „Blue Bridge“ komanda džiaugiasi, kad  nuo šių metų gali padėti įmonėms atlikti svarbiausius DevOps darbus – nuo CI/CD proceso sudarymo iki aplikacijos pritaikymo viešajam debesiui ir konteinerizacijos.

Norite sužinoti daugiau, parašykite mums!

devops|populiarus įrašas

Įvertink šį straipsnį

    Prenumeruokite ir gaukite žinias pirmieji

    Taip pat skaitykite

    Skaityti daugiau
    Skaityti daugiau