Oleksiy Mark - Fotolia
Zwei Abstraktionsmodelle für das Multi-Cloud-Management
Um das Management zu rationalisieren und die Komplexität in einem Multi-Cloud-Modell zu reduzieren, kann man auf zwei Abstraktionstechniken zurückgreifen.
Die Cloud ist im Wesentlichen eine riesige Sammlung von separaten Hosting-Ressourcen, die das Cloud-Management zu einer Herausforderung machen. Verwendet man mehrere Cloud-Provider und Plattformen, wächst diese Herausforderung weiter an. Der beste Weg, die Komplexität des Multi-Cloud-Managements zu minimieren, ist Abstraktion, so dass verschiedene Cloud-Plattformen wie eine einzelne Cloud oder Host aussehen.
Es gibt zwei weitreichende Ansätze der Abstraktion für Multi-Cloud. Einer ist Ressourcenabstraktion, bei der eine Schicht über den Cloud-Ressourcen und -Providern erstellt wird, um diese als einzelne Ressource oder Host erscheinen zu lassen.
Die andere ist die orchestrierungsbasierte Abstraktion, die jegliche Unterschiede in der Software- oder Hardwarekombination in der Multi-Cloud-Umgebung unbedeutend macht – solange die Application-Lifecycle-Prozesse auf jedem Host gleich funktionieren. Welchen Multi-Cloud-Management-Ansatz man wählt, hängt von der gesamten IT-Infrastruktur und -Strategie sowie von der Art der Cloud-Anwendungen ab.
Abstraktion von Ressourcen
Ressourcenabstraktion basiert auf der einfachen Theorie, dass, wenn alle Hosts gleich aussehen, ein einziges, einfaches Toolset Anwendungen in einer Multi-Cloud-Umgebung bereitstellen und verwalten kann. In Multi-Cloud-Anwendungen kann die Ressourcenabstraktion alle Public-Cloud-Plattformen wie eine einzige Cloud aussehen lassen, ebenso wie abstrahierte Data-Center-Ressourcen in einer Private Cloud. Je breiter der Umfang der Ressourcenabstraktion ist, desto unbedeutsamer ist die Grenze zwischen Cloud-Anbietern oder zwischen Public Cloud und Data Center.
Cloud-Computing-Software wie OpenStack und Container-Software wie Docker oder CoreOS Rkt bieten eine grundlegende Ressourcenabstraktion. Sie zeigen auch, dass das wesentliche Element der Abstraktion die explizite Unterstützung eines Pools abstrahierter Ressourcen ist – manchmal auch als Cluster oder Schwarm bezeichnet. Die Organisation von Ressourcen in Clustern ist eine Aufgabe, die an Orchestrierung grenzt, was bedeutet, dass es üblich ist, dass Tools sowohl Ressourcen- als auch orchestrierungsbasierte Abstraktion übernehmen.
Tatsächlich beinhalten die besten Strategien zur Ressourcenabstraktion ein gewisses Maß an Orchestrierung. Zwei Beispiele dafür sind Apache Mesos und Datacenter Operating System sowie Univas Grid Engine und Navops Launch. Beide Kombinationen können Cluster innerhalb jeder verwendeten Cloud-Plattform erzeugen und diese nach oben abstrahieren, um Super-Cluster zu bilden, die sich für elastisches Hosting verwenden lassen. Dies zeigt, dass es für die Abstraktion von Multi-Cloud-Ressourcen von entscheidender Bedeutung ist, für jeden Cloud-Provider, den man einsetzt, eine spezifische Virtualisierungsunterstützung zu haben.
Tools zur Ressourcenabstraktion ermöglichen einem die Definition von Deployment und Verbindungen für Funktionen, die für eine bestimmte Cloud-Plattform einzigartig sind. Univa verfügt zum Beispiel über ausgefeilte Fähigkeiten zum Deployment in AWS. Wenn eine Anwendung jedoch einzigartige Funktionen oder Webservices von verschiedenen Cloud-Plattformen verwendet, lässt sich das gleiche Image nicht skalieren oder über die Multi-Cloud-Bereitstellung verteilen. An diesem Punkt kommt die zweite Strategie ins Spiel: die orchestrierungsbasierte Abstraktion.
Orchestrierungsbasierte Abstraktion
Anstatt die Ressourcen gleich aussehen zu lassen, versucht dieser Ansatz, das Ressourcen-Management gleich aussehen zu lassen. In gewisser Weise umschließt die orchestrierungsbasierte Abstraktion die Unterschiede der Cloud-Anbietern, anstatt sie zu abstrahieren. Ziel dieses Multi-Cloud-Management-Modells ist es, Orchestrierungs- und Automatisierungsschritte mit Tools zu erstellen, die es ermöglichen, Standard- und konsistente Application-Lifecycle-Aufgaben zu erledigen – unabhängig davon, welche Kombination von Hosting- oder Cloud-Providern man verwendet.
Die Ressourcenabstraktion funktioniert gewissermaßen unterhalb des Application-Lifecycle-Prozesses, während die orchestrierungsbasierte Abstraktion lediglich allgemeine Prozesse an bestimmte Cloud- oder Data-Center-Infrastrukturen anpasst.
Die erste Art von Tools für orchestrierungsbasierte Abstraktion sind Erweiterungen gängiger Virtualisierungs-Frameworks. Zum Beispiel bietet Kubernetes eine orchestrierungsbasierte Abstraktion für Container, und OpenStack stellt das gleiche für private oder öffentliche Infrastruktur-as-a-Service-Plattformen bereit.
Die zweite Art von Werkzeugen, die mehr eine „reine“ orchestrierungsbasierte Abstraktion bieten, geht aus DevOps hervor. Das Ziel von DevOps ist die Automatisierung der Anwendungsbereitstellung. Man kann diese Funktionen erweitern, um die Bereitstellung über mehrere Clouds hinweg zu standardisieren.
Einige DevOps-Tools, insbesondere Chef, standardisieren die mit dem Application Lifecycle Management (ALM) verbundenen Prozesse. Andere, wie Puppet und Ansible, basieren auf definierten Betriebszuständen, die die Software dann durch Konfigurationsänderungen zu erreichen versucht. Der Trend geht in Richtung des zweiten Ansatzes, da IT-Teams dieses Modell leichter an die Abstraktion der Multi-Cloud-Orchestrierung anpassen können.
Ein gutes Tool zur orchestrierungsbasierten Abstraktion funktioniert auf zwei Ebenen. Zuerst sollte man eine Reihe von allgemeinen Prozessen definieren, wie die Application Lifecycles funktionieren. Zweitens passt ein Plug-in oder eine zweite Funktionsebene dieses allgemeine Modell an die spezifischen Anforderungen einer bestimmten Cloud-Plattform oder eines Data Centers an. Um einen neuen Cloud-Provider hinzuzufügen, definiert man einfach die zweite Schicht für die Features auf der neuen Plattform.
Zwischen den beiden Abstraktionsmodellen wählen
Um sich zwischen diesen beiden Abstraktionsansätzen für das Multi-Cloud-Management zu entscheiden, sollten man sich mehr auf vorhandene Toolsets als auf die Funktionsweise dieser Modelle konzentrieren. Für Unternehmen, die bereits DevOps-Deployment- und ALM-Tools einsetzen, ist die Erweiterung dieser Tools auf Host-Workloads in der Cloud oder Multi-Cloud die logische Wahl. Diejenigen, die sich für eine neue Hosting-Technologie entschieden haben, insbesondere für Container, sollten die Ressourcenabstraktion ansehen, da diese gut neue Virtualisierungs- und Container-Modelle abbildet.
Wenn Multi-Cloud-Umgebungen mit einer Mischung aus Private und Public Clouds im Unternehmen verwendet werden, ist es wahrscheinlich, dass alle Abstraktionswerkzeuge ohnehin in ein gemeinsames Modell konvergieren werden. Man sollte aber daran denken, dass die orchestrierungsbasierte Abstraktion besser für Multi-Cloud geeignet ist, wenn sie auch eine gewisse Ressourcenabstraktion bietet, während reine Ressourcenabstraktionsansätze keine Unterschiede in den Hosting-Features berücksichtigen.
Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!