U profesionalnim IT krugovima, posebno među specijalistima za data-centre, Docker je mesecima unazad izuzetno važna tema. Naročito od juna prošle godine, kada je verzija 1.0 ugledala svetlost dana. Ali zašto se o Dockeru toliko priča? U ovom tekstu ćemo vam dati osnovni pregled ove tehnologije, koja u velikoj meri podseća na tehnologiju virtuelizacije…
Arhitektura i virtualizacija
Docker je tehnologija za kreiranje softverskih kontejnera, što su paketi pojedinačnih aplikacija koji sadrže sve neophodno za pokretanje i izvršavanje. Na jednom serveru može da se izvršava više kontejnera istovremeno, ali sve mora da pokreće isti operativni sistem. U odnosu na upotrebu virtuelnih mašina, postavka sistema je manje kompleksna, na serveru je potrebno da postoji osnovni operativni sistem i softver koji omogućava upotrebu kontejnera, odnosno u konkretnom slučaju Docker Engine.
S druge strane, za korišćenje tradicionalne virtuelizacije, potreban je odgovarajući hajpervizor, a svaka pojedinačna virtuelna mašina mora da ima instaliran sopstveni operativni sistem na kojem se željena aplikacija izvršava. VM su zato fleksibilnije - jer ne zavise od osnovnog operativnog sistema, ali su softverski kontejneri znatno manje kompleksni i efikasniji si u iskorišćavanju resursa, što omogućava da se na istom serveru pokreće 4 do 6 puta više kontejnera! To za kompanije znači ozbiljnu uštedu; u slučaju velikih kompanija radi se o milionima dolara na godišnjem nivou.
Tehnologija softverskih kontejnera nije nova. FreeBSD je sistemom Jails ovu ideju prvi implementirao još 2000. godine. Oracle je nešto slično razvio u Solaris OS-u (Zones), dok se u skorije vreme u open source zajednici radilo na projektima OpenVZ i LXC (Linux Containers). Manje je poznato da Google ima i sopstvenu kontejnersku tehnologiju lmctfy (Let Me Contain That For You) koju koristi da korisnicima isporuči aplikacije kao što su Search, Gmail, Docs…
Docker je učestvovao u razvoju LXC tehnologije i iskoristio je kao osnovu svog rešenja, a ključna razlika koju donosi na tržište su pouzdanost i laka upotreba. Deo toga je zahvaljujući bliskoj saradnji sa kompanijama Google, Parallels, Canonical, Red Hat i drugima, na standardizaciji osnovne open source komponente libcontainer.
Cloud
Pored toga, Docker je omogućio lako pokretanje kontejnera u cloud okruženju, odnosno napravio ih je tako da se lako integrišu u većinu DevOps aplikacija, uključujući Puppet, Chef, Vagrant i Ansible, i olakšava mnoge poslove koje obično obavljaju te aplikacije. Zato je Docker posebno koristan da se, na primer, pokrene pokrene više development okruženja sa različitim podešavanjima, ili za sprovođenje testiranja, ili da se omogući rad više ljudi na istom projektu sa identičnim podešavanjima…
Ukratko, kontejnerska tehnologija olakšava pokretanje više aplikacija na jednom serveru, što znači ozbiljne uštede za korisnike, kao i jednostavnije održavanje sistema. Docker je najbolja implementacija ove tehnologije, koja je je početkom februara stigla do verzije 1.5 i kao najbitniju novost donela podršku za IPv6. Očekuje se njen dalji ubrzan razvoj i sve šira implementacija, posebno u data-centrima velikih kompanija.
0 komentara