Docker – mis asi see on ja miks kõik seda kasutavad?
Docker on kogu IT maailmas praegu kõige kuumem teema. See võimaldab jooksutada palju rohkem rakendusi ja teenuseid ühe masina pealt, samal ajal vähendades kulusid ning kiirendades kogu protsessi. Docker toob võimaluse oma rakendus kokku pakkida konteineriks ja paigaldada see praktiliselt igale poole tehes süsteemi ülimalt paindlikuks.
Erinevad orkestreerimissüsteemid aitavad kogu infrastruktuuri automatiseerida ja viia haldamiskulud miinimumini. Kõik see aitab kokku hoida raha, ressursse ja aega ning, mine tea, ehk ka rohkem kasumit toota.
Docker? Konteinerid? Orkestreerimine???
Selleks, et paremini aimu saada, mis Docker ja konteinerid üldiselt on, vaatame seda järgmist skeemi:
Joonis 1: Tehniline erinevus virtualiseerimise (vasakul) ja konteinerite (paremal) vahel
Virtualiseerimine on eraldatud kiht riistvara pealt, mis muudab ühe serveri mitmeks serveriks. Virtualiseerimine võimaldab jooksutada ühel masinal mitut virtuaalmasinat. Iga virtuaalmasin on omaette operatsioonisüsteemi koopia, mis võib kokku võtta 10+ GB ruumi ning ka käivitumine on üldjuhul päris aeglane.
Konteiner on teisalt poolt aga eraldatud kiht, mis koosneb ainult rakenduse koodist ning selle eeldustest. Ühel masinal võib joosta mitmeid konteinereid ning need jagavad sama masina operatsioonisüsteemi komponente, jooksutades igat konteinerit oma isoleeritud keskkonnas. Konteinerid üldjuhul võtavad väga vähe ruumi, jäädes 100MB ringi ning käivituvad pea koheselt.
Väga paljud ettevõtted üle maailma on hakanud kasutama konteinereid
Konteinerite kasutamine toob kaasa üsna palju plusse nii tehnilise kui ka ärilise (sh rahalise) poole pealt.
- Ehita korra ja kasuta kõikjal
Kuna konteinerid kasutavad põhimasina operatsioonisüsteemi komponente, teeb see nende ümbertõstmise väga kergeks. Ühe korra ehitad konteineri valmis ja võid selle praktiliselt ükskõik kuhu paigaldada.
Ei pea pead vaevama ega aega kulutama, et igal serveril oleksid vastavad eeldused paigaldatud, sest konteineris on kõik vajalik olemas.
- Konteinerid aitavad kokku hoida aega, ressursse ja raha
Praegustel virtuaalmasinatega lähenemistel on olnud probleemiks liigne keerukus. Spetsialist peab eraldi iga uuenduse ajal käsitsi sisse viima muudatusi, taaskäivitama teenuseid ja monitoorima, et kõik ikka töötaks.
Konteineritega on kogu selle töö automatiseerimine lihtne. Arendaja töö piirdub ainult uuenduste üleslaadimisega.
Orkestreerimissüsteemid automaatselt ehitavad valmis uued konteinerid, asendavad need vanadega ning jälgivad, et süsteemid püsivad töökorras.Kõik see vähendab kõvasti ajakulu ning ressursse, mis on vajalik iga uuenduse paigaldamisel ja lõppkokkuvõttes aitab kokku hoida ca. 80% süsteemi halduskuludest.
- Suurem rakenduste stabiilsus ja kättesaadavus
Konteinerid ise on väga väikesed, pea 10x võrreldes tavapäraste virtuaalmasinatega. See ruumi kokkuhoid võimaldab meil rohkem konteinereid jooksutada, kasvõi ühte sama rakendust replikeerides.
Paljudes orkestreerimissüsteemides saab ühte rakendust replikeerida mitme konteineri peale ehk kui rakenduse ühe konteineriga peaks midagi juhtuma ning see ei reageeri, suunab süsteem liikluse sealt ümber teistele töötavatele konteineritele.
See aitab tagada võimalikult suure kättesaadavuse klientidele ning ei pea nägema lõputult keerlevat laadimisanimatsiooni.
- Kõike saab automatiseerida
Konteineritega ja orkestreerimissüsteemidega saab vähendada inimeste sekkumist rakenduse eluikka. Orkestreerimissüsteemid saavad ise automaatselt teostada rakenduse uuendusi, monitoorida konteinerite seisukorda, vajadusel asendada vanu uutega ning samuti tipptundide korral suurendada teenuste ressursse, et ükski klient ei peaks kogema aeglast rakenduse laadimist.
Konteinerid on tulevik
Enamus ettevõtetest, kes on üle läinud konteinerite baasil rakendustele ei ole seda veel kordagi kahetsenud, kuna tegemist on väärt investeeringuga, mis aitab kulusid vähendada ja äri arendada.
Ka meie kasutame igapäevaselt Dockerit ja konteinereid, et vähendada arendamisele kuluvat aega.