Expert Views

Published on May 26, 2015

Infrastructure-as-a-Service (IaaS): Performance ist alles! Nicht ganz…

Während der Planung einer IT-Infrastruktur gilt es für CIOs und CTOs ständig das richtige Mittelmaß an Ressourcen zu finden, um alle Anwendungen mit ausreichend Performance zu bedienen. Gleichzeitig besteht die Herausforderung darin, die Infrastruktur nicht zu überdimensionieren und damit Kapazitäten zu verschwenden. Der übermäßige Einsatz von Infrastruktur führt zu weiteren Kosten. Werden zu wenige Ressourcen eingeplant, besteht die Gefahr von Performanceeinschränkungen oder Ausfällen.

Der goldene Weg zum richtigen Sizing der Infrastruktur besteht daher im Management der Kapazitäten und der Performance. Was in den vergangenen Jahren bei der Planung der eigenen On-Premise Infrastruktur beachtet werden musste, gilt es nun auch bei der Nutzung von Public Cloud-Infrastrukturen uneingeschränkt zu berücksichtigen. Um die Customer Experience moderner digitaler Angebote sicherzustellen, ist eine leistungsfähige IT-Infrastruktur unerlässlich. Hierbei sollten sich CIOs und CTOs nicht alleine auf die Aussagen der Public Cloud-Anbieter verlassen, sondern über ein Performance Management und weitere Kontrollmechanismen den Anbieter ständig hinterfragen.

Preis und Performance im Fokus

Ein Killerkriterium für IT-Entscheider ist in diesem Zusammenhang das Preis-Leistungs-Verhältnis. Sowohl die Kosten als auch die Performance von Infrastrukturressourcen aus der Public Cloud lassen sich nur schwer einschätzen. Insbesondere dann, wenn man versucht diese mit mehreren Anbietern zu vergleichen. Um eine ungefähre Vorstellung davon zu bekommen, welche Ressourcen innerhalb einer Public Cloud benötigt werden und welche Kosten während der Nutzung entstehen, ist eine Anforderungsanalyse in Bezug auf die Kapazitätsplanung und die erwartete Performance notwendig, um für einen stabilen Betrieb der Anwendungen und Systeme zu sorgen.

Performance: Die Anwendungsarchitektur und Cloud-Infrastruktur macht den Unterschied

Das Verhalten der Performance variiert je nach Art und Architektur der Anwendung und deren Nutzung. Diese Faktoren machen es schwierig, die Performance im Verhältnis zum Preis Cloud-Infrastrukturübergreifend zu bestimmen.

Jede Public Cloud basiert auf einer individuellen physikalischen Infrastruktur, die sich aus unterschiedlichen Komponenten in Bezug auf die eingesetzten Prozessoren, der Netzwerkinfrastruktur, der Art des Speichers sowie verschiedener Virtualisierungs-Stacks zusammensetzt. Hinzu kommt, dass jede Public Cloud-Infrastruktur einem sehr dynamischen Umgebungsverhalten mit signifikanten Unterschieden hinsichtlich der Auslastung ausgesetzt ist. Dabei sollte auch nicht das Virtualisierungsmanagement vernachlässigt werden, das je nach Public Cloud Abweichungen in der Performance mit sich bringen kann, abhängig davon wie und wo eine VM bereitgestellt wird. Diese Performanceunterschiede können sich nicht nur zwischen verschiedenen Public Clouds sondern auch im Laufe der Zeit innerhalb einer Public Cloud ergeben.

Preis: Eine geringe Transparenz sorgt für Irritationen

Neben den Variationen der technischen Infrastruktur unterscheiden sich Public IaaS-Angebote insbesondere durch verschiedene Pakete und Preismodelle für virtuelle Maschinen und weiteren Ressourcen. Das sorgt für eine geringe Transparenz auf Seiten der Nutzer und führt zu Irritationen beim Vergleich. So lässt sich ein Instanz-Typ mit der Bezeichnung „large“ bei einem Public Cloud-Anbieter schwierig bis gar nicht mit demselben „large“-Typ bei einem anderen Anbieter vergleichen, da nicht sicher ist, ob die virtuelle CPU bei beiden dieselbe Performance liefert.

Weiterhin fällt auf, dass die meisten Anbieter ihre VMs fest dimensionieren, wodurch die nächsthöhere Maschine um ein Vielfaches teurer, für den eigentlichen Zweck aber eigentlich überdimensioniert ist. Hinzu kommt, dass sich viele Anbieter in der Taktung ihrer Abrechnung unterscheiden, von pro Stunde bis pro Minute.

Eine weitere Komplexitätsebene öffnet sich, wenn neben virtuellen Servern, Speicher und Netzwerkressourcen zusätzlich infrastrukturnahe Services genutzt werden. Zwar helfen diese dabei, die Anwendung schneller und mit weniger Aufwand auf der Public Cloud-Infrastruktur zu entwickeln. Allerdings verursachen diese ebenfalls weitere, zum Teil nicht vorhersagbare Kosten, da sie von der Anwendung mal mehr und mal weniger genutzt werden.

Der Public IaaS-Markt hat sich in den vergangenen Jahren rasant entwickelt. Viele Public IaaS-Anbieter mit unterschiedlichen, festen oder flexiblen Infrastrukturkonfigurationen und Preismodellen sorgen für intransparente Kosten, die nur schwer bis gar nicht miteinander zu vergleichen sind. Damit verfügen CIOs und CTOs über keine belastbare Entscheidungsgrundlage, die eine konkrete Aussage über die Preis-Performance eines Public IaaS-Angebots trifft. Vor diesem Hintergrund hat Crisp Research einen standardisierten Benchmark durchgeführt, mit denen IT-Entscheider eine Orientierungshilfe erhalten, bei welchen Public Cloud-Anbietern sie das beste Preis-Performance-Verhältnis bekommen.

Methodik und Vorgehensweise

Der Preis-Performance-Test vergleicht insgesamt vier Public Cloud-Infrastrukturen.

  • Amazon Web Services (AWS)
  • Google Cloud Platform (GCP)
  • Microsoft Azure
  • ProfitBricks

Während der Tests stand ein realer Workload im Vordergrund. Nur damit erhalten CIOs und CTOs eine aussagekräftige Entscheidungsgrundlage für oder gegen eine bestimmte Public Cloud-Infrastruktur. Der Test berücksichtigt nicht den Aufwand und die Konfigurationskosten für das Setup und Deployment der Infrastrukturen. Ebenso wurde die Komplexität vernachlässigt, die beim Aufbau und Betrieb einer Public Cloud-Applikation zwangsläufig entsteht.

Eine gemeinsame Basis ist die Grundvoraussetzung bei dem Test unterschiedlicher Public Cloud-Infrastrukturen. Um eine bestmögliche Vergleichbarkeit der Angebote zu gewährleisten, wurde die Ausgangskonfiguration einer virtuellen Maschine (VM) normiert, die über alle Anbieter den kleinsten gemeinsamen Nenner darstellt. Für diesen Test stellt die Basiskonfiguration eines Magento Webshops die normierte Ausgangskonfiguration dar.

crisp_IaaS_config

Ausgehend von einer 24 stündigen Auslastung an 30 Tagen pro Monat, wurde für eine VM mit der definierten Ausgangskonfiguration der Preis pro Stunde errechnet. Für alle Anbieter wurden die Preise für die Region Europa gewählt. Weiterhin wurden die Preise im Falle der Amazon Web Services und der Google Cloud Platform von USD in EUR umgerechnet.

Bewertungsgrundlage

Während der Preis-Performance-Evaluierung werden die Preise und die Performance der jeweiligen Anbieter bestimmt und in ein Verhältnis zueinander gesetzt (PPV). Im Anschluss werden die PPV der Anbieter unter Berücksichtigung eines Referenzwertes miteinander verglichen.

Die Preise werden in 1 Cent-Schritten auf ein Punktesystem von 1 bis 10 Punkten eingeteilt. Ein geringer Preis pro Stunde führt zu einer höheren Punktzahl. Die Performance wird in Millisekunden auf einem Punktesystem von 1 bis 10 Punkten abgetragen. Ein niedriger Millisekunden-Bereich zeigt eine höhere Performance und ergibt damit eine höhere Punktzahl.

Das Verhältnis der Preis-Performance wird bestimmt, indem die jeweiligen Punktzahlen addiert und das Ergebnis anschließend halbiert wird. Eine Gewichtung beider Faktoren wird nicht vorgenommen, da je nach subjektiver Betrachtung der Preis oder die Performance einen höheren Stellenwert besitzt.

Die Anbieter müssen sich an einem Referenzwert messen lassen, welcher anhand des Mittelwerts bestehend aus der besten Wertung des Preises und der besten Wertung der Performance zusammensetzt.

Testkonfiguration

Für den Test wurde der typische Einsatz eines Webshops im Cloud-Hosting-Umfeld evaluiert. Die für den Test verwendete eCommerce-Software ist Magento. Dabei handelt es sich um eine häufig eingesetzte Plattform im professionellen Bereich. Die Lösung basiert auf PHP und benötigt einen LAMP-Stack (LINUX / Apache / MySQL / PHP). Das genutzte Magento-Framework selbst wurde nicht optimiert und als Magento-Demo-Shop aufgesetzt, um ein einheitliches Bild auf allen Plattformen zu gewährleisten. Weiterhin wurden Optimierungen, beispielsweise anhand der Nutzung von Amazon RDS oder Google Cloud SQL nicht berücksichtigt. Ferner und wichtiger ist jedoch, dass nicht alle Anbieter in diesem Kontext entsprechende dedizierte Higher-Level Services im Portfolio haben, um einen Vergleich auf dieser Ebene zu ermöglichen. Daher wurden für diesen Test ausschließlich die virtualisierten Rechner genutzt und miteinander verglichen.

Dieser konkrete Anwendungsfall setzt üblicherweise Kunden voraus. Darüber hinaus weist das Lastverhalten in der Regel über die Zeit verteilte Peaks auf. Um diesen Fall zu simulieren wurde BlazeMeter eingesetzt. BlazeMeter ist ein mit Apache JMeter kompatibles Software-as-a-Service-Angebot für Lasttests. Mit Hilfe der Testdefinition in JMeter ist es möglich innerhalb des Webshops mehrere Seiten aufrufen zu lassen und sogar einen Einkaufsvorgang zu simulieren.

In JMeter wurden für diese Analyse Skripte anhand einer graphischen Benutzeroberfläche erstellt. Diese wurden dann von mehreren Rechnern parallel ausgeführt, um die höhere Anzahl von Nutzern zu simulieren und unterschiedliche Lokationen zu emulieren. Ziel der Tests war es, ein möglichst realitätsnahes Verhalten der Nutzer nachzustellen. Die Tests wurden mit einer Simulation von 50 parallel agierenden Nutzern durchgeführt und in unregelmäßigen Zeiträumen mehrfach wiederholt. Dies dient dazu mögliche Fremdeinflüsse oder regionale Störungen bei den Anbietern herauszufiltern.

Preis-Performance: Größe allein ist kein Garant

Die Performance der vier betrachteten Public IaaS-Angebote wurde auf Basis der ermittelten Antwortzeiten beurteilt. Anbieter, die während dieses Testlaufs hinweg niedrige Werte aufweisen, besitzen eine entsprechend höhere Performance. Die Tests wurden alle mit den identischen Workloads (Magento Webshop) durchgeführt. Das heißt, dass jeder Test die exakten Abläufe der Simulation durchlaufen hat, sodass eine Vergleichbarkeit sichergestellt ist.

Infrastrukturgröße ist kein Garant für Performance

Im Vergleich zur gesamten Performance zeichnet sich ein weitgehend klares Bild ab. Wahrend Google mit niedrigen Antwortzeiten eine hohe Performance zeigt, fällt Amazon AWS in diesen Testszenarien merklich ab. Trotz einer der größten Infrastrukturen und des hohen Marktanteils im Public Cloud-Bereich zeigt Amazon AWS die geringste Performance. Die Performance von Microsoft Azure und ProfitBricks schneidet im Vergleich zum Durchschnitt über alle Anbieter (ca. 8.300ms) etwas besser ab. Im direkten Vergleich sind die Unterschiede aber beinahe marginal. Nichtsdestotrotz kann ProfitBricks bei genauerem Hinsehen eine etwas höhere Performance bieten.

crisp_IaaS_performance

Günstiger Preis als Wettbewerbsfaktor

Der Preisvergleich bildet die Betriebskosten der gewählten Konfiguration für eine Stunde ausgehend von einer monatlichen Abrechnung eines 24/7-Betriebs ab. Es zeigt sich, dass ProfitBricks mit 0,04€ pro Betriebsstunde mit Abstand der günstigste Anbieter im Test ist. Neben dem enthaltenen Storage-Preis überzeugt das Preismodell ebenfalls mit einer flexiblen Abrechnung. So wird zwar der Preis der VM-Konfiguration auf Stundenbasis angegeben, allerdings erfolgt die Abrechnung minutengenau, sodass eine maximal nutzungsabhängige Preisgestaltung ermöglicht wird. Auch Google (0,062€) verfügt über ein relativ flexibles Abrechnungsmodell. Hier beträgt das Intervall fünf Minuten. Amazon AWS bietet mit 0,068€ eine etwas teurere Konfiguration und eine unflexible Abrechnung auf Stundenbasis. Die Microsoft Azure VM hat in diesem Vergleich den höchsten Preis pro Stunde. In den rund 0,07€ ist allerdings mehr als ausreichend lokaler Instanzspeicher enthalten, der für diesen Test notwendig war.

crisp_IaaS_price

Was wirklich zählt: Preis-Performance

Für eine vollständige Aussage über die getesteten Public IaaS-Konfigurationen wurden Preis und Performance nach dem beschriebenen Vorgehen bewertet und ins Verhältnis zum Referenzwert gesetzt.

crisp_IaaS_price-performance

In diesem Vergleich setzt sich der Referenzwert aus der Performance von Google (8) und dem Preis von ProfitBricks (7) zusammen. Folglich ergibt der Referenzwert 7,5. An dieser Gesamtpunktzahl müssen sich alle Anbieter im Test messen lassen. Im Preis-Performance Test belegen Amazon AWS und Microsoft den gemeinsamen dritten Platz. Die Performance als auch der Preis liegen mit einem kombinierten Wert von 5,5 deutlich unter dem Durchschnitt. Zwischen den beiden Anbietern gleichen sich günstigerer Preis und bessere Performance aus. Amazon AWS bietet eine etwas günstigere Konfiguration, dafür ist Microsoft Azure hinsichtlich der Performance stärker. Performance-Sieger Google liegt bei der Preis-Performance mit einem Gesamtwert von 6,5 auf dem zweiten Platz. ProfitBricks kann in der Kombination aus Preis und Performance die Konkurrenz ausstechen. Mit einem Wert von 7 ist man nah an dem möglichen Referenzwert von 7,5 und zeigt dem Wettbewerb, dass sich auch mit geringen Preisen eine überdurchschnittlich gute Leistung erzielen lässt.

Der Benchmark-Report inklusive allen Hintergrundinformationen, Ergebnissen und Analysen steht unter „Cloud Price Performance Evaluation“ kostenlos zum Download zur Verfügung.

Die Konfiguration der Test-Infrastrukturen und die technische Durchführung der Tests wurde von dem unabhängigen IT-Berater Björn Böttcher durchgeführt, welcher sich auf die Entwicklung und Integration von Cloud- und Mobile-Applikationen im Enterprise- Bereich spezialisiert hat.