Miért pont a Docker container technológiát használjuk az összes projektünknél?
Jelenleg a Docker az egyik legelterjedtebb container framework. Az IT-s világ legnagyobb szereplői, a Google és az Amazon is ezt használja. A Stylers is a Docker mellett tette le a voksát, ma már minden projektünknél a Docker container technológiát használjuk. (Korábban a Vagrantot alkalmaztuk, de egy éve már csak a Docker jöhet szóba nálunk!) Több Docker workshopot is tartottunk a srácoknak, amelyek segítségével jobban megismerkedhettünk a technológiával.
A virtuális gépektől a containerekig
A virtuális gépek (VM) és a containerek azonos problémára adnak megoldást: mindkettővel izolálni lehet egy applikációt és annak összes függőségét egy bárhol futtaható egységbe, vagyis mindkettő egy teljesen elkülönített, virtualizált környezetet biztosít, és mindkettőnek a gazdaszámítógép szolgáltat erőforrásokat. A két megoldás közötti különbég az architektúrában keresendő.
Minden VM a teljes szoftver- és hardver stacket tartalmazza, amin futnak az alkalmazások, így a VM a gazdaszámítógép erőforrásait terheli, és ha egyszerre több VM-et futtatunk, mindnek a RAM-on, CPU-n stb. kell osztozniuk.
A VM-mel ellentétben a container nem az egész stacket, hanem csak a felhasználói teret virtualizálja, minden más erőforrás közös. Tehát minden container osztozik a többi containerrel a gazda kerneljén, így csak az alkalmazásokhoz kötődő könyvtárak, binárisok és a felhasználó terület része a csomagnak, maga a virtualizált hardver és az OS nem. Összehasonlítva a két technológiát, a container sokkal kisebb overheaddel rendelkezik, mint a VM.
Mire föl ez az óriási hype a Docker technológia iránt?
Nem kétséges, ma már szinte az egész IT-s szakma használja a Docker container technológiát. Nézzük meg, miért:
- Könnyű használni
A Dockerrel bárki fejleszthet és becsomagolhat egy alkalmazást akár a laptopján is, ami egy teljesen másik környezetben, általában egy cloud szerveren futtatva is ugyanúgy fog működni. Mivel a Stylersnél remote is lehet dolgozni, így számunkra tökéletes megoldás ez a technológia. - Kicsik és gyorsak
A Docker containerek kicsik és gyorsak, mivel csak egy, kevés erőforrást használó, kernelen futó sandbox környezetről van szó esetükben. - Modulárisak és skálázhatók
A Dockerrel nagyon egyszerűen feldarabolhatjuk az alkalmazásunkat különböző containerekbe. - Szinte minden platformra elérhető
Alapvetően a Docker minden platformra elérhető (Windows, OsX, Linux), amivel sokoldalú használhatóságot biztosít. Mivel a Stylersnél leginkább Linuxon dolgozunk, a Docker minden ilyen irányú igényünket kielégíti.
Hátrányai között talán csak annyit tudok megemlíteni, hogy nagyon sok megközelítése és használata van, sokszor nincs kimondva, leírva, ezt-azt hogyan csináld, neked kell rájönnöd, ami kicsit időigényes, de ez már csak így van az IT szakmában. 🙂
Ha közelebbről is szeretnéd megismerni a Docker technológiát, akkor Braining Hub képzési centrumnál elérhető csapatod számára Docker képzésünk.