Sheganaku, G. (2017). Optimized auto scaling of elastic processes in the cloud using docker containers [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2017.42693
Optimization; Operations Research; Cloud Computing; Mixed Integer Linear Programming (MILP); Mathematical Programming; Business Processes; Virtualization; Container Technologies; Docker; Simulation
en
Abstract:
Mit der zunehmenden Verbreitung von Software-Services setzen Unternehmen vermehrt auf vernetzte Geschäftsprozesse, die das Zusammenspiel einzelner Services orchestrieren. Die praktisch unbegrenzte Verfügbarkeit von Rechenressourcen in Cloud-Umgebungen, ermöglicht eine schnelle, bedarfsgerechte Bereitstellung von elastisch skalierenden Prozessen. Aufgrund der typischerweise in volatilen Prozesslandschaften auftretenden Lastschwankungen sind eine optimale Ressourcenallokation und Prozessplanung jedoch komplexe Aufgaben. In dieser Arbeit widmen wir uns der Herausforderung einer kostenoptimierten Prozessausführung in skalierbaren Umgebungen und nutzen dabei Techniken aus den Bereichen elastische Prozesse, Operations Research und Cloud Computing. Basierend auf früheren Arbeiten, die virtuelle Maschinen (VMs) als Zuweisungs-Einheiten verwenden, stellt diese Arbeit einen neuartigen Optimierungsansatz vor, der eine automatische Skalierung über vier Dimensionen ermöglicht – vertikal und horizontal, für VM- und Container-Instanzen. Unsere Lösung ermöglicht die Zuordnung von Diensten zu leichtgewichtigen Containern, und stellt damit eine präzisere Kontrolle über Ressourcen für Prozessausführungen bereit. Wir definieren das Optimierungsproblem als ein Mixed Integer Linear Programming (MILP) Modell und wenden Heuristiken an, die den Suchraum unter Berücksichtigung der Ressourcen-, Kosten- und Qualitätsbeschränkungen reduzieren, wobei VM- und Container-Eigenschaften des zugrundeliegenden Systems mit einfließen. Der Ansatz wird mithilfe eines handelsüblichen solvers implementiert, und das Optimierungsergebnis wird als Teil einer neu konzipierten container-basierten Middleware ausgeführt. Zusätzlich führen wir eine Komponente zur Zeitdiskretisierung ein, mit der wir realistische Szenarien über einen längeren Zeitraum simulieren können. Unsere umfangreiche experimentelle Evaluierung unter verschiedenen Konfigurationen zeigt erhebliche Kosteneinsparungen und eine bessere Ressourcennutzung unseres Ansatzes im Vergleich zu bisher vorgeschlagenen VM-basierten Ansätzen, ohne einen negativen Einfluss auf die Einhaltung von Dienstgütevereinbarungen auszuüben.
de
With software services becoming ever more ubiquitous, organizations are increasingly relying on interconnected business processes that orchestrate the interplay of individual services. The virtually unlimited computing resources available in cloud environments facilitate rapid, on-demand deployment of elastically scaling processes. Yet, due to the load fluctuations typically encountered in volatile process landscapes, optimal resource allocation and process scheduling are complex tasks. In this work, we address the challenge of cost-optimized process execution in scalable environments, leveraging techniques from the fields of elastic processes, operations research, and cloud computing. Based on previous work that uses Virtual Machines (VMs) as scheduling units, this thesis presents a novel optimization approach that allows for auto-scaling over four dimensions: vertically and horizontally, for both VM and container instances. Our solution enables allocation of services to lightweight containers, leading to more fine-grained control over resources for process executions. We define the optimization problem as a Mixed Integer Linear Programming (MILP) model, and apply heuristics that reduce the search space while still considering all resource, cost, and quality constraints, as well as VM and container characteristics of the underlying system. The approach is implemented using an off-the-shelf solver, and the optimization result is executed as part of a newly designed container-based middleware. We additionally introduce a time discretization framework that allows us to simulate long-running, realistic scenarios. Our extensive experimental evaluation under various configurations shows substantial cost savings and better resource utilization as compared to recently proposed VM-based approaches, without sacrificing adherence to service level agreements (SLAs).