05.12.2018

 

Tavaliselt ei puutu IT-taristu lahenduste pakkujad nagu Datafox kuigi palju kokku tarkvaraarendusega. Tehnoloogia areng on aga eraldusjoont raud- ja tarkvara vahel tublisti hägustanud ning nii oleme ka meie üha enam vaatamas vana hea koodikirjutamise poole. Seda eeldab elu ise, sest järjest enam taristulahenduste juurutusprojekte eeldavad lõppjärgus tarkvaralisi süsteemiintegratsioone või automatiseerimislahendusi. Veelgi enam, uus dockeri-nimeline virtualiseerimistehnoloogia täiustab klassikalisi IT-taristu teenuseid (IaaS, Infastructure as a Service), mille pakkumisel me Datafoxis tugevad oleme.

 

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.

 

Midadocker-tehnoloogia teeb sellise olukorra ärahoidmiseks? Konteineriseerimine võimaldab hoida kogu taristu toimimiseks vajaliku infot koodina ning hallata seda samamoodi nagu tarkvara. Dockerloob 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.

 

Dockerittutvustati 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:

  • 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.

 

 

Küsi lisa docker-tehnoloogia võimaluste kohta:

 

 

 

Rainar Ütt

Datafoxi arendusüksuse juht
See e-posti aadress on spämmirobotite eest kaitstud. Selle nägemiseks peab su veebilehitsejas olema JavaSkript sisse lülitatud.