Apache Deltacloud

Clouds braucht offene Standards

16.06.2011
Von David Lutterkort

Lifecycle einer Cloud

Von Cloud zu Cloud unterscheiden sich die verschiedenen Stati, die eine virtuelle Maschine während ihres Lifecycles durchläuft. Differenzen gibt es nicht nur in der Benennung von logisch äquivalenten Zuständen und Operationen, sondern auch in der Anzahl und Abfolge der Zustände. Deltacloud stellt Clients daher ein vereinheitlichtes Modell des Cloud-spezifischen Lifecycles in Form eines endlichen Automaten zur Verfügung. Darin werden nicht nur Namensunterschiede nivelliert, sondern ein Client kann auch erkennen, welche Operationen abgearbeitet werden müssen, um zum Beispiel eine momentan laufende virtuelle Maschine anzuhalten und zu löschen.

Auch wenn der generelle Lifecycle einer Cloud bekannt ist, ist es im Allgemeinen schwierig zu ermitteln, welche Operationen, wie Pause, Stop etc., auf einer virtuellen Maschine ausgeführt werden dürfen. Dazu müssen viele, zum Teil cloudinterne, Attribute berücksichtigt werden, beispielsweise Permissions. Deltacloud erleichtert Clients hier das Leben, indem es bei jeder virtuellen Maschine mit angibt, welche Operationen ausgeführt werden dürfen, zum Beispiel wie der momentane Benutzer eine virtuelle Maschine anhalten kann.

Cloud Engine und das Deltacloud-API: Mit Red Hats Cloud Engine lassen sich private Clouds implementieren und betreiben, die mit öffentlichen Clouds kommunizieren. Die gesamte ein- und ausgehende Kommunikation erfolgt über das Deltacloud-API.
Cloud Engine und das Deltacloud-API: Mit Red Hats Cloud Engine lassen sich private Clouds implementieren und betreiben, die mit öffentlichen Clouds kommunizieren. Die gesamte ein- und ausgehende Kommunikation erfolgt über das Deltacloud-API.
Foto: Red Hat

Die Realm innerhalb einer Cloud bezeichnet einen abgegrenzten Bereich, der über bestimmte Ressourcen verfügt. Jeder Cloud-Provider definiert diesen Bereich individuell. In einigen Fällen repräsentiert eine Realm unterschiedliche Rechenzentren, Regionen oder auch nur Ressourcen-Pools innerhalb eines einzelnen Rechenzentrums. Ein Cloud-Provider kann beispielsweise darauf bestehen, dass sich alle Ressourcen, die zusammenarbeiten sollen, innerhalb der Realm befinden. Dies gilt etwa für Speichersysteme, die nur unter dieser Bedingung mit Instances verbunden sein können.

Auch bei der Größe der zur Verfügung stehenden virtuellen Maschinen gibt es Unterschiede zwischen den Clouds. Die Angebote unterscheiden sich nicht nur hinsichtlich der Anzahl virtueller CPUs, der Größe des Hauptspeichers und des lokalen Plattenspeichers, sondern auch darin, ob der Benutzer nur virtuelle Maschinen aus einer Liste fester Größen anlegen kann, oder ob es möglich ist, manche der Parameter für die Größe zu ändern. Zum Beispiel mag ein Anbieter nur virtuelle Maschinen mit 1 GB RAM anbieten, während ein anderer es erlaubt, beim Anlegen der VM die Größe des Hauptspeichers zwischen 1 GB und 8 GB in Schritten von 512 MB zu variieren.

Das Deltacloud-API bildet diese unterschiedlichen Möglichkeiten durch Hardwareprofile ab, so dass Clients den vollen Umfang der möglichen VM-Größen sowie aller Parameter, die vom Benutzer beeinflusst werden können, erhalten. Damit müssen Clients nicht wissen, wie genau eine spezifische Cloud die Größe einer neuen VM festlegt, sondern müssen nur das Deltacloud-Modell verstehen.