Anzeige
Anzeige
Software & Entwicklung
Artikel merken

OpenStack-Alternative: OpenSource-Cloud-Management mit OpenNebula

OpenNebula ist im Vergleich zum wesentlich bekannteren OpenStack schon ein alter Hase im Cloud-Management. Dank niedriger Einstiegshürden, guter Dokumentation und einem hohen Maß an Flexibiliät kann es oft eine Alternative zum komplexeren OpenStack sein. Wir gehen der Frage nach, wo sich ein Einsatz lohnt, beschreiben die Konzepte hinter OpenNebula und geben Tipps für den Einstieg.

Von Florian Hettenbach
9 Min. Lesezeit
Anzeige
Anzeige

(Grafik: opennebula.org)

OpenNebula: Entstanden aus einem EU-Forschungsprojekt

Im Zuge der globalen Digitalisierung und der vorangegangenen Cloud-/Virtualisierungs-Welle ist ein neuer Markt der Cloud-Management-Frameworks entstanden. Sie stellen eine unentbehrliche Basis für das Management, die Automatisierung und Skalierung von Diensten dar. In vielen Fällen bilden diese Frameworks das technische Rückgrat der Apps, die man tagtäglich auf dem Smartphone oder Tablet verwendet.

Anzeige
Anzeige

„Durch die Abwesenheit eines Hypes haben viele potentielle Anwender OpenNebula nicht auf dem Schirm.“

Sowohl Administratoren als auch Entwickler werden mit diesen Tools in die Lage versetzt, dynamisch Ressourcen zu verwalten und vorhandene Bausteine in der virtuellen Infrastruktur zu kombinieren. Die „Cloud-Konsumenten“, die sich dieser Umgebung bedienen, können sowohl Kunden eines Hosting-Unternehmens als auch Abteilungen innerhalb einer Firma sein.

Dabei setzen die Cloud-Management-Frameworks auf vorhandenen Komponenten (Speicher, Rechenleistung und Netzwerktechnik) auf. Dazu werden Schnittstellen entweder vom Framework vorgegeben oder auf die des Partners genutzt (etwa die APIs von VMware).

Anzeige
Anzeige

Neben dem in den Medien und Hersteller-Newslettern sehr präsenten OpenNebula begann schon 2008, ausgehend von einem EU-Forschungsprojekt. Es zählt damit also schon zu einer der „älteren“ Cloud-Plattformen. Zum Vergleich: OpenStack wurde Mitte 2010 aus der Taufe gehoben und kam dabei primär aus den Reihen der Firma Rackspace als auch der NASA.

Anzeige
Anzeige

Das Ziel beider Projekte ist im Grunde genommen gleich: Eine offene Basis für das Cloud-Computing? Damit steht man schnell vor der Entscheidung zwischen OpenStack oder OpenNebula. Falls sich diese Frage überhaupt stellt, denn die nahezu vollständige Abwesenheit eines Hypes dürfte dazu geführt haben, dass viele potentielle Anwender OpenNebula nicht (oder nicht mehr) auf dem Schirm haben. Dabei weist die Plattform einige interessante Aspekte auf, die es zu kennen lohnt, bevor man sich (wie viele andere) sofort auf OpenStack stürzt.

Haustier oder Herdentier?

Durch das Cloud-Computing hat eine neue Art der Klassifizierung von Workloads beziehungsweise virtueller Maschinen Einzug gehalten. Vorbild dabei war der Umgang mit der Tierwelt: Zum einen gibt es die VMs, die eher dem Haustier ähneln und gehegt und gepflegt werden. Daneben gibt es andere VMs, die wie Nutztiere in der Landwirtschaft gehandhabt werden. Diese Bild lässt sich gut mit den Eigenschaften der beiden Gruppen darstellen: „Haustiere“ sind die klassischen „fetten“ VMs: Datenbanken oder Applikationsserver, die individuell gehegt und gepflegt werden (als Hypervisor ist VMwares vSphere verbreitet). Folgende Eigenschaften haben sie gemeinsam:

Anzeige
Anzeige
  • Sehr individuelle Konfiguration, oft manuell erstellt
  • Wenige Instanzen der Dienste und Anwendungen
  • Set & forget ist die Regel – falls die Maschinen Updates erhalten, werden sie vorher auf nicht-produktiven VM getestet
  • Hohe Anforderung an Ressourcen: Speicherkapazität und/oder IO-Performance sowie Rechenleistung
  • Definierte und einzuhaltende Service-Level-Agreements
  • Hochverfügbarkeit
  • Backup und Disaster-Recovery

Die Nutztiere hingegen sind die Arbeitsbienen und unterschieden sich schon allein in der schieren Anzahl von den Haustieren. Sie haben festgelegte Aufgaben, die es zu erfüllen gilt. Diese Gruppe zeichnen folgende Eigenschaften aus:

  • Viele gleichartige Maschinen mit identische Konfiguration in Bezug auf Dienste, und Applikationen, meist basierend auf fertigen Golden Images
  • Eine Aufgabe für den „Schwarm“, beispielsweise Berechnungen durchführen oder für eine unbekannte Anzahl an Usern als Desktop bereitstehen
  • Die Wichtigkeit der einzelnen Maschine ist sehr gering, also kein Backup oder Disaster Recovery
  • Kurze Lebenszyklen: An einem Tag werden 100 VMs gebraucht, am nächsten nur noch 50, jedoch unter anderer Zielsetzung

Ein Beispiel dafür sind virtuelle Floating-Desktops, Webserver als auch Server zum Prozessieren von Daten.

OpenNebula kann im Prinzip beide Anforderungen bedienen, ist jedoch eher bei der Haustierpflege einzuordnen und damit für für die Automatisierung der Rechenzentrums besser geeignet als zum Ausrollen von tausenden VMs. Im Vergleich mit bekannten kommerziellen Produkten ist OpenNebula also eher beim VMware „vCloud Director“ anzusiedeln, als bei AWS als Anbieter einer möglichst kompletten Bandbreite an Cloud-Diensten.

Anzeige
Anzeige
Einordnung von Cloud-Management-Software.

Einordnung von Cloud-Management-Software.

Von Rollen und Ressourcen

„Am besten nähert man sich dem System aus Sicht der Aufgaben.“

Die Beschäftigung mit Cloud-Werkzeugen und -Frameworks setzt in der Regel voraus, sich mit (meist herstellerkonformen) Definitionen und Begrifflichkeiten auseinanderzusetzen, die mehr oder weniger scharf definiert sind. Auch bei OpenNebula führt daran kein Weg vorbei. Jedoch sind Begriffe und Konzepte hier eher allgemein gehalten und oft ungefähr deckungsgleich zu anderen Frameworks.

Am besten nähert man sich dem System aus Sicht der Aufgaben und damit verbundenen Nutzergruppen. Es gibt zum einen die Konsumenten: Entwickler beziehungsweise „Endbenutzer“, die Ressourcen oder einen Dienst verwenden – die Ressourcen können dabei aus einer OpenNebula-Wolke oder von anderen Quellen wie Amazon Web Services kommen. Die Herkunft ist für den Konsumenten nicht notwendigerweise sichtbar.

Daneben erfüllen die „Cloud-Admins“ noch am ehesten die „klassischen“ IT-Management-Aufgaben: die Infrastrukturbausteine verwalten und für den reibungslosen Betrieb sorgen. Um fertige Bausteine auszurollen zu können, braucht es die „Appliance-Builders“. Sie bauen die Pakete und fertigen Plattformen für die Entwicklung oder die weiteren Schritte der Bereitstellung. Zu guter Letzt haben die „Cloud-Integrators“ sich um die Schnittstellen und API-Thematik zu kümmern.

Anzeige
Anzeige
Typische Nutzerrollen von OpenNebula.

Typische Nutzerrollen von OpenNebula.

Das Rollenmodell von OpenNebula erlaubt die Abbildung dieses Zugriffmodells ohne größere Anpassungen. OpenNebula verwendet als Nutzerkonzepte folgende drei Zugriffsebenen (und daraus resultierend unterschiedliche GUIs): Der „Cloud-User“, der Ressourcen konsumiert und auf der höchsten Abstraktionsstufe arbeitet. Daneben gibt es den „VDC (Virtual Data-Center) -Admin“, der sich um die virtuelle Infrastruktur kümmert. Und als oberste Instanz fungiert der „Admin“, der über alle Einstellungen und Ressourcen vollen Zugriff hat. Darüber hinaus sind auch erweiterte Provisionierungsmodelle mit vorkonfigurierten Berechtigungen möglich, etwa, Gruppen-Administratoren oder „Advanced User“ mit zusätzlichen Rechten.

Hinsichtlich physischer Ressourcen ist das logische OpenNebula-Konzept recht einfach aufgebaut. Hosts, virtuelle Netze und Datastores bilden die unterste Ebene. Gruppen dieser Ressourcen, die aus administrativen oder anderen Gründen zusammengehören, lassen sich in Clustern zusammenfassen, die bei Bedarf wiederum zu so genannten Zones gruppiert werden können. Bei der Definition eines Virtual Datacenters ist man in der OpenNebula-Welt relativ frei: Sie können sowohl aus individuellen Ressourcen wie Hosts und Virtual Networks bestehen, aber auch auch Clustern.

Ein Begriff, der in der OpenNebula-Welt häufig fällt, ist „Cloud-Bursting“. Dabei nutzt man Schnittstellen, um Ressourcen (Rechenleistung, Speicher oder auch Datenbanken) von anderen Clouds oder Anbietern für das Projekt mit einzubinden – falls beispielsweise die lokale Infrastruktur nicht mehr genügend Ressourcen hat. Durch offene Schnittstellen ist das möglich und sogar gewünscht. OpenNebula bietet hierbei Interfaces zu Microsoft Azure.

Anzeige
Anzeige

Architektonisches

Der Aufbau von OpenNebula ist relativ einfach und schnell erklärt. Der abstraktere Cloud-Management-Teil von OpenNebula stellt über eine einfache GUI beziehungsweise abstrahierte APIs Funktionen zur Provisionierung und Elastizität der gesamten Cloud-Struktur sowie Mehrmandanten-Fähigkeiten zur Verfügung. Dieser Teil orchestriert auch die Schnittstelle zu „externen“ Clouds, um das Cloud-Bursting betreiben zu können.

Prinzipieller Aufbau von OpenNebula.

Prinzipieller Aufbau von OpenNebula.

Eine Ebene darunter ist das Management der virtuellen Infrastruktur für die Verbindung mit den Hypervisor-Schicht zuständig, seien es KVM, Xen oder auch Vmwares ESXi. Gemeinsam mit dem Hypervisor sorgt dieser Teil von OpenNebula für die Optimierung der Ressourcen und Themen wie Hochverfügbarkeit und Business-Continuity und erlaubt eine einheitliche Sicht auf die virtuelle Infrastruktur. Ist schon ein vCenter von VMware vorhanden, kann es parallel genutzt oder auch als Ressource in das Cloud-Management von OpenNebula eingebunden werden. Die Einbindung erfolgt dabei über die VMware-Treiber.

vOneCloud: OpenNebula statt vCloud Director

Um aus einer VMware-Umgebung eine offene Cloud-Infastruktur zu kreieren, bietet OpenNebula ein eigenes, freies Produkt namens vOneCloud an, das als Aufsatz auf VMware und als Alternative zum vCloud Director beziehungsweise weiterer Automatisierungstool von VMware zu betrachten ist. Es integriert sich als virtuelle Appliance in die VMware-Umgebung – man fügt die Systeme einfach in die Oberfläche hinzu und kann dann die Cloud-Features nutzen.

Anzeige
Anzeige

Sunstone ist die grafische Oberfläche für die Verwaltung von OpenNebula. Dabei sind je nach Recht und Rolle die zur Verfügung stehenden Funktionen entsprechend eingeschränkt.

Sunstone ist die grafische Oberfläche zur OpenNebula-Verwaltung.

Sunstone ist die grafische Oberfläche zur OpenNebula-Verwaltung.

Will man mit OpenNebula starten, braucht man nur wenige Bausteine:

Auf der Hardware-Seite:

Anzeige
Anzeige
  • Mindestens einen physikalischen Server (in einer Testumgebung können natürlich auch virtuelle Maschinen genutzt werden)
  • Der zu nutzende Speicherplatz wird üblicherweise extern bereitgestellt (SAN/NAS). Alternativ kann auch im Server vorhandener Storage genutzt werden.

Softwarekomponenten:

  • Betriebssystem Linux
  • (Laut einer Studie von OpenNebula bevorzugen Nutzer hauptsächlich CentOS gefolgt von Ubuntu)
  • Installierter Hypervisor: KVM,VMware ESXi oder Xen
  • Ruby ab Version 1.8.7

Die Inbetriebnahme auf der Software-Seite gestaltet sich recht einfach und ist sehr gut dokumentiert. Für Red Hat/CentOS und für Ubuntu stehen Quick-Start-Guides bereit, die eine Testinstallation inklusive NFS-Anbindung zu einer Sache von Minuten machen. Sie besteht aus drei Schritten: Pakete über den jeweiligen Paketmanager des Betriebssystems installieren, anschließend alle Ruby-basierten Abhängigkeiten über ein einziges Skript nachziehen, Konfigurationsdateien auf die Umgebung anpassen (/etc/one/oned.conf, ../sunstone-server.conf) und den Service starten.

Bei mehreren OpenNebula-Nodes müssen diese über SSH (passwortlos) miteinander verbunden werden. Ab diesem Zeitpunkt ist es möglich, über die Sunstone-Oberfläche Virtualisierungs-Hosts hinzuzufügen (Port 9869). Zur Kommunikation mit dem Hypervisor wird entweder das entsprechende Paket (beispielsweise für KVM) installiert oder auf vorhandene Agenten (VMware) zurückgegriffen.

OpenNebula im Workflow mit Konfiguration- und Lifecycle-Management

„Es lassen sich schnell skalierbare und automatisierte Umgebungen realisieren.“

Außer der grafischen Oberfläche Sunstone gibt es eine Reihe von APIs und Kommandozeilen-Tools zur Automatisierung und für Freunde der Shell. Auf der Cloud-Management-Ebene implementiert OpenNebula eine Teilmenge des Elastic-Cloud-Interface EC2, für die Infrastruktur-Schicht ist eine XML-RPC-Schicht das Maß aller Dinge, wenn es um Vollständigkeit geht.

Komfortabler entwickeln lässt sich gegen die OpenNebula-Cloud-API (OCA), für die es jeweils eine Ruby- und eine Java-Implementierung gibt. Damit wird OpenNebula als Baustein agiler Infrastrukturen interessant, in die relativ einfach populäre Tools, beispielsweise Foreman, Puppet oder auch Chef aus dem Ruby-Umfeld nahtlos integriert werden können. So lassen sich schnell skalierbare und automatisierte Umgebungen realisieren, in denen die Verwaltung der OpenNebula-Cloud der OpenNebula-Cloud über Foreman erfolgt und Puppet für die Einstellungen und Konfiguration von Hosts und Paketdetails verantwortlich ist. Als kostengünstiges Scale-Out-Blockstorage kann zudem Ceph für Hochverfügbarkeit und Migrationsmöglichkeiten der virtuellen Maschinen sorgen.

Dieses Konstrukt kann im Kleinen begonnen werden, mit der Möglichkeit flexibel zu skalieren, in dem weitere Server entweder als Hosts oder als Ceph-Bausteine hinzugefügt werden.

David gegen OpenStack? Oder User gegen Vendor?

Ob der Hype um OpenStack jetzt Marktdurchdringung oder nur Hype ist, sei dahingestellt. Unbestreitbar ist, dass das ebenfalls quelloffene OpenStack-Projekt sich viele Unterstützer und Hersteller sichern konnte. Darunter fallen alle namhaften Software- als auch Hardware-Firmen.

„Wir waren innerhalb von zwei Tagen produktiv, wo wir mit OpenStack mehrere Monate gebraucht hätten.“

Auf den zweiten Blick fällt auf, warum große Firmen so interessiert an OpenStack sind: Nach der Basis-Installation ist der Weg zum „Ready-to-run“-Framework noch weit. Open Stack stellt lediglich grundlegende Schnittstellen zur Verfügung. Diesen Punkt nutzen die Hersteller, um eigene OpenStack-Distributionen zu bauen, die selbstverständlich alle wichtigen Tools aus dem eigenen Haus mitbringen, damit man die Lösung in die bestehende Umgebung integrieren kann beziehungsweise aus dem Silo des Herstellers nicht raus muss/kann. Der Medienrummel weckt das Interesse beim Kunden, aber die kostenfreie Variante deckt nur einen Bruchteil der Anforderungen ab und ist sehr komplex in der Einrichtung. So führt der Weg des Kunden indirekt zum Anbieter zurück. Mit diesem Konstrukt kann er sich die innovative Kraft von Open Source zu Nutze machen und dennoch in der klassischen Silo-Denkweise bleiben.

Der Ansatz von OpenNebula ist weniger herstellerdominiert (bei OpenStack besteht große Einflussmöglichkeit zu Beiträgen bei der Entwicklung) und eher dem User zugewandt. Das zeigt sich daran, dass OpenNebula an vorhandene Produkte andockt und nicht erwartet, dass sich die API des Produkts ändert. Dieser Ready-to-run-Ansatz ist gerade für kleine und mittlere Unternehmen sehr interessant, da eine Cloud-Umgebung sehr einfach und schnell auf die Beine gestellt werden kann. Zitat eines OpenNebula-Nutzers: „Wir waren innerhalb von zwei Tagen produktiv, wo wir mit OpenStack mehrere Monate gebraucht hätten.“ Für Unternehmen, die alles komplett selbst bauen und anpassen wollen, kann der Lösungsansatz zu starr sein – das bedingt jedoch auch die Verfügbarkeit von Ressourcen für die Anpassung von OpenStack.

Die Nutzung von Microsofts Hyper-V wäre bei OpenNebula noch wünschenswert, da durch die einfache Einrichtung und Bedienung die Software sehr interessant für das Klientel der Windows-orientierten Unternehmen ist.

Fazit

Trotz seines „fortgeschrittenen“ Alters bietet OpenNebula einen einfachen Einstieg in das Cloud-Computing, basierend auf schon vorhandener Infrastruktur, und überzeugt durch die unkomplizierte Einrichtung und einfache Bedienung.

Unternehmen, die mit geringem Aufwand eine automatisierbare und dynamische Umgebung bereitstellen wollen, sollten OpenNebula auf der Liste der möglichen Software-Produkte stehen haben. Beim ersten Umgang wird sehr schnell klar, dass die Funktionen 80 Prozent der üblichen Anforderungen abdecken (wie zum Beispiel Anwender wie Runtastic, Akamai oder auch KPMG beweisen). Und für die restlichen 20 Prozent gibt es ja noch OpenStack.

Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Ein Kommentar
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Florian Heigl

Hi,

das mit den tausenden VMs ist bei OpenNebula kein Thema – OpenNebula Umgebungen waren lange im Durchschnitt groesser als typische OpenStack Setups.
Gerade im Forschungsbereich oder im Hosting haben die Leute zehntausende VMs auf OpenNebula laufen.

Zu einer Produkteinfuehrung wie OpenStack sollte auch gehoeren, dass man den Markt wirklich sichtet und mit den eigenen Anforderungen vergleicht.
OpenStack kann eine gute Wahl sein, wenn man von einem *ganz bestimmten* SDN Feature traeumt, oder einfach die Kartonloesung mit 24×7 Support vom bereits im Haus eingesetzten Vendor will, oder … ne.
Mehr faellt mir eigentlich nicht ein.

Es muss einen wirklichen Grund geben, einen echten Vorteil fuer den jeweiligen OpenStack zu waehlen. Ansonsten wirft man im Vergleich zu CloudStack oder OpenNebula zu viel Geld und Zeit zum Fenster raus.

Antworten

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige