OpenStack

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
In diesem Artikel oder Abschnitt fehlen folgende wichtige Informationen: die ganzen Überschriften ohne Text sollten erweitert werden
Du kannst Wikipedia helfen, indem du sie recherchierst und einfügst.
OpenStack
OpenStack-Logo
Aktuelle Version Ocata[1]
(22. Februar 2017[1])
Programmiersprache Python
Kategorie Cloud Computing
Lizenz Apache-Lizenz
www.openstack.org

OpenStack ist ein Softwareprojekt, welches eine freie Architektur für Cloud-Computing zur Verfügung stellt. Initiiert wurde es von Rackspace sowie der NASA und wird von diversen anderen Firmen, unter anderem AT&T, SUSE Linux GmbH, Canonical, Hewlett-Packard Enterprise, Intel, Red Hat und IBM unterstützt.[2] Entwickelt wird OpenStack als freie Software in der Programmiersprache Python. OpenStack ist unter der Apache-Lizenz lizenziert.

Komponenten[Bearbeiten | Quelltext bearbeiten]

OpenStack-Folsom-Architektur

OpenStack setzt sich aus einer Vielzahl von Komponenten zusammen, welche sich unter anderem um die Virtualisierung sowie die Bereitstellung von Storage kümmern. Wegen seiner Größe gilt es als äußerst komplex.[3]

Compute (Nova)[Bearbeiten | Quelltext bearbeiten]

Bei Compute, auch unter dem Namen Nova bekannt, handelt es sich um den Teil des Stacks, der Gruppen von virtuellen Maschinen verwalten kann.

Die virtualisierten Systeme können über beliebig viele sog. Compute-Knoten verteilt werden. Als Hypervisor werden unter anderem KVM und Xen unterstützt, deren Ansteuerung über die libvirt erfolgt. Weitere Hypervisor sind, teilweise mit eingeschränktem Funktionsumfang, nutzbar.[4]

Zur Bereitstellung von Storage für die virtuellen Maschinen kann z. B. iSCSI, SheepDog oder das im gleichen Projekt entwickelte Swift verwendet werden. Der Dienst Glance, der zum Auffinden, Registrieren sowie Empfangen von Images verwendet wird, vereinfacht die Anbindung an den Object Storage.

Die Verwaltung erfolgt über eine REST API, die mit dem CLI von Eucalyptus angesteuert werden kann. Graphische Oberflächen befinden sich in der Entwicklung, derzeitig ist bereits eine Extension für MediaWiki[5] sowie das OpenStack Dashboard[6] verfügbar. Für den Betrieb von Nova sind weitere Komponenten notwendig. Diese sind eine Datenbank, z. B. Redis oder MySQL, RabbitMQ und memcached.

Object Storage (Swift)[Bearbeiten | Quelltext bearbeiten]

Swift ist der sogenannte Object Storage, der von Nova genutzt werden kann. Dieser ist für die redundante Datenspeicherung verantwortlich. Swift lässt sich auch als Backend für Cinder oder Glance einsetzen. Objekte werden in sogenannten Containern gespeichert, welcher in erster Linie der Gruppierung von Objekten und dem Speichern von Metadaten dienen und wiederum einzelnen Accounts gehören.[7] Der Zugriff auf Objekte und Container erfolgt über eine REST-API.[7]

Für die Dateiverwaltung kann z. B. Cyberduck[8] verwendet werden.

Image Service (Glance)[Bearbeiten | Quelltext bearbeiten]

Der OpenStack Image Service, auch Glance genannt, ist ein Dienst, der OpenStack-Benutzern Abbilder bzw. Images von virtuellen Maschinen zur Verfügung stellt. Diese Images werden von Nova als Vorlage verwendet, um Instanzen von virtuellen Maschinen zu kompilieren. Als Storage Backend können dabei sowohl lokale Festplatten als auch Object Storage Lösungen wie Swift oder Ceph genutzt werden.[9]

Neben den Images kann Glance auch Metadaten wie das verwendete Betriebssystem oder die Kernelversion speichern. Der Zugriff auf sowohl diese Metadaten als auch die Images selbst erfolgt über eine REST-API. Glance unterstützt eine Reihe von Formaten wie VHD, VMDK und qcow2.[10]

Identity (Keystone)[Bearbeiten | Quelltext bearbeiten]

Das OpenStack Identity-Modul mit dem Namen Keystone wird als Authentifizierungs- und Rechtesystem zwischen den OpenStack-Komponenten verwendet. Keystone gliedert den Zugriff auf Projekte in der Cloud in sogenannte "Mandanten" (engl. "Tenant") auf. Ein Mandant ist ein Mieter der Cloud und hat mindestens einen zugeordneten Benutzer. Es ist möglich mehrere Benutzer pro Mandant mit verschiedenen Rechten anzulegen. Keystone benutzt ein Token-System zur Autorisierung und unterstützt auch die Anbindung an weitere Authentifizierungsmöglichkeiten wie z. B. LDAP. Weiterhin ist es möglich über einen vorgeschalteten Webserver die Authentifizierung auf den Webserver zu abstrahieren und somit z. B. direkt eines der zahlreichen vorhandenen Authentifizierungsmodule des Apache-Webservers zur Autorisierung zu benutzen.

Dashboard (Horizon)[Bearbeiten | Quelltext bearbeiten]

Das OpenStack Dashboard mit dem Namen Horizon ist ein Webinterface zur Verwaltung der OpenStack Cloud und stellt die wichtigsten Funktionen der OpenStack-Komponenten in einer einheitlichen GUI bereit. Das Webinterface von Horizon ist templatebasiert und kann durch den Cloudanbieter optisch angepasst sowie durch eigene Funktionen erweitert werden.

Block Storage (Cinder)[Bearbeiten | Quelltext bearbeiten]

OpenStack Block Storage oder Cinder stellt virtuellen Blockspeicher in Form virtualisierter Speichermedien (Festplatten, CDs etc.) zur Verfügung. Der Blockspeicher kann an virtuelle Maschinen angehängt werden. Über eine API-Schnittstelle lässt sich Cinder mit Swift verbinden, so dass Blockspeichermedien mit dem Objektspeicher kommunizieren können.

Networking (Neutron)[Bearbeiten | Quelltext bearbeiten]

Das OpenStack Networking-Modul Neutron stellt den Netzwerkdienst für OpenStack bereit. Mit Neutron lassen sich Netzwerke, Subnetze und IP-Adressen/Floating-IPs verwalten. Eine Floating IP in OpenStack bezeichnet eine offizielle IP, welche als Schnittstelle vom internen zum öffentlichen Netz dient. Neben einem LoadBalancer, dem HA-Proxy und einem HealthMonitor unterstützt Neutron auch Techniken wie VLAN und VPN. Zur Absicherung der Netze nutzt Neutron eine Firewall die vielseitige Portregeln z. B. auf Sicherheitsgruppenbasis erlaubt. Aus markenrechtlichen Gründen musste das OpenStack-Networking-Modul in "Neutron" umbenannt werden. Der vorherige Name lautete „Quantum“.

Database Service (Trove)[Bearbeiten | Quelltext bearbeiten]

Der OpenStack Database Service mit dem Namen Trove befindet sich aktuell noch in der Entwicklungsphase. Trove soll sowohl eine NoSQL-Datenbank (z. B. MongoDB) wie auch eine SQL-Datenbank (z. B. MariaDB) in der Cloud als DBaaS (Database as a Service) bereitstellen.

Orchestration (Heat)[Bearbeiten | Quelltext bearbeiten]

Mit OpenStack Orchestration, auch Heat genannt, lassen sich sogenannte „Stacks“ erstellen. Stacks sind Konfigurationen, bestehend aus verschiedenen Cloud-Komponenten wie Instanzen, LoadBalancer, Sicherheitsgruppen, Netzwerke etc. Mit Stacks lassen sich Deployment- und Autoscaling-Prozesse direkt in OpenStack realisieren. In einem sogenannten Heat Orchestration Template (HOT) werden die Konfigurationen im YAML-Format angegeben. Die Konfigurationsmöglichkeiten sind so umfangreich, dass mit einem Heat Template gesamte Infrastrukturen automatisch erstellt werden können.

Telemetry (Ceilometer)[Bearbeiten | Quelltext bearbeiten]

Das OpenStack Telemetry-Modul mit dem Namen Ceilometer dient als Schnittstelle zum Erfassen und Abfragen von Nutzungszahlen der OpenStack Cloud. Mit Hilfe von Ceilometer lässt sich z. B. ein Accounting für ein „Pay per Use“-Model realisieren. Ceilometer wird u.A. vom OpenStack-Orchestration-Modul Heat verwendet, um Leistungszahlen für Autoscaling zu ermitteln.

Data Processing Service (Sahara)[Bearbeiten | Quelltext bearbeiten]

Der Datenverarbeitungsdienst (Sahara) für OpenStack dient dazu, den Nutzern einfachen Zugang zu Datenverarbeitungsclustern (Hadoop, Spark) nach Angabe von Parametern wie Hadoop-Version, Cluster-Topologie, Hardwaredetails und einigen mehr, bereitzustellen. Nachdem der Benutzer alle erforderlichen Parameter eingegeben hat, erstellt der Data Processing Stack in wenigen Minuten den Cluster. Außerdem stellt der Dienst Mittel zur Verfügung, einen bereits ausgerollten Cluster durch Hinzufügung oder Entfernung von Worker Nodes bei Bedarf anzupassen.
Für den Dienst gibt es folgende Anwendungsfälle:

  • schnelles Bereitstellen von Hadoop Clustern im OpenStack für Entwicklung und Test
  • Nutzung von ungenutzter Rechenleistung von allgemeinen OpenStack-IaaS-Cloud-Diensten
  • Analytics-as-a-Service für kurzfristig oder stoßweise auftretenden analytischen Bedarf an Rechenleistung.

Schlüsselfunktionen sind:

  • entwickelt als OpenStack-Komponente
  • Verwaltet über eine REST Schnittstelle, wobei eine grafische Benutzerschnittstelle als Teil des OpenStack Dashboards verfügbar ist.
  • Unterstützung verschiedener Hadoop Distributionen:
    • Pluggable system of Hadoop installation engines
    • Integration in herstellerspezifische Verwaltungswerkzeuge wie Apache Ambari oder Cloudera Management Console
  • vordefinierte Vorlagen von Hadoop Konfigurationen mit der Möglichkeit, Parameter anzupassen
  • Benutzerfreundliche Oberfläche für Ad-hoc-Analysen von Abfragen, die auf Hive oder Pig basieren.

Entwicklungsgeschichte[Bearbeiten | Quelltext bearbeiten]

Releasename Version Datum der Veröffentlichung Releasenotes
Austin 2010.1 21. Oktober 2010 Releasenotes zu Austin
Bexar 2011.1 3. Februar 2011 Releasenotes zu Bexar
Cactus 2011.2 15. April 2011 Releasenotes zu Cactus
Diablo 2011.3 22. September 2011 Releasenotes zu Diablo
Essex 2012.1 5. April 2012 Releasenotes zu Essex
Folsom 2012.2 27. September 2012 Releasenotes zu Folsom
Grizzly 2013.1 4. April 2013 Releasenotes zu Grizzly
Havana 2013.2 17. Oktober 2013 Releasenotes zu Havana
Icehouse 2014.1 17. April 2014 Releasenotes zu Icehouse
Juno 2014.2 16. Oktober 2014 Releasenotes zu Juno
Kilo 2015.1 30. April 2015 Releasenotes zu Kilo
Liberty 2015.2 15. Oktober 2015 Releasenotes zu Liberty
Mitaka 2016.1 7. April 2016 Releasenotes zu Mitaka
Newton 2016.2 6. Oktober 2016 Releasenotes zu Newton
Ocata 2017.1 22. Februar 2017 Releasenotes zu Ocata

[1]

Nutzung[Bearbeiten | Quelltext bearbeiten]

Anfang März 2012 wurde bekannt, dass die Deutsche Telekom plant, ab Mitte des Jahres einen neuen Marktplatz mit dem Namen[11] Business Marketplace ins Leben zu rufen, dessen Funktionalität auf OpenStack aufbaut.[12] Der Marktplatz wurde mit dem Start weiterer OpenStack-Angebote, der InterCloud (mit Cisco) und der Open Telekom Cloud (mit Huawei), auf cloud.telekom.de überführt.

Ebenso verwendet die Plattform Wikimedia Labs der Wikimedia Foundation OpenStack als Plattform.

Das CERN, die Europäische Organisation für Kernforschung, setzt ebenfalls auf OpenStack als Plattform.[13]

Foundation[Bearbeiten | Quelltext bearbeiten]

Die OpenStack Foundation koordiniert die Entwicklung sowie Verteilung von OpenStack.

Literatur[Bearbeiten | Quelltext bearbeiten]

  • Tilman Beitter, Thomas Kärgel, André Nähring, Andreas Steil, Sebastian Zielenski: IaaS mit OpenStack: Cloud Computing in der Praxis. dpunkt-Verlag, Heidelberg 2014, ISBN 978-3-86490-038-9.

Weblinks[Bearbeiten | Quelltext bearbeiten]

 Commons: OpenStack – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. a b c OpenStack Releases. Abgerufen am 22. Februar 2017.
  2. Companies Supporting The OpenStack Foundation. Abgerufen am 1. Februar 2017.
  3. Martin Gerhard Loschwitz: Openstack: Viele brauchen es, keiner versteht es - wir erklären es. In: Golem.de. 3. Dezember 2015, abgerufen am 17. Dezember 2015.
  4. Feature Classification. Abgerufen am 1. Februar 2017.
  5. https://www.mediawiki.org/wiki/Extension:OpenStackManager
  6. https://wiki.openstack.org/OpenStackDashboard
  7. a b Object Storage API Overview. Abgerufen am 24. Dezember 2016.
  8. https://cyberduck.ch/
  9. Glance Basic Architecture. Abgerufen am 30. Dezember 2016.
  10. Glance Documentation. Abgerufen am 30. Dezember 2016.
  11. Interview mit den OpenStack-Experten vom Business Marketplace, Business Marketplace Blog, abgerufen am 6. Oktober 2014.
  12. Business Marketplace: Telekom eröffnet neuen Cloud-Marktplatz, Netzwelt, abgerufen am 5. März 2012.
  13. "Bei 15'000 Hypervisors ist Skalierbarkeit wichtig" (deutsch, text/html) In: Netzwoche.ch. Netzmedien AG. 24. September 2013. Abgerufen am 25. August 2014.