Cloud Computing

Offene Standards und Schnittstellen für die Cloud

14.08.2012 von Brian Cornell
Statt Server und Applikationen im eigenen Datacenter zu betreiben, ermöglicht Cloud Computing den webbasierten Bezug von Services. Dabei versprechen offene Standards mehr Flexibilität in der Wolke. Der Beitrag erläutert die Vorteile offener Standards und Schnittstellen in der Cloud.

Cloud Computing verspricht eine Reihe von Vorteilen, so ermöglicht die virtualisierte Infrastruktur den Bezug von Rechen- und Speicherressourcen nach Bedarf. In Spitzenzeiten kann zusätzliche Kapazität gebucht und bei einer geringeren Auslastung wieder zurückgefahren werden. Ein wichtiges Merkmal ist die schnelle und flexible Bereitstellung von Ressourcen. Bald schon werden die einzelnen Fachabteilungen in der Lage sein, ihre gerade aktuell benötigte IT-Leistung bei einem nahezu beliebigen Cloud-Provider zu ordern. Um die technischen Details kümmert sich der Cloud-Anbieter.

Cloud-Stack: Bei Cloud Computing gibt es mehrere Abstraktionsschichten (Hardware, Virtualisierung, Management, Applikationen), zwischen denen eine hohe Flexibilität vorhanden sein sollte.
Foto: Red Hat

Bekannte Vertreter öffentlicher Clouds sind Salesforce.com, die Amazon Elastic Compute Cloud (EC2) und der Amazon Simple Storage Service (S3). Ergänzt wird das Angebot öffentlicher Clouds durch eine Vielzahl privater Clouds von Unternehmen, bei denen Anwendungen und Services über das firmeneigene LAN/WAN bereitgestellt werden. Reicht die Leistungsfähigkeit der internen Cloud nicht mehr aus, wäre es wünschenswert, zusätzliche Ressourcen öffentlicher Clouds nutzen zu können.

Hier jedoch hakt es noch etwas: Cloud Computing ist eine noch junge Technologie und daher haben sich bisher noch keine allgemein akzeptierten Standards herausgebildet. Viele proprietäre Technologielieferanten folgen ihren eigenen Vorstellungen, wie eine Cloud aus Applikationssicht angesteuert, betrieben und gemanagt werden sollte. Nutzen Unternehmen eine solche herstellerspezifische Cloud-Plattform, sind sie den Vorstellungen des Technologieanbieters ausgeliefert - und die können sich durchaus im Verlauf von zwei oder drei Jahren gravierend ändern. Was vor allem aus Anwendersicht, aber auch aus Entwicklersicht, fehlt, ist eine Verknüpfung mehrerer Cloud-Plattformen.

Cloud-Services kombinieren

Cloud Computing steht für eine grundlegende Änderung bei der Nutzung von Rechen- und Speicherressourcen. Die bislang festverdrahteten, proprietären Verbindungen zwischen Softwarekomponenten und Anwendern dieser Komponenten werden durch kompakte Webdienste und webbasierten Softwarezugang ersetzt. Die wichtigsten Komponenten, um vorhandene Applikationen von einem zu einem anderen Cloud-Provider zu verschieben oder gar eine Kooperation zwischen mehreren Anbietern zu erzielen, sind:

• Standards bei den Schnittstellen: Anwendungen, die für eine Cloud erstellt wurden, lassen sich dann weitgehend problemlos zu einer anderen Cloud migrieren. Ein Beispiel für offene Standards ist zum Beispiel das Open-Source-Projekt Deltacloud. Deltacloud definiert ein einheitliches Interface und bietet Adapter für die wichtigsten öffentlichen und privaten Clouds. Heute wird die Schnittstelle vom Incubator der Apache Software Foundation betreut und weiterentwickelt.

• Voneinander getrennte Abstraktionsebenen: Es gibt eine klare Trennung von Hardware, Virtualisierung, Management und Applikationen. Diese einzelnen Schichten isolieren die Cloud-Services von der darunterliegenden Infrastruktur und sorgen für eine verbesserte Portabilität von Cloud-Ressourcen. Abstraktionsebenen verringern die Abhängigkeit von CPUs, Betriebssystemen und Virtualisierungssoftware.

• Umfangreiche Managementfunktionen: IT-Administratoren können damit die Cloud-Services, die das Unternehmen von mehreren Anbietern nutzt, so einfach wie möglich nutzen. Benötigt werden beispielsweise Funktionen für ein vollständiges Application Lifecycle Management, damit Unternehmen von der Flexibilität und Anpassungsfähigkeit unterschiedlicher Cloud-Services profitieren können.

Standards für Cloud-Schnittstellen definieren

Zumindest mittelfristig führt an Cloud Computing kein Weg vorbei, aktuell aber zögern Unternehmen noch mit einem breitflächigen Einsatz. Die Gründe dafür können sehr individuell sein, einige haben Sicherheitsbedenken und andere fürchten die Herstellerabhängigkeit. Als erfolgversprechendes Rezept, um in solchen Situationen voranzukommen, hat sich in der Vergangenheit oft die Definition von Standards und Richtlinien durch unabhängige Institutionen und gemischte Hersteller-Anwender-Gremien erwiesen. Standards dienen als Vorgabe, um bestimmte Schnittstellen umzusetzen. Halten sich die Hersteller von Hardware, Netzwerkkomponenten und Software an die Richtlinien, sind die Unternehmen auch bereit, das Angebot anzunehmen, weil sie davon profitieren.

PaaS und IaaS: Open Source bildet die Grundlage für die meisten Clouds, unabhängig von der eingesetzten Anwendung oder dem verwendeten Betriebssystem.
Foto: Red Hat

Wenn es um die Standardisierungsaktivitäten im Bereich von Virtualisierung und Cloud geht, spielen drei Initiativen eine wichtige Rolle: die Open Virtualization Alliance (OVA), die Open Cloud Initiative (OCI) und die Open Datacenter Alliance (ODA). Vor allem in den Bereichen Infrastructure-as-a-Service (IaaS) und öffentliche Clouds kommen Betreiber ohne Virtualisierung nicht aus. Die OVA hat es sich zur Aufgabe gemacht, die Kernel-basierte Virtual-Machine (KVM)-Hypervisor-Technologie als offene Alternative zu proprietären Virtualisierungslösungen zu fördern.

Ziel der Open Cloud Initiative sind offene Standards bei Cloud Computing, um so mehr Interoperabilität zu erreichen. Die OCI hat dabei klare Vorstellungen zu offenen Standards: Sie müssen detailliert dokumentiert, veröffentlicht sowie zugänglich und frei nutzbar sein. Als eines der wenigen Standardisierungsgremien sind bei der Open Datacenter Alliance sowohl Hersteller als auch Anwender vertreten. Ein weiterer Unterschied: Man will keine Standards definieren, sondern in Anwendungsfällen die Herausforderungen beschreiben. Beispiele dafür sind Möglichkeiten, um Applikationen und Infrastrukturen zwischen verschiedenen Clouds zu bewegen sowie die damit verbundenen Interoperabilitäts- und Cross-Platform-Management-Anforderungen.

Fazit: Standardisierungsaktivitäten sind ein wichtiger Beitrag auf dem Weg zur Interoperabilität, da die IT-Infrastruktur von Unternehmen aktuell und künftig zahlreiche Komponenten verschiedenster Hardware- und Softwareentwickler umfasst. Anbieter von Open-Source-Software haben diesen Weg bereits beschritten und arbeiten mit offenen Schnittstellen und Standards und nicht mit hochintegrierten Blackboxes, die Anwender in eine isolierte Systemwelt "einsperren". Damit die Unternehmen tatsächlich von der Wahlfreiheit, wie sie Cloud Computing verspricht, profitieren können, führt auf lange Sicht an offenen Standards kein Weg vorbei. (hal)