Increasing availability of stateful micro-services in orchestrated container systems
Abstract
Stateful microservices are essential components in modern cloud computing environments. This research delves into the complexities and challenges of ensuring the reliability and availability of stateful microservices in container orchestration systems such as Kubernetes and Docker Swarm. Unlike stateless microservices, stateful microservices handle critical data, making their management and recovery more intricate and resource-intensive. The research highlights various existing methodologies to enhance the reliability of these services, including resource optimization, machine learning-based predictions, and custom schedulers.
A significant focus of the research is the impact that maintenance activities have on the availability of stateful microservices. The dissertation proposes a method for loosely coupled, transparent failover, which minimizes downtime by observing database connection activity and terminating idle client connections, thereby redirecting requests with minimal client impact. This method was validated through experiments, achieving near-zero downtime during failover operations.
Another critical aspect explored is burst tolerance in stateful microservices. The proposed rule-based method enhances burst tolerance through write-scaling and load balancing, distributing burst workloads across multiple nodes. This approach reduces failure rates and extends operational time under burst conditions, significantly improving service availability. Experimental results demonstrate that this method allows stateful microservices to sustain burst loads for nearly twice as long as traditional methods.
Additionally, the research investigates the influence of various factors such as load intensity, load balancer type, request length, and connection type on the availability of database clusters during failover. The findings indicate that load balancers operating at the 1st OSI level provide higher availability than those operating at the 4th OSI level.
The dissertation results were published in four scientific publications, two of which were in reviewed scientific journals indexed in the Web of Science database, and presented at two international conferences. Būsenas išlaikantys mikroservisai yra esminiai komponentai šiuolaikinėse debesų kompiuterijos aplinkose. Šiame tyrime gilinamasi į kompleksiškumą ir iššūkius, kylančius užtikrinant būsenas išlaikančių mikroservisų pasiekiamumą ir prieinamumą konteinerių koordinuoto valdymo sistemose, tokiose kaip „Kubernetes“ ir „Docker Swarm“. Skirtingai nuo būsenos nelaikančių mikroservisų, būsenas išlaikantieji tvarko duomenis, todėl jų valdymas ir atkūrimas yra sudėtingesnis ir reikalaujantis daugiau pastangų. Tyrime analizuojamos įvairios egzistuojančios metodikos, skirtos padidinti šių paslaugų patikimumą, įskaitant išteklių optimizavimą, mašininio mokymosi prognozes ir tinkintus planuoklius.
Vienas iš svarbių tyrimo dėmesio objektų yra priežiūros darbų poveikis būsenos turinčių mikroservisų prieinamumui. Disertacijoje siūlomas žemos sąsajos, skaidraus mazgų perjungimo metodas, sumažinantis prastovas, grįstas duomenų bazės klientų aktyvumo stebėjimu ir nenaudojamų klientų sesijų nutraukimu. Taip užklausos yra nukreipiamos į kitus mazgus su minimaliu poveikiu klientui. Šis metodas buvo patvirtintas eksperimentu, pasiekiant nereikšmingo dydžio įtaką mazgų perjungimo metu.
Kitas svarbus nagrinėjamas aspektas yra būsenas išlaikančių mikroservisų atsparumas staigiai padidėjusiai apkrovai. Siūlomas taisyklėmis paremtas metodas grįstas rašymo užklausų masteliavimu ir apkrovos balansavimu, paskirstant padidėjusį darbo krūvį tarp kelių mazgų. Šis metodas sumažina nepavykusių užklausų skaičių ir pailgina veikimo laiką staigiai ir reikšmingai pakilusios apkrovos sąlygomis, žymiai pagerindamas paslaugų prieinamumą. Eksperimentiniai rezultatai rodo, kad šis metodas leidžia būsenas išlaikantiems mikroservisams atlaikyti padidėjusią apkrovą beveik dvigubai ilgiau nei taikant tradicinius metodus.
Taip pat tyrime nagrinėjama įvairių veiksnių, tokių kaip apkrovos intensyvumas, apkrovos balansavimo įrenginio tipas, užklausos ilgis ir ryšio tipas, įtaka duomenų bazių klasterių prieinamumui perjungimo tarp mazgų metu. Išvados rodo, kad apkrovos balansavimo įrenginiai, veikiantys 1-ajame OSI lygyje, užtikrina didesnį prieinamumą, palyginti su apkrovos balansavimo įrenginiais, veikiančiais 4-ajame OSI lygyje.
Disertacijos rezultatai buvo paskelbti 4 moksliniuose straipsniuose, iš kurių 2 – recenzuojamuose mokslo žurnaluose, indeksuotuose Web of Science duomenų bazėje, ir pristatyti 2 tarptautinėse konferencijose.
