Co to jest konteneryzacja?

Jeśli słysząc o konteneryzacji, na myśl przychodzą Ci wielkie, morskie statki przewożące kontenery, to nie jest to przypadkowe skojarzenie. Podobnie jak branża logistyczna, która szukała sposobu na usprawnienie logistyki i zwiększenie upakowania, tak i branża informatyczna sięgnęła po kontenery szukając rozwiązania bardzo podobnego problemu. W tym drugim przypadku są one oczywiście wirtualne.  

Konteneryzacja w świecie IT działa tak samo, jak w transporcie – dzięki wykorzystaniu kontenerów pozwala sprawnie dostarczać rozwiązania informatyczne. W uproszczeniu aplikacje “pakuje się” w odizolowane jednostki, tworząc przenośne środowisko uruchomieniowe.  

Kontenery to „pojemniki”, które tworzą tzw. obraz, czyli ustandaryzowany pakiet oprogramowania, zawierający wszystkie niezbędne komponenty do uruchomienia aplikacji (kod źródłowy, biblioteki, pliki konfiguracyjne itp.). Kontener można przenieść i uruchomić w dowolnym środowisku i na dowolnej infrastrukturze, ponieważ izoluje on aplikację i pozwala na jej sprawne, niezależne od otoczenia działanie. Do tworzenia i usuwania kontenerów wykorzystuje się najczęściej platformę Docker. 

Dodatkowo kontenery działają niezależnie od innych uruchomionych procesów i, w odróżnieniu od maszyn wirtualnych, wirtualizują jedynie wybrane elementy systemu. Są stosunkowo lekkie, szybko się uruchamiają i mogą znacznie ułatwić pracę. Dzięki temu programiści pozbyli się ograniczeń, jakie wiążą się z kodowaniem na jednej platformie lub w jednym systemie operacyjnym. Wcześniej przenoszenie aplikacje było utrudnione, ponieważ kod mógł nie być zgodny z nowym środowiskiem. 

Niestety, wykorzystanie zalet technologii kontenerowej byłoby trudne bez narzędzi do zarządzania kontenerami, czyli do orkiestracji kontenerów. To dzięki nim procesy kontenerowe stały się zautomatyzowane, a technologia skalowalna. Zniknął też problem mniejszej wydajności w innych środowiskach, która wynikała z używania technologii kontenerów Linuksa (LXC) w najpopularniejszych systemach. Jednym z programów do orkiestracji kontenerów jest platforma Kubernetes.