Modellbildung und Umsetzung von Methoden zur energieeffizienten Nutzung von Containertechnologien
- Die Nutzung von Cloud-Software und skalierten Web-Apps sowie Web-Services hat in den letzten Jahren extrem zugenommen, was zu einem Anstieg der Hochleistungs-Cloud-Rechenzentren führt. Neben der Verbesserung der Dienste spiegelt sich dies auch im weltweiten Stromverbrauch von Rechenzentren wider, der derzeit etwas mehr als 1% (entspricht etwa 200 TWh) beträgt. Prognosen sagen für die kommenden Jahre einen massiven Anstieg des Stromverbrauchs von Cloud-Rechenzentren voraus. Grundlage dieser Bewegung ist die Beschleunigung von Administration und Entwicklung, die unter anderem durch den Einsatz von Containern entsteht. Als Basis für Millionen von Web-Apps und -Services beschleunigen sie die Skalierung, Bereitstellung und Aktualisierung von Cloud-Diensten.
In dieser Arbeit wird aufgezeigt, dass Container zusätzlich zu ihren vielen technischen Vorteilen Möglichkeiten zur Reduzierung des Energieverbrauchs von Cloud-Rechenzentren bieten, die aus
einer ineffizienten Konfiguration von Containern sowie Container-Laufzeitumgebungen resultieren. Basierend auf einer Umfrage und einer Auswertung geeigneter Literatur werden in einem ersten Schritt wahrscheinliche Probleme beim Einsatz von Containern aufgedeckt. Weiterhin wird die Sensibilität von Administratoren und Entwicklern bezüglich des Energieverbrauchs von Container-Software ermittelt. Aufbauend auf den Ergebnissen der Umfrage und der Auswertung werden anhand von Standardszenarien im Containerumfeld die Komponenten des de facto Standards Docker untersucht. Anschließend wird ein Modell, bestehend aus Messmethodik, Empfehlungen für eine effiziente
Konfiguration von Containern und Tools, beschrieben. Die Messmethodik sollte einfach anwendbar sein und gängige Technologien in Rechenzentren unterstützen. Darüber hinaus geben die Handlungsempfehlungen sowohl Entwicklern als auch Administratoren die Möglichkeit zu entscheiden, welche Komponenten von Docker im Sinne eines energieeffizienten Einsatzes und in Abhängigkeit vom Einsatzszenario der Container genutzt werden sollten und welche weggelassen werden könnten. Die resultierenden Container können im Sinne der Energieeffizienz auf Servern und gleichermaßen auf PCs und Embedded Systems (als Teil von IoT und Edge Cloud) eingesetzt werden und somit nicht nur dem zuvor beschriebenen Problem in der Cloud entgegenwirken.
Die Arbeit beschäftigt sich zudem mit dem Verhalten von skalierten Webanwendungen. Gängige Orchestrierungswerkzeuge definieren statische Skalierungspunkte für Anwendungen, die in den meisten Fällen auf der CPU-Auslastung basieren. Es wird dargestellt, dass dabei weder die tatsächliche Erreichbarkeit noch der Stromverbrauch der Anwendungen berücksichtigt werden. Es wird der Autoscaler des Open-Source-Container-Orchestrierungswerkzeugs Kubernetes betrachtet, der um ein neu entwickeltes Werkzeug erweitert wird. Es wird deutlich, dass eine dynamische Anpassung der Skalierungspunkte durch eine Vorabauswertung gängiger Nutzungsszenarien sowie Informationen über deren Stromverbrauch und die Erreichbarkeit bei steigender Last erreicht werden kann.
Schließlich folgt eine empirische Untersuchung des generierten Modells in Form von drei Simulationen, die die Auswirkungen auf den Energieverbrauch von Cloud-Rechenzentren darlegen sollen.
- The use of cloud software and scaled web apps as well as web services has increased extremely in recent years, leading to an increase in high performance cloud data centers. In addition to the
improvement of services, this is also reflected in the global power consumption of data centers, which currently amounts to slightly more than 1% (equivalent to about 200 TWh). Forecasts predict a massive increase in the power consumption of cloud data centers in the coming years. The basis of this movement is the acceleration of administration and development, which is partly the result of
the use of containers. As the basis for millions of web apps and services, they speed up the scaling, provisioning and updating of cloud services. In this paper it is shown that containers, in addition to their many technical advantages, offer opportunities for reducing the energy consumption of cloud data centers, which result from an inefficient configuration of containers as well as container runtimes. Based on a survey and an evaluation of suitable literature, probable problems in the use of containers are uncovered in an initial step. Furthermore, the sensitivity of administrators and developers regarding the energy consumption of container software is determined. Proceeding from the results of the survey and the evaluation, standard scenarios in the container environment are used to investigate the components of the de facto Standards Docker. Then a model consisting of measurement methodology, recommendations for an efficient configuration of containers and tools is described. The measurement methodology should be easy to apply and support common technology in data centers. Also, the recommendations for action give both developers and administrators the opportunity to decide which components of docker should be used and which could be omitted, in the sense of energy-efficient use and depending on the usage scenario of the containers. The resulting containers can be used in terms of energy efficiency on servers and equally on PCs and embedded systems (as part of IoT and Edge Cloud) and thus not only counteract the previously described problem in the cloud. The thesis also deals with the behaviour of scaled web applications. Common orchestration tools define static scaling points for applications, which in most cases are based on CPU usage. It can be seen that neither the actual accessibility nor the power consumption of the applications is taken into account. The autoscaler of the open source container orchestration tool Kubernetes is considered, which is extended by a newly developed tool. It shows that a dynamic adjustment of the scaling points can be achieved by means of a pre-evaluation of common usage scenarios as well as information about their power consumption and the accessibility per increasing load.
Finally, an empirical investigation of the generated model in the form of three simulations follows, which should show the effects on the energy consumption of cloud data centers.