Pojem
Kontajnerizácia
Balenie aplikácie spolu so všetkým, čo potrebuje na beh, do izolovaného kontajnera, ktorý funguje rovnako na notebooku vývojára, serveri aj v cloude. Zjednodušuje nasadzovanie a škálovanie softvéru.
Aktualizované
Čo to znamená
Kontajnerizácia je zabalenie aplikácie spolu so všetkým, čo potrebuje na beh, teda knižnicami, nastaveniami a závislosťami, do izolovaného kontajnera. Kontajner sa správa rovnako na notebooku vývojára, na testovacom serveri aj v produkcii v cloude, čo odstraňuje známy problém, že u mňa to funguje.
Na rozdiel od virtuálneho počítača kontajner neobsahuje celý operačný systém, ale zdieľa jadro hostiteľa. Je preto ľahší, spúšťa sa za sekundy a na jednom serveri ich môže bežať oveľa viac. Najznámejším nástrojom je Docker, ktorý spopularizoval formát obrazov kontajnerov.
Kontajnerizácia sa často spája s architektúrou mikroslužieb, kde je aplikácia rozdelená na menšie samostatné časti. Každá beží vo vlastnom kontajneri, dá sa nezávisle nasadiť a škálovať, a na riadenie veľkého počtu kontajnerov slúžia orchestrátory ako Kubernetes.
Ako to funguje v praxi
Pre vývojový tím kontajnery zjednodušujú nasadzovanie. Obraz aplikácie sa zostaví automaticky v procese CI/CD, otestuje sa a ten istý obraz sa nasadí do produkcie. Rozdiely medzi prostrediami miznú a návrat na predchádzajúcu verziu je otázkou minút.
Pre firmu, ktorá si dáva vyvíjať softvér, je kontajnerizácia výhodou pri zmene dodávateľa alebo hostingu. Aplikácia zabalená v štandardných kontajneroch sa dá presunúť k inému poskytovateľovi cloudu ľahšie než systém nainštalovaný ručne na konkrétnom serveri.
Kontajnery dobre zapadajú do kultúry DevOps, kde vývoj a prevádzka spolupracujú. Infraštruktúra je popísaná v súboroch, ktoré sa verzujú spolu s kódom, takže je zrejmé, kto čo zmenil, a prostredie sa dá kedykoľvek znovu vytvoriť.
Na čo si dať pozor
Kontajnery nie sú automaticky bezpečné. Obrazy často obsahujú zastarané knižnice so známymi zraniteľnosťami a prístupové heslá sa nesmú vkladať priamo do obrazu. Potrebné je pravidelné skenovanie obrazov, aktualizácie a správa tajomstiev mimo kódu.
Pri malej aplikácii môže byť kontajnerizácia s orchestráciou zbytočne zložitá a drahá na správu. Jednoduchší web či interný nástroj často lepšie poslúži spravovaná platforma alebo serverless riešenie, kde sa o servery a kontajnery stará poskytovateľ.
Potrebujete pojem vysvetliť na vašej konkrétnej situácii? Konzultácie od 55 € / hodina bez DPH, podľa témy a zložitosti.