Nutzt die Public Cloud Ressourcen wirklich effizient?

greenit_cloud

Cloud Computing gilt gemeinhin als „Green IT“-Technologie, weil es dabei hilft, Energie und Ressourcen effizienter zu nutzen und die Umwelt zu entlasten. Doch können Service Provider dieses Effizienz-Versprechen auch halten, wenn sie ihren Kunden Kapazitäten garantieren, die dann – wie schon in der physischen Welt – im Durchschnitt noch nicht einmal zu 10 Prozent ausgelastet sind?

Die Informations- und Kommunikationstechnologie (IKT) hatte in Deutschland 2010 bereits einen Anteil von 11 Prozent am Gesamtstromverbrauch. Trotz verbesserter Energieeffizienz der Rechenzentren und Endgeräte wird der Stromverbrauch in diesem Bereich weiter zunehmen. Prognosen schätzen den Anteil am Gesamtstromverbrauch in Deutschland im Jahre 2020 auf 20 Prozent. Eine wichtige Rolle spielen hier sogenannte Rebound-Effekte. Der Energieverbrauch und Materialeinsatz nimmt durch die Effizienzverbesserung insgesamt nicht ab, sondern zu. Wenn die Preise infolge einer besseren Effizienz fallen, wächst die Nachfrage und damit auch der Verbrauch. Andere Einsparpotenziale werden vom erhöhten Leistungs-Output kompensiert, der von effizienteren Geräten erwartet wird. Nach aktuellen Berechnungen des Borderstep Instituts lag der Stromverbrauch der geschätzten 2,34 Millionen Server in Deutschland im Jahr 2011 bei 9,7 Terawattstunden.  Um diese Strommenge zu erzeugen, sind ca. vier mittelgroße Kohlekraftwerke notwendig (1).  Maßnahmen die dabei helfen, den Ressourcenverbrauch trotz wachsender Datenmengen und Anwendungen zu senken, zahlen sich somit nicht nur finanziell aus. Dem Cloud Computing wird hierbei eine Schlüsselrolle zugeschrieben, weil es den Einsatz von Hardwareressourcen optimiert. Überkapazitäten können abgeschaltet bzw. für andere Dienste genutzt werden. Gerade hat eine aktuelle Untersuchung des Lawrence Berkeley National Laboratory für die USA gezeigt, dass eine landesweite Verlagerung von Business Software in die Cloud deren primären Energieverbrauch um 87 Prozent senken könnte (2).

Lassen sich diese für Software kalkulierten Effizienzgewinne auch auf andere Cloud Services wie  Infrastructure as a Service (IaaS) übertragen? Die Antwort lautet wohl: Kommt darauf an. Theoretisch bietet eine Public Cloud ideale Voraussetzungen für eine effiziente Auslastung der Hardware Ressourcen, da nicht genutzte Kapazitäten anderen Kunden zugewiesen oder abgeschaltet werden können. Das ist aber leichter gesagt als getan. Huan Liu hat mit einem recht cleveren Verfahren die CPU-Auslastung von Public Cloud Services wie Amazon EC2 gemessen (3). Das Ergebnis hat ihn überrascht. Die über einen Zeitraum von einer Woche gemessene durchschnittliche CPU-Auslastung betrug gerade einmal 7,3 Prozent. Im Vergleich dazu war die CPU-Auslastung eines virtualisierten internen Datacenters mit 26 Prozent drei Mal höher. Als Ursache vermutet Liu, dass Amazon die CPU-Zuteilung konsequent begrenzt, auch wenn freie Ressourcen verfügbar sind. Da Kunden die Größe ihrer Maschinen für Peak-Anforderungen wählen, die aber nur selten erreicht werden, liegen die meiste Zeit ungenutzte Kapazitäten brach. Offensichtlich ist die von Amazon eingesetzte Technologie nicht in der Lage, die Instanzen der Kunden für eine effizientere Auslastung dynamisch auf der Hardware-Plattform zu verteilen. Damit Ressourcen eingespart werden können, müssten Kunden nicht genutzte Kapazitäten abschalten. In der Praxis macht das aber keiner, weil es sich finanziell nicht wirklich lohnt und der Aufwand zu groß ist.

Wie sorgen wir für eine möglichste effiziente Nutzung der Serverressourcen in der Dunkel Cloud?

Prinzipiell stehen jedem Kunden die von ihm gebuchten Ressourcen für sein Virtual Data Center jederzeit auch vollständig zur Verfügung. Die Hardware-Plattform besteht aus Clustern mit zahlreichen Hosts. Eine Software überwacht ständig alle virtuellen Maschinen (VM), deren Auslastung und die verfügbaren Kapazitäten. Sollte sich eine VM auf einem physischen Host befinden, wo nicht mehr ausreichend freie Kapazitäten (CPU Leistung, RAM) zur Verfügung stehen, wird sie automatisch und ohne irgendeine Beeinträchtigung des Betriebs auf einen anderen Host verschoben. Ebenso werden wenig ausgelastete Maschinen in einem Cluster mit ausreichend Kapazität konsolidiert und nicht benötigte Serverhardware ausgeschaltet bzw. in den Standby-Modus versetzt. Auf diese Weise können wir zum Beispiel nachts und zu anderen betriebsarmen Zeiten die Energieeffizienz der Infrastruktur optimieren. Sobald die Last wieder steigt, werden auch die zusätzlichen Hosts wieder aktiviert.

Mit der richtigen Technologie lassen sich somit auch in einer Public Cloud die Ressourcen mindestens genauso effizient nutzen wie in einer unternehmenseigenen Private Cloud Infrastruktur, ohne dass Kunden Einschränkungen in den von ihnen gebuchten Leistungen befürchten müssen.

Quellen

(1)    Gutachten des Borderstep-Instituts im Auftrag der Enquetekommission Internet und digitale Gesellschaft des deutschen Bundestages (2012). (http://bit.ly/10mSocq)

(2)    Masanet, E. et al. (2013): The Energy Efficiency Potential of Cloud Based Software: A U.S. Case Study. Lawrence Berkeley National Laboratory, Berkeley, California.

(3)    http://huanliu.wordpress.com/2012/02/17/host-server-cpu-utilization-in-amazon-ec2-cloud/