Mik azok a konténerek?

Manapság a csapból is konténerek folynak. De mik azok a konténerek? Mi szükség van rájuk? Ebben a postban ezekre a kérdésekre próbálunk választ adni.

container

Ahhoz hogy válaszolni tudjunk ezekre a kérdésekre további kérdéseket kell feltenni és megválaszolni. Amikor azon kezdenél gondolkodni, hogy a konténerek hogyan illeszkednek a világodba, fel kell tenned ezeket a kérdéseket:

  • Hol fejleszted az alkalmazásod?
  • Hol fogod tesztelni az alkalmazást?
  • Hova fogod szállítani az alkalmazást?

Az alkalmazásodat valószínűleg a fejlesztői gépeden fejleszted, amint megvan minden szükséges könyvtár, csomag, eszköz és a futtatáshoz szükséges keretrendszer. A tesztelés meg valószínűleg egy célgéphez hasonló platformon történik. Probléma az, hogy nem minden környezet egyforma; mindegyiken más eszközök, keretrendszerek és könyvtárak lehetnek. Előfordulhat, hogy az alkalmazás, ami fejlesztői gépen tökéletesen működik, a cél környezetben már nem fog.

A konténerek ezt a problémát oldják meg. A konténer kép egy pehelysúlyú, egyedülálló végrehajtható szoftver darabka, ami tartalmaz minden a futtatásához szükséges dolgot: kód, végrehajtó, rendszereszközök, rendszer könyvár, beállítások.

Ez azt jelenti, hogy egy konténerbe csomagolt alkalmazás esetében az alapul szolgáló környezet nem igazán számít. Bárhol futhat, még összetett felhős környezetben is. A számos ok közül ez az egyik, amiért a konténerek olyan népszerűek a fejlesztők és az IT menedzserek körében.

Konténerek fejlesztőknek

A fejlesztőknek és az operátoroknak ezentúl nem kell azon aggódniuk, hogy milyen platformokat használnak az alkalmazások futtatásához. A fejlesztőknek már nem kell többé az mondaniuk, hogy "az én gépemen működött".

A konténerek másik nagy előnye az izoláció és a biztonság. Mivel a konténerek elszigetelik az alkalmazást a platformtól, az alkalmazás biztonságos marad és biztonságban tart mindent. Lehetséges, hogy különböző csapatok egyidejűleg különböző alkalmazásokat futtathassanak ugyanazon az infrastruktúrán. Ez hagyományos alkalmazásoknál nem lehetséges.

Ez nem az amit a virtuális gépek tudnak? Igen és nem. A virtuális gépek ugyanúgy izoláltan működnek, de ez rengeteg erőforrásba kerül. A Canonical összehasonlította a konténereket és a virtuális gépeket és megállapította, hogy

A konténerek virtualizáció új formáját kínálják, és közel azonos szintű erőforrás-elkülönítést biztosítanak, mint a hagyományos hipervizorok. Azonban a konténerek alacsonyabb memória használat mellett nagyobb hatékonyságot mutatnak. Ez azt jelenti, hogy ugyanazon a hardveren, nagyobb sűrűség érhető el -- egyszerűen fogalmazva többet lehet kihozni ugyanabból a hardverből.

Ezenkívül a virtuális gépeken tovább tart az alkalmazások indítása, míg a konténerek használatával ez másodpercek alatt lezajlik.

Konténerek az ökoszisztémához

Az értékesítők és a megoldások hatalmas ökoszisztémája lehetővé teszi a vállalatok számára, hogy a konténereket skálázottan szállítsák, attól függetlenül, hogy szükség van-e irányításra, ellenőrzése, naplózásra vagy életciklus menedzsmentre.

Annak érdekében, hogy a konténerek mindenhol futtathatók legyenek, a konténer-ökoszisztéma összefogott és megalapította az Open Container Initiative-ot (OCI). Ez a Linux Foundation projektje, aminek feladata a konténerek két alapvető komponensének specifikációjának létrehozása: konténer futtatókörnyezet és konténer képformátum. Ez a két specifikáció biztosítja, hogy a konténer térben ne legyen semmiféle töredezettség.

A konténerek sokáig Linux kernel specifikusak voltak, a Microsoft szorosan együttműködött a Dockerrel, hogy támogassa a konténerek a Microsoft platformján is. Ma már Linuxon, Windowson, Azure-on, AWS-es, Google Compute Enginen, Rackspacen vagy mainframe gépeken is lehet konténreket futtatni. A VMware a vSphere Integrated Container (VIC) csomagokat is alkalmazza, amelyek lehetővé teszik az informatikai szakemberek számára, hogy konténereiket és hagyományos munkafolyamataikat a platformjukon használják.

Konténerek informatikai vezetőknek

A tárolók a fent említett okok miatt nagyon népszerűek a fejlesztők körében, és nagy előnyöket nyújtanak az informatikai vezetők számára is. A konténeres munkafolyamatokra való áttérés legnagyobb előnye a vállalatok működésének megváltoztatása.

A hagyományos alkalmazásoknak körülbelül egy évtizedes életciklusuk van. Az új verziókat évtizedes munka után adják ki, és mivel platformoktól függenek, néha évek óta nem használják őket a termelésben. Ebből az életciklusból kifolyólag a fejlesztők megpróbálnak olyan sok funkciót betölteni, amennyit csak tudnak, ami az alkalmazást monolitikussá, elhízottá és hibássá teszi.

Ez az eljárás befolyásolja a cégek innovatív kultúráját. Amikor az emberek látják, hogy ötleteiket hónapokig és évekig nem építik be termékeikbe, akkor demotiváltak lesznek.

A konténerek megoldják ezt a problémát, mert felosztják az alkalmazást kisebb mikroszolgáltatásokra. A fejlesztés és a tesztelés ezentúl csak napokat vagy heteket vesz igénybe. Az új funkciók új konténerekként adhatók hozzá. Majd tesztelés után mehetnek is a termelési környezetbe. A vállalatok gyorsabban tudnak mozdulni és így versenytársak előtt maradhatnak. Ez a megközelítés hajtja az innovációt, mivel az ötleteket gyorsan át lehet alakítani gyorsan szállítható konténerekké.

Következtetés

A konténerek sok olyan problémát megoldanak, amellyel a hagyományos munkafolyamatok szembesülnek. Azonban ezek jelentenek választ minden az IT szakemberek előtt álló problémára. Ez egy a lehetséges megoldások közül.

Folyt. köv.

Forrás: linux.com