Apache Deltacloud

Clouds braucht offene Standards

16.06.2011
Von David Lutterkort

Definition einer Basisschnittstelle

Deltacloud vermeidet das Problem des kleinsten gemeinsamen Nenners, indem es eine Basisschnittstelle definiert, die von allen Treibern unterstützt wird. Hinzu kommen treiberspezifische Erweiterungen, deren Unterstützung durch einen bestimmten Treiber vom Client durch einfache Mechanismen entdeckt werden kann. Das Ziel dabei ist, dass Clients niemals wissen müssen, mit welcher Cloud sie via Deltacloud verbunden sind, sondern alle Fragen über Cloud-spezifische Unterschiede mittels detaillierter Hinweise in den Responses des Deltacloud-Servers entdecken können.

Das API verfügt über genau einen Single Entrypoint, was als Best Practice in der REST-Welt gilt. Das XML-Dokument, das unter der URL des Entrypoints zu erreichen ist, enthält umfangreiche Informationen über alle Ressourcen, die über den Deltacloud-Server verfügbar sind. Diese umfassen Images, Instances, Realms, Hardwareprofile etc.

Sehr nützlich sind Funktionen, um den genauen Status einer Instance nachvollziehen zu können.
Sehr nützlich sind Funktionen, um den genauen Status einer Instance nachvollziehen zu können.
Foto: Red Hat

Neben URLs zum Auflisten jeder dieser Ressource-Collections enthält das XML-Dokument auch Hinweise über treiberspezifische Erweiterungen. Clients erhalten zum Beispiel einen Hinweis, ob und mit welchem Mechanismus die jeweils verwendete Cloud es erlaubt, benutzerdefinierte Daten in neue VM-Instanzen bei deren Start zu injizieren. Diese Operation ist zum Personalisieren neuer Instanzen enorm wichtig. Sie wird aber leider nicht von allen Cloud-Providern unterstützt, und von denen, die sie unterstützen, in völlig unterschiedlicher Weise angeboten.