Private, Public und Hybrid Cloud: Was es zu beachten gibt


Schenkt man den Werbeaussagen der Anbieter Glauben, so sind alle Probleme in Bezug auf Cloud – egal ob Private, Public oder Hybrid – schon längst gelöst. Was die Anbieter geflissentlichst unterschlagen, ist die Tatsache, dass effektive Kostenersparnisse und Effizienzsteigerungen einen Paradigmenwechsel verlangen. Zwischen Anbieterversprechen und Realität gibt es wie üblich eine ziemliche Diskrepanz. Ein Gespräch mit Ivan Pepelnjak, einem der weltbesten Experten in den Bereichen Netzwerk, Rechenzentrum, Cloud und skalierbarem Applikationsdesign, um eine realistische Einschätzung zu erhalten.

Was ist eigentlich eine Private Cloud?

Eine Private Cloud ist wie eine Public Cloud, aber mit dem einen entscheidenden Unterschied, dass die Nutzung der Infrastruktur auf eine einziges Unternehmen oder eine einzige Organisation beschränkt ist. Dies führt zu engeren Kontrollen und einer besseren Sichtbarkeit der Sicherheitsmechanismen.

Was sind die Vorteile einer Private Cloud?

Die meisten Unternehmen und Organisationen, die eine Private Cloud betreiben, machen dies, weil sie aus verschiedenen Gründen die Aufgaben nicht in eine Public Cloud auslagern können. Dazu gehören Restriktionen in Bezug auf den Datenaufbewahrungsort, bestehende Sicherheitsvorgaben, Gewährleistung des Datenschutzes, oder schlicht ein Mangel an Vertrauen in eine ausgelagerte Infrastruktur,

Ist eine Private Cloud teurer als die Nutzung einer Public Cloud?

Wie üblich kommt es da auf mehrere Faktoren an.

Ist die benötigte Kapazität klein oder die Zukunft ungewiss, so macht der Aufbau einer eigenen Infrastruktur zur Bewältigung des Arbeitsvolumens in der Regel keinen Sinn. Diese wird immer teurer sein als eine öffentliche Infrastuktur, unabhängig davon wie viel Optimierungsbemühungen in den Aufbau fliessen. Aus diesem Grund benutzen die meisten kleinen Firmen und Startups, die über eigene technische Kompetenz verfügen, eine Public Cloud.

Steigt das Arbeitsvolumen und damit der Kapazitätsbedarf exponential, so ist es schwierig eine eigene Infrastruktur aufzubauen und zu erweitern. Schnell wachsende Firmen verwenden deshalb eher eine Public Cloud als eine Private Cloud.

Grössere Unternehmen und Organisationen mit statischem, abschätzbaren Arbeitsvolumen profitieren hingegen von einer Private Cloud. Die meisten Analysen zeigen, dass es kostengünstiger ist, dedizierte Infrastrukturen selbst zu betreiben, als dafür zu bezahlen, die Infrastruktur eines anderen zu benutzen. Dies gilt allerdings nur dann, wenn der Ausnutzungsgrad der eigenen dedizierten Infrastruktur hoch ist. Selbst in solchen Betrieben kommt es zu temporärem oder extrem dynamischem Arbeitsvolumen, das kurzfristig und temporär zusätzliche Infrastruktur braucht. Ein typisches Beispiel dafür sind Marketingkampagnen. Die richtige Kombination von Private und Public Cloud ist in dem Fall das richtige Rezept, um die Gesamtkosten zu senken.

Welche Vorteile bringen SDN (Software Defined Network) und NFV (Network Function Virtualization) in Bezug auf Private Cloud?

Hier kommt es auf zwei grundsätzliche Entscheidungen an:

  • Wird jede Geschäftseinheit, jedes Anwendungsteam oder gar jede Anwendung als unabhängiger Mandant behandelt?
  • Dürfen diese Mandanten ihre eigenen logischen Netzwerke und Netzwerkdienste schaffen?

Ich empfehle in der Regel, jede einzelne Applikation als unabhängigen Mandanten zu behandeln. Der Betrieb jeder Applikation innerhalb ihrer eigenen Netzwerke und Sicherheitszonen reduziert die Sicherheitsherausforderungen, die beim Betrieb mehrerer Applikationen innerhalb der gleichen logischen Netzwerke und Sicherheitszonen bestehen. In einer traditionellen, gemeinsam genutzten Umgebung ist es einem Eindringling nach erfolgreichem Einbruch in eine Applikation oft möglich, lateral in andere Applikationen einzudringen. Über Mandantengrenzen hinweg ist diese Vorgehensweise massiv schwieriger.

Zusätzlich sollten die Applikationsteams ihre eigenen Netzwerkdienste (Load Balancer und Firewall) auf Abruf zur Verfügung stellen. Dieser komplett andere Ansatz resultiert normalerweise in schnellerer Inbetriebnahme und flexiblerer Umgebung, bringt aber auch eine Verschiebung der Verantwortlichkeiten mit sich.

Für das Bereitstellen einer hochdynamischen Private Cloud-Infrastruktur führt kein Weg an SDN und NFV vorbei, wenn jede Applikation als eigenständiger Mandant behandelt werden soll. SDN braucht es, um die dynamischen Mandantennetzwerke bereitzustellen, da eine manuelle Bereitstellung von Geräten in einer Selbstbedienungsumgebung nicht möglich ist. NFV braucht es wiederum, um mandantenspezifische Netzwerkdienste in virtuellen Maschinen zu betreiben.

Was sind die häufigsten Fallgruben und wie können sie vermieden werden?

Über dieses Thema könnte ich Stunden sprechen – und habe das tatsächlich einmal im Rahmen eines Vortrags so gemacht. Muss ich mich aber für die grösstmögliche Fallgrube entscheiden, so ist es das Fehlen von Selbstbedienungsfunktionalitäten. Viele Unternehmen und Organisation erstellen etwas, dass sie Private Cloud nennen, aber das immer noch manuelle Intervention der Netzwerk- oder Sicherheitsabteilung braucht, um neue logische Netzwerke oder Dienste zur Verfügung zu stellen. Das ist keine Cloud, sondern nur eine mit Hochglanz versehene Server-Virtualisierung.

Welche Auswirkungen hat eine Private Cloud auf das Applikationsdesign und die Applikationsbereitstellung?

Es kommt auf die Zielsetzung der Private Cloud an. Ist man gezwungen eine Infrastruktur aufzubauen, die sämtliche Eigenarten der bestehenden Umgebung repliziert, dann gibt es keine Auswirkungen auf Applikationsdesign und Applikationsbereitstellung. Dafür hat man es wieder mit einer komplexen, teuren und schwer zu betreibenden Infrastruktur zu tun, die nichts anderes ist, als das, was man zuvor schon hatte.

Will man eine Private Cloud, welche die Kostenvorteile einer Public Cloud bieten soll, dann kommt man nicht darum herum, sich an deren Vorgehensweise zu orientieren. Eine der Kostensenkungsmassnahmen besteht darin, die Redundanz auf Seite der Infrastruktur auf ein Minimum zu beschränken und es den Applikationen zu überlassen, sich um alle allfälligen Probleme zu kümmern. Eine solche Vorgehensweise bedingt offensichtlich einen komplett anderen Ansatz beim Design von Applikationen. Unter Softwareentwicklern ist dieser Ansatz unter dem Begriff "Design for Failure" (fehlertolerantes Design) bekannt. In der Enterprise-IT ist er aber kaum verbreitet.

Oft ist es unmöglich, dieses radikale neue Denkmuster in der Applikationsentwicklung bei der Bereitstellung einer neuen Private Cloud-Infrastruktur durchzusetzen. Es ist aber durchaus möglich, einige Fehler aus der Vergangenheit auszumerzen. Dazu gehören die Verwendung riesiger Layer 2-Domains und Hacks wie Microsoft Network Load Balancer. 

Hybride Clouds: Was muss beim Design beachtet werden?

Bevor man sich über eine hybride Cloud – die kombinierte Verwendung von Private Cloud und Public Cloud – Gedanken macht, sollte man sich folgende Fragen stellen: Erstens "Wo sind die Daten?" Zweitens "Wie wird auf diese Daten zugegriffen?" Und drittens "Was sind die Auswirkungen von erhöhter Latenz?" Es ist erstaunlich, wie wenig Leute sich diese Fragen stellen. Die, welche es nicht tun, lernen die Antworten auf diese Fragen auf die beschwerliche Art.

Realitätscheck: Was ist eigentlich interoperabel?

Kurzantwort: Nicht viel, speziell in den Bereichen Netzwerk und Sicherheit.

Das Verschieben von statischen Daten (Data-at-Rest) zwischen Private und Public Cloud ist ein Problem, das gelöst ist, wenn man die Problembereiche Bandbreite, Latenz und Übertragungszeit ausklammert. Das Migrieren von virtuellen Maschinen zwischen Private und Public Cloud ist relativ einfach. Das Nachbilden logischer Netzwerke und Sicherheitskontrollen einer bestehenden Umgebung in einer Public Cloud ist immer noch "Mission Impossible". Die meisten Orchestrierlösungen für hybride Clouds erwarten immer noch, dass das Netzwerkteam eine manuelle Synchronisierung der logischen Netzwerke vornimmt, die innerhalb der Private und der Public Cloud genutzt werden.

Cloud-Orchestrierung ist ein weiterer wunder Punkt. Es ist wohl möglich das gleiche Orchestrierungs-System für Private und Public Cloud zu verwenden, doch müssen dafür an beiden Orten die gleichen APIs vorhanden sein. Dies ist meist nur dann der Fall, wenn in allen zu orchestrierenden Umgebungen OpenStack verwendet wird. Alle anderen Kombinationen von Private und Public Cloud bringen komplexe Probleme bei der Orchestrierung mit sich. Mittels Plug-ins kann zwar Funktionalität der Public Cloud dem Orchestrierungs-System der Private Cloud zugänglich gemacht werden, doch bringen die weder nahtlose End-to-End-Funktionalität noch die Möglichkeit, Arbeitslasten nahtlos zwischen Private und Public Cloud zu migrieren. 

Dieses Interview wurde am 1. September 2015 auf Inside-IT veröffentlicht. Die englische Orginalversion findet sich auf Ivan Pepelnjak's Blog auf IPspace.net.