Stellen wir uns das folgende Szenario vor:
Wir haben unsere IT Infrastruktur erfolgreich in die Cloud eines Anbieters migriert. Alles bestens, wir sagen uns: „Super, alles funktioniert einwandfrei! Wir senken unsere Kosten. Unsere Infrastruktur ist nun so skalierbar, dass sie unseren Anforderungen immer gerecht wird. Uns stehen immer die aktuellen Software Versionen zur Verfügung und wir können von jedem Ort unabhängig von den lokalen Systemen miteinander kollaborieren.“
Was machen wir aber, falls wir uns nun doch dazu entscheiden wieder in das eigene Rechenzentrum zurückzukehren oder den Cloud Anbieter zu wechseln, weil dieser z.B. günstiger ist? Oder gehen wir noch einen Schritt weiter. Wie können wir unsere gesamten Geschäftsprozesse in der Cloud über mehrere Anbieter hinweg verteilt abbilden? Stellen wir uns vor, dass ein Anbieter den Prozess A verarbeitet, ein weiterer den Prozess B. Ein dritter Anbieter verarbeitet den Prozess C und nutzt dabei die Prozesse A und B. Oder wir verwenden eine Vielzahl voneinander unabhängiger Services von unterschiedlichen Anbietern und integrieren diese zu einem einzigen Service. Wir wir sehen, sind der Komplexität keine Grenzen gesetzt. Ein vermeintlich einfacheres Beispiel: Unsere Daten sind bei dem Anbieter A gespeichert und ein Anbieter B soll diese Daten verarbeiten.
Ist das möglich?
Ein weiterhin sehr kritischer Punkt des Cloud Computing ist das Fehlen von Standards. Jeder Anbieter verwendet unterschiedliche Technologien und kocht innerhalb seiner Infrastruktur seine eigene Suppe. Die meisten Anbieter versuchen in der Regel mittels des gefürchteten Vendor-Lockin ihre Kunden „an sich zu binden“. Denn leider haben es bisher die Wenigsten verstanden, Kunden über guten Service und weitere Dienstleistungen von sich abhängig zu machen.
Aus diesem Grund ist jede Beziehung zwischen einem Anbieter und seinem Kunden anders und eine anbieterübergreifende Zusammenarbeit – die für einen Kunden in vielen Fällen unerlässlich ist – kann nicht stattfinden.
Wir brauchen eine transparente Cloud!
Ein möglicher Ansatz wäre libcloud (http://libcloud.org). Dabei handelt es sich um eine Standard Bibliothek u.a. für Anbieter wie Amazon, Rackspace oder Slicehost, die eine einheitliche API bereitstellt. Sie ist in Python implementiert und kostenlos (Apache License 2.0) zu nutzen, um mit unterschiedlichen Cloud Anbietern zu kommunizieren.
Allerdings ist die libcloud Bibliothek nur ein Ansatz. Wir müssen, wenn wir von Cloud Standards reden, uns auf eine noch wesentlich tieferer Ebene begeben. Was ich damit sagen will ist, dass ein Cloud Anbieter sich selber in die Pflicht nehmen muss und seine Schnittstellen so offen und sorgfältig zu dokumentieren, dass ein Wechsel oder eine Integration unterschiedlicher Services, Prozesse etc. zwischen verschiedenen Anbietern ohne weiteres möglich ist.
Ein Kunde muss mit einem guten Gefühl seine Daten, Prozesse etc. zu einem Cloud Anbieter auslagern, weil er sich sicher sein kann über diese frei zu verfügen und einen Wechsel sowie eine Integration sorgenfrei vornehmen zu können.