This post is sponsored by VMware. Learn about VMware virtualization and cloud solutions for small & mid-size business visit info.vmware.com



This article is available in other languages:

Germany Virtualisierung vs. Cloud: Wofür entscheiden Sie sich?France Virtualisierung vs. Cloud: Wofür entscheiden Sie sich?China Virtualisierung vs. Cloud: Wofür entscheiden Sie sich?Netherlands Virtualisierung vs. Cloud: Wofür entscheiden Sie sich?England Virtualisierung vs. Cloud: Wofür entscheiden Sie sich?Portugal Virtualisierung vs. Cloud: Wofür entscheiden Sie sich?

Stellen Sie sich vor, für die Technologieinfrastruktur eines Web-Startups zuständig zu sein. Die Prototyp-Phase, sowie Private Beta sind erfolgreich überstanden. Jetzt gilt es eine Produktionsumgebung zu schaffen, die einem potentiellen Millionenpublikum standhält.

Ihr erster Gedanke lautet vermutlich: „Die Applikation wird für die Cloud entwickelt“. Cloud-Hosting-Dienste wurden in den letzten Jahren in der Presse durchwegs hochgelobt, daher sei es Ihnen verziehen, dies für die einzig vernünftige Alternative zu halten.

Warum aber nicht eine eigene „private Cloud“ einrichten? Eine virtualisierte Umgebung mit Hilfe gekaufter oder geleaster Hardware in einem einfachen Datenzentrum könnte mit großer Wahrscheinlichkeit die bessere Lösung für Ihre App sein.

Ich möchte nicht den Anschein erwecken, etwas gegen Cloud-Dienste zu haben. Das Startup, für das ich derzeit arbeite, ein soziales Netzwerk für Kinobesucher, wird in der Cloud gehostet.

Bevor ich dieses Unternehmen mitbegründet habe, war ich der Technologieverantwortliche bei einem Online-Marketplace Anbieter. Unser populärstes Produkt war ein Marktplatz für Website-Templates. Als wir das Unternehmen verließen, wurden mit der selben Codebase und Hosting-Umgebung neun verschiedene Marktplatz-Lösungen betrieben.

Die Anwendungen des Marktplatz-Startups aus der Cloud zu nehmen und stattdessen in einer (großteils) virtualisierten Umgebung auf physischer Hardware für uns direkt kontrollierbar zu machen, lag zu der Zeit nicht gerade im Trend. Diese beiden Alternativen möchte ich hier gegenüberstellen und Ihnen so dabei helfen herauszufinden, ob Ihre App in einer privaten Cloud besser aufgehoben wäre.

Eine virtualisierte Umgebung ist ein Muss

Egal ob Sie auf die Cloud oder Ihre eigene virtualisierte Umgebung setzen, so oder so sollte die Implementierung auf virtuellen Servern passieren. Meiner Meinung nach gibt es zwei lebenswichtige Vorteile von virtualisiertem Hosting.

Der erste Vorteil liegt darin, dass die Virtualisierung aus der Serverkonfiguration ein reines Softwareproblem macht. Grundsätzlich empfiehlt sich in der Web-Entwicklung das Konzept, eher neu zu entwickeln als zu reparieren oder die Server zu modifizieren. Der Großteil der Komplexität beim Management von Serverpools liegt in der Anhäufung vieler kleinerer Änderungen der Serverkonfiguration. Dies macht die Verwaltung von Serverpools überaus komplex, besonders wenn die Änderungen manuell vorgenommen werden.

Früher brauchte man zuerst das nötige Budget, um Ersatz-Server zum Aufbau einer neuen Datenbank zu haben, sie zu verbinden, die alten abzuschalten und dann diese neu aufzusetzen. Heute dauert es ein paar Minuten, einen neuen „Server“ zu erstellen und diesen mit ein paar Klicks oder einem Shell Script beliebig zu konfigurieren.

Der zweite Vorteil liegt in der „Just-in-Time“ Kapazitätsplanung. So lange die grundlegenden physischen Kapazitäten bereitgestellt sind (etwas, worauf Sie sowohl in einer öffentlichen als auch einer privaten Cloud achten sollten), können Sie neue Server mit den bevorzugten Spezifikationen erstellen. Nämlich dann, wenn Sie sie brauchen.

Nehmen wir an, Sie stimmen mir zu, dass virtuelle Server eine gute Idee sind. Gehen Sie nun in die Cloud oder erstellen Sie Ihre eigene Umgebung?

Die Hauptunterschiede zwischen der Cloud und virtualisierten Umgebungen

Öffentliches Cloud-Hosting kann zwar bei Vorlaufkosten und Flexibilität sofort punkten, verliert aber etwa durch niedrigere Performance, höhere Ausfallraten und das Risiko, sich eine gemeinsame Umgebung möglicherweise mit „unzuverlässigen Nachbarn“ teilen zu müssen.

Um eine eigene virtualisierte Umgebung aufzubauen, bedarf es vorab höherer Investitionskosten und der grundlegenden Hardware. Im Gegenzug bekommen Sie eine besser einschätzbare Performance, höhere Verfügbarkeit und totale Kontrolle über Ihre Umgebung.

Wodurch wächst Ihr Unternehmen?

Um diese Frage beantworten zu können, muss man sich zuerst Folgendes überlegen: „Wodurch wird dieses Unternehmen wachsen?“

Bevor Sie sich den technischen Überlegungen widmen, sollten Sie wissen, dass Ihr Produktions-Setup Ihr Geld in Besucherzugriffen auf Ihrer Webseite umwandeln soll. Sie suchen nach dem besten Preis/Leistungs-Verhältnis kurz- und langfristig. Dabei achten Sie nicht nur auf direkte Investitionen in Hardware, sondern auch auf Opportunitätskosten, etwa durch Entwicklungszeit.

Beim Netzwerk für Kinobesucher waren wir nicht sicher, wann wir das nötige Momentum erreichen würden. Sofort Server zu mieten wäre unnötig und verfrüht gewesen. Flexibel zu bleiben war oberste Priorität. Im Gegenzug mussten wir Einbußen bei Performance und Verfügbarkeit machen. Für dieses Stadium des Unternehmens war das auch in Ordnung.

Für das Marketplace-Startup sah die Situation vollkommen anders aus. Das Produkt hat sich stabilisiert, jedoch lag ein großer Teil des Wachstums noch vor uns. Umsatzsteigerung und höhere Zugriffszahlen waren wie erwartet eng miteinander verknüpft und nach ein paar Geschäftsjahren lernten wir auch, wie der Traffic saisonal schwankt.

Mit einer dedizierten virtualisierten Umgebung hatten wir auf Mikroebene die Flexibilität einer öffentlichen Cloud, während wir durch unseren „Master Plan“ auf Makroebene beachtliche Kostenersparnisse erreichen konnten.

Was bedeuten Performance und Verfügbarkeit für Ihr Unternehmen?

Fragen Sie Ihren CEO und er wird Ihnen höchstwahrscheinlich sagen: „Ich möchte 99,999% Verfügbarkeit und die schnellste Seite in unserem Marktsegment“. Erzählen Sie ihm, was das kosten wird, dann werden Sie eine etwas andere Antwort erhalten.

Wie bereits erwähnt, lag der Hauptfokus bei unserem sozialen Netzwerk auf Flexibilität. Dabei lagen Performance und Uptime im Vergleich zur Konkurrenz durchaus im akzeptablen Bereich.

Bei der Marktplatz Applikation gestaltete sich die Situation jedoch um einiges komplexer. Die Marktplätze sollten jenen zur Verfügung stehen, die digitalen Content und Produkte anbieten wollen. Damit benötigten wir alle grundlegenden Funktionen einer E-Commerce Anwendung kombiniert mit hoher I/O Performance (wegen der enormen Datenmengen von beispielsweise Videos, Fotos, Designvorlagen, etc.)

Für E-Commerce Unternehmen steht die Performance beim Endverbraucher im Mittelpunkt. Vor allem bei steigendem Konkurrenzdruck wird es immer wichtiger, dass die Front-End Leistung stimmt. Verfügbarkeit ist ebenso essentiell, da jede Minute, in der die Seite nicht online ist, natürlich auch kein Umsatz generiert wird.

Gerade wegen des erhöhten Ausfallrisikos, teils über ganze Verfügbarkeitszonen hinweg, sollte man dies vor allem bei der Planung klar berücksichtigen. Ein gutes Beispiel hierfür liefert Netflix, deren zahlreiche Artikel zur Planung und Konfiguration von Applikationen in der Cloud als klarer Standard gelten.

Ein Problem in unserem Marketplace-Unternehmen waren die sehr eingeschränkten Entwicklungsressourcen. Anstatt unsere App an die Cloud anzupassen, mussten wir lediglich unsere private Cloud konfigurieren.

Durch den ständigen Zugriff auf unsere Netzwerkaktivität konnten wir die Performance sehr genau einschätzen. Dadurch war es möglich, die Datenspeicherung entsprechend unserer Bedürfnisse anzupassen und so die beste I/O Performance zu erreichen. Wenn unsere Datenbanken höhere Leistung verlangten als die virtuellen Server bieten konnten, ließen wir sie auf normalen Hardware-Servern laufen, die wir neben unsere virtuelle Umgebung positionieren und somit die Latenzzeiten gering halten konnten. Die ständige Kontrolle unserer eigenen Maschinen hat das Risiko von Ausfällen extrem verringert und eine gute Verfügbarkeit ermöglicht.

Alles, was wir dafür tun mussten, war anfangs etwas mehr zu investieren (was sich über die Zeit rentiert hat), und sicherzustellen, dass physische Server schnell genug zum Pool hinzugefügt werden konnten, um die Kapazitäten zum Ausbau der virtuellen Server zu schaffen.

Fazit

Virtualisierung sollte zumindest einen Teil Ihrer nächsten Live-Umgebung ausmachen – ob Sie nun eine neue Anwendung entwickeln oder eine bestehende migrieren.

Wenn Sie Ihren zukünftigen Traffic nur schwer einschätzen können – dieser könnte dramatisch ansteigen oder abfallen – sollte Ihre Wahl auf Cloud-Dienste fallen.

Wenn Ihre Serverbelastungen vorhersehbar sind, Sie spezielle Leistungs- oder Verfügbarkeitsansprüche haben oder zu jeder Zeit die Kontrolle behalten wollen, sollten Sie definitiv über den Aufbau einer eigenen privaten Cloud nachdenken.