Kubernetes és arra épülő CaaS rendszerek robusztusságának vizsgálata és teljesítményelemzése

OData támogatás
Konzulens:
Dr. Sonkoly Balázs
Távközlési és Médiainformatikai Tanszék

A szoftver konténerek elterjedésével megjelentek a CaaS (Container as a Service) platformok. Ilyen például a Google által fejlesztett, majd nyílt projektként működő Kubernetes, amely segíti konténerizált alkalmazások fejlesztését, telepítését, skálázását és karbantartását.

Több olyan tulajdonsága is van a rendszernek, amely kedvező mind a fejlesztők, mind az üzemeltetők számára. Ilyen az AutoScaling (automatikus skálázás) és a Self-healing (öngyógyulás), melyek hozzájárulnak a teljesítmény növeléséhez és az alkalmazás robusztusságához. Sok olyan projekt van, amely a Kubernetes rendszer kibővítésével (disztribúciók), vagy a telepítés megkönnyítésével (installerek) foglalkozik. Az SAP által fejlesztett Gardener egy nyílt forráskódú installer, mely Kubernetes klaszterek menedzselését és automatizált létrehozását valósítja meg. A létrehozható klaszterek architektúrája eltér a standard Kubernetes felépítésétől, ezért fontos a két rendszer összehasonlítása.

Dolgozatomban a Gardener és Kubernetes rendszerek teljesítményét vizsgáltam különböző terhelések esetén, melyek során a rendszer AutoScaling funkciójának hatását vizsgáltam a felhasználói élményre. A rendszer válaszidejét és egyéb az állapotát leíró paramétereket mértem, ezek alapján végeztem az összehasonlítást. A mérések elvégzéséhez Openstack-en telepítésre került egy Kubernetes rendszer, valamint AWS (Amazon Web Services) környezetbe telepítettem a Gardenert, majd ezen keresztül létrehoztam még egy Kubernetes klasztert. Az eredményekből azt a következtetést vontam le, hogy az architektúrális módosítás nem hat szignifikánsan a robusztusságra és a teljesítményre, azonban az automatikus skálázás bizonyos beállításaival javulást lehet elérni. Minél gyorsabban gyűjt adatot a rendszer, és ellenőrzi a skálázódás szükségességét, annál jobb teljesítményt nyújt. A mérési eredmények alapján egy saját metrikát definiáltam, a kritikus kihasználtságot, ami teljesítmény szempontjából jellemzi a rendszert. Ezután olyan méréseket végeztem a klasztereken, amivel a kritikus kihasználtságot meghatároztam. A Gardener és Kubernetes rendszeren mért értékeket összehasonlítva szintén megállapítható, hogy nem az architektúrális változtatás, hanem az automatikus skálázás különböző beállításai befolyásolják a teljesítményt. A robusztusság- és teljesítményvizsgálat harmadik aspektusa statisztikai elemzés volt. Két-mintás t-próba segítségével mértem a rendszer különböző állapotai közötti összefüggést. Az eredményekből arra következtettem, hogy a terhelés növekedésével bekövetkező automatikus skálázódás kihat a felhasználói élményre.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.