A Unix-alapú rendszereken nyugvó konténeralapú virtualizációs technológia segítségével felépített virtuális környezetek főleg a webfejlesztésben terjedtek el. Ezzel a megoldással az adott feladat paramétereihez legmegfelelőbb, sallangmentes, a production infrastruktúrára nagyon hasonlító virtuális környezetben lehet fejleszteni. A Docker előnyeiről – amelyet vállalati képzések és workshopok keretein belül lehet elsajátítani a Braining Hubnál – a Stylers Group fejlesztői, Nagy Gábor és Nagy Szilveszter osztották meg tapasztalataikat.
A komplett virtuális gépek felépítése régóta elterjedt gyakorlat, ilyenkor azonban rengeteg felesleges részlet is elkészül. „A hagyományos virtuális gépek esetén egy komplett operációs rendszert kell felépíteni, amelyben még a Paint is benne lesz – vagyis rengeteg olyan dolog, amely az adott feladathoz nem szükséges” – mondja Gábor, hozzátéve: „A Docker ezzel szemben a host operációs rendszer kernelére támaszkodva virtuálisan választ le rétegeket a rendszerben, így izolált virtuális környezetek jönnek létre.”
Minden lehetőség kihasználása egyetlen gépen belül
A megoldás hatalmas előnye a régimódi skálázáshoz képest, hogy segítségével maximalizálni lehet a hardver erőforrásait – ezért is alakult ki ez az irány, amelyben nem a számítógépeket sokszorozzák a nagyobb teljesítmény érdekében, hanem egy gépen belül próbálják meg kihasználni a lehetőségeket. Ahogy Szilveszter fogalmaz: „Nincs szükség egy teljes virtuális operációs rendszer felhúzására, mivel nem több gépről beszélünk, hanem szolgáltatás-összetevőkről.”
Előnyéből fakad az egyik hátránya is: mivel a hagyományos virtuális gépekhez képest (ahol teljesen izolált környezetben lehet más operációs rendszert futtatni) nincs meg a 100%-os izoláció a host számítógéptől, akadnak benne biztonsági rések is, de ezeket folyamatosan foltozzák, a meglévő sérülékenységekről pedig rengeteg cikk érhető el a neten, vagyis jól nyomon követhető, hogy hol lehetnek még problémák.
Ezzel együtt nagymértékben tudja segíteni a termékek élesítését és a frissítést is. Ha ugyanis nem minden összetevőt akarunk frissíteni, akkor a Docker egy négylábú székként működik: az egyik lábat kivéve a maradék hármon is stabilan futhat az alkalmazás.
Ha megvan a tudás, szinte kötelező használni
Szilveszter és Gábor elmondása alapján a Stylersnél már szinte nincs is olyan projekt, amelyben nem használják a Dockert, olyan mértékben könnyíti meg a fejlesztők munkáját. Ráadásul gombamód terjed, az utóbbi fél évben rengeteg szolgáltatás is épült rá, amelyek segítségével immár Mac OS-ben is sokkal gördülékenyebb a működése. Emellett egyre több szoftvert adnak ki kész Docker image-ként.
Azt a két tapasztalt fejlesztő is elismeri, hogy akadhatnak nehézségek is. „Nagyon könnyű rosszul használni, ezért fontos az alapos tudás. Amit egy jól felépített Docker image meg tud csinálni tíz másodperc alatt, az akár egy órát is elvehet, ha porszem került a gépezetbe. Ez a saját Docker image-ek esetén fordulhat elő, készek használatánál viszont ez a probléma nem állhat elő, ha a fejlesztő odafigyel a forrásra. Itt is igaz, hogy nem szabad akármihez hozzányúlni, mert baj lehet belőle, de szerencsére rengeteg a megbízható forrás is” – mondta Gábor.
A két fejlesztő egyetért abban, hogy megfelelő alapokra építve a Docker ismeretek elsajátítása nem különösebben nehéz – de ez természetesen mindig az adott személytől függ leginkább. És hogy mik a megfelelő alapok? IT vagy rendszergazdai alapismeretek, a Linux és a Unix ismerete, valamint egy minimális üzemeltetői tudás. „Nem gondolnám, hogy senior szinten kell lenni hozzá, egy jól képzett junior is nyugodtan belevághat a Dockerbe” – mondja Gábor.
Egyre népszerűbb, megrendelői igényekre szabott anyag
A Braining Hubnál a Docker képzés hossza nagymértékben függ a megrendelői igényektől és attól, hogy pontosan mire akarják használni a megszerzett tudást. 2×8 órás tanfolyam éppúgy előfordult ebben a témakörben, mint 5×8 – ha egészen az alapoktól kell kezdeni, akkor inkább a több óra jellemző, de az is előfordul, hogy már van valamilyen ismerete a résztvevőknek.
A létszámot tekintve a maximum a 15 fő, ilyenkor még nincs fókuszvesztés a kifejezetten gyakorlatorientált órák során, amelyeket a megrendelő igényei alapján akár kihelyezetten is meg tud tartani a Braining Hub. A tapasztalat itt az, hogy 3-4 fő fölött már jellemzőbb az ilyen igény, inkább a kisebb csoportok azok, akik elmennek a képzési helyszínre.
A Docker népszerűsége és folyamatos fejlődése várhatóan jelentősen fokozza majd az ilyen képzések iránti igényt is, amelyeket a Braining Hub továbbra is a megrendelő igényeit maximálisan figyelembe véve alakít majd mindig a megfelelő formára.