( bognarattila | 2021. 05. 07., p – 07:19 )

Én ezt teljesen értem, csak az első előadás gondolatiságára akartam reflektálni a megjegyzéssel.

A virtualizáció nem a lyukkártya és a konténer között van. A virtualizáció teljesen más, a virtualizáció egy megoldásra arra, mikor a szoftvereknek teljes operációs rendszer környezetre van szükségük. A lyuk kártya és a konténer között a teljes operációs rendszer van, a második előadás nagyon szépen megfogalmazta felhő operációs rendszerként.

Tehát ha az üzlet kitalálja, hogy kell neki valamilyen szoftver, körülnéz a piacon, oda lehet tenni az elvárások közé, hogy konténerizált legyen, de ez a sor kb legvégén lesz, ami akkor lesz valós választási szempont, ha minden feljebb levőben két vagy több szoftver fej-fej mellett van. Ha olyan szoftver jobb az üzlet számára, ami nem konténerizált, akkor legfeljebb egyezkedni lehet a szállítóval, hogy konténerizálja, de az üzemeltetésnek nem biztos, hogy van ehhez kompetenciája (például nem futhat belőle több példány nemcsak licenc okokból, de technikai okokból sem), illetve nem biztos, hogy megéri erre bármennyi időt is rááldozni.

Ezzel szemben a virtualizáció arra ad válasz, ha egy szoftvernek operációs rendszer környezetre van szüksége, akkor felosztja a hardvert, hogy ne kelljen annyi vasat venni. Jártam szerver teremben 10+ éve is, amikor több száz szerver volt, mindegyiken egyetlen vacak alkalmazás futott.

Lehet, hogy rossz a hasonlatom, de a konténerek talán a Java EE-hez hasonlíthatók valamennyire azzal a különbséggel, hogy itt nemcsak Java alkalmazások lehetnek.

Visszakanyarodva a cég szoftver igényére: ha ez a szoftver nem piacról megvásárolható, hanem saját fejlesztés, ott már nyilván bele lehet (kell) tenni, hogy konténerizált legyen.

Ha virtualizációhoz akarjuk hasonlítani, akkor a virtual appliance-okat lehetne említeni, mert az hasonló dobozos szemlélet (VM Image alatt gondolom erre gondolsz, bár szerintem az kényelmetlennek nem kényelmetlen, hiszen next-next-finish-sel felmegy egy OVA).

Ugyanakkor amire kíváncsi vagyok, az az első előadás "register globals" jellegű megjegyzése. A konténerekkel nagy mértékben nő a szoftver kiadó felelőssége, hogy az, amit becsomagol, az biztonsági elvárásoknak is megfeleljen nemcsak a saját fejlesztését illetően, hanem a becsomagolt környezetet illetően is. Azaz konténeres alkalmazást nemcsak akkor kell kiadni, amikor ő funkcionálisan fejlesztett valamit, hanem ha a felhasznált komponensekhez is van frissítés. Mert lássuk be, egy  fejlesztő sokszor nem foglalkozik hasonló "apróságokkal", csak odahány valamit, mert ő üzleti logikát valósít meg. Kérdés, hogy a sok fejlesztő cég fel van-e készülve arra, hogy ezt megugorja, ez erőforrást igényel.

Hasonló a helyzet a virtual appliance-ekkel is: ki lettek kiáltva biztonságosnak stb. Csak kérdem, mitől biztonságosabb egy olyan VM, amibe a szoftver fejlesztő pakolta be a bugos HTTP szervert és nem frissíti? A felelősség kitolása nem oldja meg a rendszer biztonságát.