title: Optimizing Container Elasticity for Microservices in Hybrid Clouds
Creators: name: Wais, Alexander
Publisher: name: TU Wien
Year: 2021
Subjects: subject: Elastizität
subject: Container
subject: Microservices
subject: Co-Location
subject: Hybrid Clouds
subject: Genetischer Algorithmus
subject: Elasticity
subject: Containers
subject: Microservices
subject: Co-Location
subject: Hybrid Clouds
subject: Genetic Algorithm

description: Containerisierte Microservices stellen den aktuellen Stand der Technik für das Deployment von komplexen Software-Applikationen in der Cloud dar. Durch die Nutzung von Platform-as-a-Service- oder Container-as-a-Service-Angeboten (PaaS bzw. CaaS) können die für die Bereitstellung von Containern benötigten Rechenkapazitäten rasch entsprechend den Bedürfnissen einer Organisation skaliert werden. Bestehende Ansätze setzen zur Optimierung der Elastizität solcher Systeme fortgeschrittene Skalierungsmethoden ein, um Container und/oder virtuelle Maschinen (VMs) vertikal oder horizontal zu skalieren – dabei sind Kosteneffizienz und Dienstgüteanforderungen meist die primären Treiber. Das Lösen derartiger Optimierungsprobleme erweist sich jedoch oft als schwierig, da sich je nach Optimierungsansatz zu lange, nicht praktikable Laufzeiten ergeben können. Des Weiteren sind Aspekte wie die Berücksichtigung von Netzwerklatenzen zwischen kommunizierenden Microservices, insbesondere zusammen mit hybriden Cloud-Deployments und in Kombination mit fortgeschrittenen Skalierungsmethoden, Gegenstand offener Forschungsfragen. In dieser Arbeit greifen wir diese Aspekte in einem vereinheitlichten Ansatz für ein CaaS-Modell auf, welches (i) die elastische Skalierung von Containern und VMs, (ii) mehrere Datencenter in hybriden Clouds, und (iii) Co-Location von Containern im Hinblick auf deren Interaktionsaffinität und Netzwerklatenzen berücksichtigt. Das zugrundeliegende Optimierungsmodell wird mittels ganzzahliger linearer Optimierung (ILP) formuliert. Wir implementieren Cooper, eine auf der MAPE-K-Rückkopplungsschleife basierende Middleware, die zwei verschiedene Optimierungsansätze ermöglicht: Eine exakte Optimierung basierend auf dem ILP-Modell mittels IBM CPLEX, sowie einen heuristischen Ansatz, der einen genetischen Algorithmus verwendet um kürzere Laufzeiten für große Probleminstanzen bei gleichzeitig guten Ergebnissen zu erzielen. Abschließend evaluieren wird die vorgestellten Optimierungsansätze mittels simulierter Szenarien und stellen einen Vergleich von Laufzeiten, Kostenersparnissen und Latenzreduktionen an. Als Vergleichsbasis dient dabei ein einfacher heuristischer Ansatz, welcher einen First-Fit-Algorithmus einsetzt. Die Ergebnisse für den genetischen Algorithmus weisen eine Latenzreduktion von 30% und Kostenersparnisse von 8% in einem mittelgroßen Szenario aus. Die ILP-basierte Optimierung erweist sich aufgrund des übermäßigen Ressourcenbedarfs als nicht praktikabel, mit Ausnahme von sehr kleinen Probleminstanzen. Das Weglassen des Co-Location-Aspekts in der ILP-Optimierung ermöglicht jedoch die Anwendung in größeren Szenarien.
description: Containerized microservices have become the state-of-the-art deployment style for large software applications in the cloud. Using the benefits of Platform as a Service (PaaS) or Container as a Service (CaaS) offerings, the underlying computational resources required to provision containers can be quickly scaled in an automated manner according to an organization’s needs. Several approaches exist to improve elasticity of such systems by applying smart scaling decisions to resources, such as vertical or horizontal scaling of containers, Virtual Machines (VMs), or both, with the primary goals being optimization for cost efficiency and Quality of Service. However, solving such optimization problems is a tricky task in existing approaches, as runtimes can become infeasible for large systems depending on the applied optimization technique. Further aspects, such as considering request latencies between communication-affine microservices in particular when deployed in a hybrid cloud environment, combined with advanced elastic scaling methods, are subject to open research challenges. In this thesis, we propose an approach to address these challenges in a unified CaaS system model which considers (i) elastic scaling of containers and VMs, (ii) multiple data centers in hybrid clouds, and (iii) co-location of containers based on interaction affinity and network latency. The underlying optimization problem is formulated as an Integer Linear Programming (ILP) model. We implement Cooper, a middleware based on the well-known MAPE-K feedback loop, which provides two different optimization techniques: An exact approach based on the ILP model using IBM’s CPLEX optimizer, and a heuristic approach based on a Genetic Algorithm that aims for better runtime performance of large problem instances while still achieving good results. Finally, we evaluate the proposed approaches based on simulated scenarios, and provide a comparison with regard to runtime, cost savings and latency reduction. As a baseline, we employ a simple heuristic approach based on a First-Fit algorithm. Results show that the Genetic Algorithm achieves a latency reduction of 30% and cost savings of 8% in a medium-sized scenario. The ILP-based approach shows to be not feasible due to the performance limitations caused by its excessive resource demands, except for very small problem instances. However, dropping the latency-aware co-location aspect in the ILP optimization enables it to accomplish larger scenarios.