28. november 2018
Tähelepanu! Artikkel on enam kui 5 aastat vana ning kuulub väljaande digitaalsesse arhiivi. Väljaanne ei uuenda ega kaasajasta arhiveeritud sisu, mistõttu võib olla vajalik kaasaegsete allikatega tutvumine.

Uus trend: Docker ehk konteineriseerimine

Datafoxi arendusüksuse juht Rainar Ütt
Foto: Erakogu
Tavaliselt ei puutu IT-taristu lahenduste pakkujad kuigi palju kokku tarkvaraarendusega, kuid tehnoloogia areng on eraldusjoont riist- ja tarkvara vahel tublisti hägustanud. Järjest enam taristulahenduste juurutusprojekte eeldavad lõppjärgus tarkvaralisi süsteemiintegratsioone või automatiseerimslahendusi ning konkreetseks kokkupuutepunktiks on uus dockeri-nimeline virtualiseerimistehnoloogia, tõdes Datafoxi arendusüksuse juht Rainar Ütt.

Dockeri ehk eesti keeles kohmaka nimega konteineriseerimistehnoloogia selgitamiseks tuleb tuua paralleel tarkvaraarendusega, kus koodi hoitakse versioonihaldussüsteemis. Sealt on kohe näha, kes koodi muutis, millal ta muutis ning mis muudatusi ta täpselt tegi. Kui nüüd juhtub arendustöös midagi ebaõnnestuma, siis on väga lihtne taastada üleeilset olukorda programmikoodis.

IT-taristuga on aga lood märka keerulisemad. Kui serverit peaks tabama suurem rike, siis selles sisaldunud andmed saab korraliku varunduslahenduse olemasolul üsna kiiresti taastada. Mis aga jääb puudu, on IT-süsteemi enda seadistuse taastamine. Nii kulubki uue serveri saabumisel operatsioonisüsteemi seadistamiseks, andmebaasiserveri õige versiooni leidmiseks ja konfigureerimiseks, rakendusserveri häälestamiseks ning muudeks sellisteks töödeks üsna palju aega. IT-süsteem tervikuna sel ajal ei toimi, mis võib lisaks märkimisväärsele ebamugavusele tähendada otsest rahalist kahju või saamata jäänud tulu.

Mida docker-tehnoloogia teeb sellise olukorra ärahoidmiseks? Konteineriseerimine võimaldab hoida kogu taristu toimimiseks vajaliku infot koodina ning hallata seda samamoodi nagu tarkvara. Docker loob programmi põhjal konteineri infost, mis hoiab töös meile vajalikku operatsioonisüsteemi osa, olgu selleks näiteks MySQLi andmebaasiserver, Tomcati rakendusserver või NGINX veebiserver. Erinevatele IT-süsteemi osadele loodud konteinerid on üksteisest eraldatud ning sisaldavad konkreetse komponendi tööks vajalikke teeke (library) ja utiliite (tool). Kuna iga konteiner on spetsiaalselt loodud selle komponentide jaoks, ei erine konteinerite ressursikasutus oluliselt ”konteinerivabast” keskkonnast, mida süsteemirikke korral nii lihtne taastada pole.

Dockerit tutvustati esmakordselt Pythoni ülemaailmsel konverentsil aastal 2013 ning alates sellest ajast on uue tehnoloogia kasutusele võtnud miljonid. Dockeri veebilehe andmetel kasutab konteineriseerimist 3,5 miljonit rakendust üle maailma, seda on laetud alla 37 miljardit korda ning rohkem kui 15 000 LinkedInis avaldatud töökuulutuses nõutakse dockeri-oskusi.

Kaks kolmandiku docker-tehnoloogiat proovinud ettevõtteid on selle ka kasutusele võtnud. Tuntumatest nimedest kasutavad seda näiteks Spotify, Expedia, eBay, Groupon, Uber, PayPal, Shopify jt. Kõige laialdasemalt kasutavad programmeerimiskeeled konteinerites on Java, PHP ja Ruby.

Konteinerite eelistena võib välja tuua järgmist:

•IT-taristu halduskulud vähenevad kordades, alates väiksematest nõudmistest riistvarale kuni väiksema haldusmeeskonna vajaduseni.

•Saab kasutada kõigis enimkasutatavates pilveteenustes (AWS, Google, Azure, Digitalocean, Openstack), kusjuures rakenduse ühest pilvekeskkonnast teise ümbertõstmine on väga lihtne.

•Pakub suuremat turvalisust – kuna erinevad komponendid toimivad eraldi konteineritest, siis on iga komponent ka süsteemiarhitektuuris eraldatud ehk justkui oma kapsli sees, kuhu teine komponent ligi ei pääse.

•Lahendus on skaleeritav – sama konteinerit saab kasutada arenduses, testimises ning ka süsteemi hilisemas töös. See omakorda vähendab test- ning arenduskeskkonna haldamiskulusid ning võimaldab arendajatel tegeleda rohkem arendamisega ja vähem arenduskeskkonna konfigureerimisega.

Liitu ITuudiste uudiskirjaga!
Liitumisega nõustud, et Äripäev AS kasutab sinu e-posti aadressi sulle uudiskirja saatmiseks. Saad nõusoleku tagasi võtta uudiskirjas oleva lingi kaudu. Loe oma õiguste kohta lähemalt privaatsustingimustest
Indrek KaldITuudised.ee toimetajaTel: 511 1112
Anne WellsReklaami projektijuhtTel: 5880 7755