IT žinių centras
užsisakykite naujienas!
Apžvalgos

Konteinerių technologija keičia debesų kompiuterijos principus

Jau kurį laiką stebiu už Atlanto vis populiarėjančią konteinerių (angl. docker) technologiją, bet tik dabar pastebėjau, kad lietuvių kalba apie ją vis dar nėra jokios informacijos, nors ši debesų kompiuterijos „naujovė“ už Atlanto startavo 2013 m., o 2015 m. buvo parsisiųsta daugiau nei 300 mln. konteinerių. Lietuvoje dar neteko sutikti šios technologijos pas klientus, tik teko girdėti, kad pasaulinės kompanijos, kurios outsource‘ina resursus Lietuvoje, migruoja į šią technologiją.

Taigi, kas yra tie konteineriai?

Konteineriai yra atvirojo kodo programinė technologija (užbėgant už akių – daugiau informacijos rasite čia). Ši technologija leidžia dalintis tos pačios operacinės sistemos resursais, juos pateikiant kaip mikro operacines sistemas. Tai optimalus būdas informacinę sistemą (arba, kitaip tariant, informacinės sistemos kodą) perkelti iš programuotojo kompiuterio į gamybai skirtą aplinką. Šis būdas yra itin efektyvus, nes visos technologijos, reikalingos kodui veikti (operacinė sistema, bibliotekos, tarpinė programinė įranga (angl. middleware)) jau yra paruoštos. Taigi, programuotojas nebeturi rūpintis dėl to, kokią operacinę sistemą naudoja informacinė sistema. Paprastai tariant, programuotojo kodas veiks visur, kur tik yra naudojama konteinerių technologija.

Konteinerių privalumai:

  • naudoja labai mažai resursų ir yra lengvai plečiami;
  • ekonomiškai efektyvūs, nes technologija suteikia galimybę paleisti daug konteinerių viename serveryje.
  • lengva įdiegti tiek pas debesų tiekėją, tiek savoje infrastruktūroje.

Žinoma, konteinerių technologija turi ir savų minusų:

  • sunku atlikti konteinerių rezervinį kopijavimą ar atlikti jų duomenų klonavimą;
  • konteinerių saugumas yra silpnesnis nei virtualių serverių;

Konteineriai ar virtualūs serveriai?

Konteinerių populiarumas pasaulyje taip smarkiai auga, jog kai kurie apžvalgininkai kalba, kad ši technologija turi potencialo pakeisti virtualius serverius. Vis dėlto manau, kad, bent kol kas, konteineriai tikrai neišspręs visų problemų.

Esu girdėjęs paprastą palyginimą, kuris, mano galva, puikiai paaiškina esminius konteinerių ir virtualių serverių skirtumus: jei virtualus serveris būtų namas, tai konteineris būtų viešbučio kambarys. Viešbutis turi daug paslaugų, kuriomis dalinasi visi kambariai (elektra, vandentiekis, valymo paslaugos ir pan.), taip ir konteineriai dalinasi vienos operacinės sistemos resursais. Ir jei jums nepatinka kažkurie kambario „nustatymai“ – viešbučio kambarį pakeisti yra daug lengviau, nei pakeisti turimą namą. Visgi viešbučio kambario negalite perdažyti, perstatyti baldų, kaip tai darote savo namuose. Analogiškai – labiau savo poreikiams pritaikyti galite būtent virtualius serverius.

Virtualių mašinų ir konteinerių palyginimasŠaltinis: www.docker.com/what-docker

Atkreipę dėmesį į paveikslėlį, kuris vizualizuoja virtualių serverių ir konteinerių technologijas pamatysite, kad konteineriai yra puikus pasirinkimas norint paleisti modulines, nepriklausomas sistemas (aplikacijas), tuo tarpu virtualūs serveriai turi daugiau galimybių, nes galima valdyti OS (konteineriai tokios galimybės nesuteikia, nes naudojasi bendra OS platforma).

Ką daryti?

Ar verta pulti ir visas sistemas migruoti į konteinerių technologiją? Nebūtinai. Konteinerių technologija puikiai tinka, jei dauguma jūsų sistemų naudoją tą pačią operacinę sistemą ir netgi tą pačią DB, kaip pvz., MySQL. Tokiu atveju jums tikrai verta pagalvoti apie migraciją į šią technologiją, nes sutaupysite daug resursų. Bet jei visos jūsų informacinės sistemos naudoja skirtingas operacines sistemas ir taikomąsias aplikacijas, tuomet virtualūs serveriai jums vis dar yra geriau nei konteinerių technologija.

Neabejoju, kad debesų kompiuterijos architektai netruks suprasti, kada ir kokiomis aplinkybėmis kuris diegimo tipas (o galbūt ir abiejų technologijų derinimas) yra geriausias, sprendžiant konkrečias problemas. O kol kas, turbūt verta tiesiog daugiau pasidomėti šia technologija, jos naudomis bei galimybe ją pritaikyti savo įmonės veikloje.

AUTORIUS

Mindaugas Maraulas – UAB „Blue Bridge“  IT paslaugų valdymo skyriaus vadovas

2 Komentarai

  1. Autorius zalio supratimo neturi apie ka raso :)
    “Docker” – prekinis zenklas, tad jau pirmam sakinyje konteinerio isvertimas i “Docker” rodo jog angliskai supratimas nekoks.
    Bandymas straipsnyje paaiskint technines detales – dar blogesne situacija.

    Is kitos puses – toks vadovu darbas – pristatyti dalykus kuriu nesupranta, dar maziau suprantantiems, ir net nesvarbu jog tai bus ne visai tiesa.

    • Dėkui, už komentarą, Evaldai.

      Taip, „Docker“ yra kompanijos pavadinimas, o konteineriai yra technologija. Visgi neretai nutinka, kad prekės ženklai tampa bendriniais pavadinimais (pavyzdžiui, Jacuzzi, Pampers ar pan.). Manau, kad konteinerių atveju, docker‘is yra galbūt netgi geriau žinomas pavadinimas, nei sąvoka „konteineris“, todėl jį ir paminėjau.

      Straipsnyje nesistengiau gilintis į techninius niuansus, labiau siekiau supažindinti su šios technologijos koncepcija ir pristatyti šią technologiją, kaip galimybę. Jei pats su technologija esate susipažinęs giliau, prašom pasidalinti savo mintimis – man ir kitiems skaitytojams tai padės tobulėti :)

Palikite komentarą

Jūsų elektroninio pašto adresas nebus rodomas.

*