Cloud-Management mit OpenStack

Seite 2: Ökosystem, Konkurrenz

Inhaltsverzeichnis

Quantum wurde bei Folsom eine neue Kernkomponente von OpenStack. Es stellt die Funktionen zur Netzwerkanbindung der Instanzen bereit – zuvor war dafür Nova-Network zuständig. Dabei werden ähnlich wie bei Amazon EC2 IP-Adressen aus einem Pool öffentlicher Adressen (auch Floating IPs oder Elastic IPs genannt) zugewiesen, damit man die Dienste in den Cloud-Instanzen von außerhalb der Cloud erreichen kann.

Quantum bietet vielfältige Möglichkeiten: Einer VM lassen sich einzelne Ports, eine ganze IP-Adresse oder auch ein eigenes VLAN zuweisen – eine Grundsatzentscheidung des Projekts war, dass Quantum jede erdenkliche Netzwerkkonfiguration in der Cloud abbilden können soll. Außerdem stellt Quantum ein neues API für die Tenants zur projektspezifischen Netzwerkkonfiguration zur Verfügung. Ein weiteres neues Feature ist die umfassende Unterstützung von Traffic Shaping (QoS), um die Erreichbarkeit der implementierten Services zu gewährleisten.

Das zweite mit Folsom neue Kernprojekt trägt den Namen Cinder. Es löst den bis zur Vorversion Essex verwendeten Dienst Nova-Volume ab und stellt virtuelle Festplatten als Block Storage bereit.

Die Unterstützung verschiedener Hypervisoren in Nova ermöglicht eine schnelle und kostengünstige Einführung von OpenStack, da die Cloud-Plattform auf der vorhandenen Hard- und Software aufsetzen kann. Über das OpenStack-API ist eine Einbindung in die eigene IT-Infrastruktur einfach realisierbar. OpenStack-Cluster lassen sich jederzeit um weitere Knoten erweitern, sodass die Skalierbarkeit der Cloud sichergestellt ist. Auf den Rechenknoten muss eine unterstützte Linux-Distribution laufen: CentOS, Debian, Fedora, Red Hat Enterprise Linux, Suse oder Ubuntu. OpenStack benötigt zudem einen der unterstützten Hypervisoren (normalerweise Xen oder KVM), Logical Volume Management (LVM) und iSCSI-Unterstützung.

Das OpenStack-Projekt existiert seit 2010 und entstand im Wesentlichen aus internen Projekten der NASA und Rackspace: Im März 2010 entschied sich Rackspace, seine IaaS-Lösung Swift als Open Source zu veröffentlichen. Etwa zur gleichen Zeit wollte die NASA ihr ursprünglich auf Eucalyptus, einer EC2-kompatiblen Cloud-Software, basierendes Nebula-Projekt öffnen. Das erwies sich jedoch als so schwierig, dass letztlich eine kleine Gruppe von NASA-Mitarbeitern kurzerhand an einem Wochenende ein neues Open-Source-Cloud-Projekt namens Nova begründete. Ein Rackspace-Mitarbeiter, der die Gemeinsamkeiten der beiden Projekte erkannte, brachte die Entwicklerteams zusammen: OpenStack war geboren. Im Oktober 2010 wurde das erste Release „Austin“ veröffentlicht.

Seitdem sind zahlreiche Unternehmen als Unterstützer hinzugekommen – das OpenStack-Ökosystem umfasst mittlerweile fast 200 Firmen, darunter Branchengrößen wie AMD, AT&T, Cisco, Citrix, Dell, HP, IBM, Intel, Red Hat, die deutsche Telekom und VMware. Die NASA hat sich im Mai 2012 aus der Entwicklung zurückgezogen und möchte die Cloud-Software nur noch als Anwender nutzen. Im September 2012 hat Rackspace die Steuerung der Weiterentwicklung und den Markennamen "OpenStack" an die OpenStack Foundation übergeben.

Referenzarchitektur für OpenStack ist die Virtualisierungslösung KVM (Kernel-based Virtual Machines) auf der Linux-Distribution Ubuntu. Die OpenStack-Projekte werden auf Canonicals Hosting-Dienst Launchpad entwickelt. Für jedes Projekt existiert eine eigene Gruppe, deren Mitglieder auch automatisch der OpenStack-Gruppe angehören. Die Kommunikation erfolgt über öffentliche Mailinglisten; für schnelle Problemlösungen kann man im IRC nachfragen, dort trifft man vielfach auch die Entwickler selbst an. Alle Änderungen am Code müssen einen definierten Prozess durchlaufen, bei dem eine kollaborative Kontrolle mit dem Code-Review-System Gerrit und ein kontinuierlicher Test aller Komponenten mit Jenkins stattfindet.

OpenStack-Versionen
Codename Veröffentlichung
Grizzy April 2013
Folsom September 2012
Essex April 2012
Diablo September 2012
Cactus April 2012
Bexar Februar 2011
Austin Oktober 2010
Projektgründung Juli 2010

Die Entwicklung von OpenStack schreitet in den einzelnen Teilprojekten rasant voran. So wurde die Komponente Nova-Network zur Netzwerkverwaltung bei Folsom durch das neue Projekt Quantum abgelöst, mit dem die Konfiguration von Netzwerken deutlich flexibler wird, was die Integration in bestehende Netzwerke erleichtert. Mit Quantum ist es beispielsweise möglich, verschiedene Ports der gleichen IP-Adresse unterschiedlichen virtuellen Maschinen zuzuweisen – sozusagen Port-Forwarding in Cloud-Manier.

Ein heiß diskutiertes Thema in der OpenStack-Community ist Hochverfügbarkeit. Die einzelnen Komponenten von Folsom sind nicht für Hochverfügbarkeit ausgelegt, lediglich einzelne Dienste in OpenStack lassen sich hochverfügbar konfigurieren – beispielsweise MySQL und RabbitMQ, für die bereits Lösungen zur Hochverfügbarkeit existieren. RabbitMQ vermittelt die Kommunikation zwischen den einzelnen OpenStack-Komponenten, in MySQL (oder einer anderen Datenbank) speichert die Compute-Komponente Nova Informationen über die verfügbaren virtuellen Maschinen und der Image-Service Glance die Metadaten der Images. (thl)

Mehr Infos

Die Konkurrenz

Ähnlich wie OpenStack sind auch Eucalyptus und OpenNebula offene Cloud-Plattformen zur Verwaltung von virtuellen Maschinen, die sich um Kompatibilität zu dem API von Amazon EC2 bemühen. Mit allen drei Lösungen lassen sich private, hybride und öffentliche Clouds einrichten – inklusive umfangreichen Optionen zur Verwaltung von Benutzern und Gruppen sowie Quotas für Ressourcen.

Eucalyptus entstand als Forschungsprojekt an der Universität von Santa Barbara und arbeitet mit den Hypervisoren Xen, KVM und VMware zusammen. Mittlerweile wird die Software von Eucalyptus Systems vertrieben. Das Unternehmen bot bis vor kurzem nur eine Basisversion der Cloud-Lösung als Open Source an; einige Komponenten wie die Unterstützung von VMware und iSCSI waren proprietär und mussten eigens lizenziert werden. Erst seit der aktuellen Version 3.1 steht Eucalyptus vollständig unter GPLv3. Der Versuch von Eucalytpus Systems, die Cloud-Plattform nach dem „Open-Core-Prinzip“ kommerziell zu vermarkten, hat viele Anwender von Eucalytpus weggetrieben. So war Eucalytpus zunächst Grundlage des Cloud-Angebots von Ubuntu, bis Canonical die Software in Ubuntu 11.10 durch OpenStack abgelöst hat.

Die Komponenten von Eucalyptus lassen sich hochverfügbar konfigurieren; hier besteht bei OpenStack noch Nachbesserungsbedarf. Eucalytpus bemüht sich um weitreichende Kompatibilität zu den Amazon Web Services: Jede Software, die das AWS-API nutzt, sollte auch mit Eucalyptus laufen. Eine kürzlich geschlossene Vereinbarung zwischen Eucalyptus Systems und Amazon soll es Kunden erleichtern, Workloads zwischen Eucalyptus und Amazon zu verteilen. Für Nutzer von AWS ist die Umstellung auf Eucalyptus am einfachsten von allen offenen Cloud-Plattformen.

Auch OpenNebula startete 2005 als Forschungsprojekt. Der Fokus der Apache-2-lizenzierten Software liegt stärker auf der Virtualisierung von Rechenzentren und dem Betrieb privater Clouds als auf AWS-ähnlichen Features, wie man sie für öffentliche Clouds benötigt. Zu den unterstützten Hypervisoren gehören KVM, Xen und VMware. Das Reporting erfolgt wie bei OpenStack über eine Datenbank, die Aktionen in der Cloud protokolliert. OpenNebula bietet verschiedene APIs und lässt sich per XML-RPC, Ruby und Java ansprechen.

Mit Sunstone bringt OpenNebula eine leistungsfähige Weboberfläche mit, die zwischen dem Management der Virtualisierung und der Verwaltung der Zonen – unabhängige Instanzen von OpenNebula, denen bestimmte Rechenknoten zugeordnet sind – unterscheidet. Das macht es möglich, Anwendern die Verwaltung der virtuellen Maschinen zu erlauben, ohne ihnen Zugriff auf die OpenNebula-Konfiguration zu gewähren.

(thl)