OpenStack

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
OpenStack
OpenStack-Logo
Aktuelle Version Pike[1]
(30. August 2017[1])
Betriebssystem GNU/Linux
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, Huawei 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.

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.[9]

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, sodass Blockspeichermedien mit dem Objektspeicher kommunizieren können. Mittlerweile werden auch viele andere Storage-Backends ganz oder teilweise unterstützt. Ebenso gibt es die Möglichkeit, mehrere Backends zu definieren und für jedes Backend einen Volume Type anzulegen, sodass beim Erstellen eines neuen Volumes ausgewählt werden kann, auf welchem Storage-Backend das Volume erstellt wird. [10][11]

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“.

Für die Verwaltung der Sicherungsschicht bietet Neutron die Möglichkeit, mittels Plugins verschiedene bereits vorhandene Netzwerk-Software wie Open vSwitch oder die Bridge-Funktionalität des Linux-Kernels zu verwenden. [12]

Entwicklungsgeschichte[Bearbeiten | Quelltext bearbeiten]

Releasename Version Datum der Veröffentlichung Releasenotes Komponenten
Austin 2010.1 21. Oktober 2010 Releasenotes zu Austin Nova, Swift
Bexar 2011.1 3. Februar 2011 Releasenotes zu Bexar Nova, Glance, Swift
Cactus 2011.2 15. April 2011 Releasenotes zu Cactus Nova, Glance, Swift
Diablo 2011.3 22. September 2011 Releasenotes zu Diablo Nova, Glance, Swift
Essex 2012.1 5. April 2012 Releasenotes zu Essex Nova, Glance, Swift, Horizon, Keystone
Folsom 2012.2 27. September 2012 Releasenotes zu Folsom Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder
Grizzly 2013.1 4. April 2013 Releasenotes zu Grizzly Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder
Havana 2013.2 17. Oktober 2013 Releasenotes zu Havana Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer
Icehouse 2014.1 17. April 2014 Releasenotes zu Icehouse Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove
Juno 2014.2 16. Oktober 2014 Releasenotes zu Juno Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara
Kilo 2015.1 30. April 2015 Releasenotes zu Kilo Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic
Liberty 2015.2 15. Oktober 2015 Releasenotes zu Liberty Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight
Mitaka 2016.1 7. April 2016 Releasenotes zu Mitaka Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum
Newton 2016.2 6. Oktober 2016 Releasenotes zu Newton Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher
Ocata 2017.1 22. Februar 2017 Releasenotes zu Ocata Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, tricircle, vitrage, Watcher
Pike 2017.2 30. August 2017 Releasenotes zu Pike Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, octavia, panko, senlin, solum, tacker, tricircle, vitrage, Watcher, zun

[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[13] Business Marketplace ins Leben zu rufen, dessen Funktionalität auf OpenStack aufbaut.[14] 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.[15]

Foundation[Bearbeiten | Quelltext bearbeiten]

Die OpenStack Foundation koordiniert die Entwicklung sowie Verteilung von OpenStack. Ihr gehören mehr als 60.000 Mitglieder aus 180 Staaten an. Die Mitgliedschaft ist kostenlos und unterliegt keinerlei Beschränkungen, obwohl die Foundation ihre Mitglieder dazu anhält, sich technisch oder gemeinschaftsbildend an OpenStack zu beteiligen. Für Firmen gibt es speziell die Möglichkeit, sich als Platinum, Gold oder Corporate Sponsor zu beteiligen. [16]

Für technische Entscheidungen gibt es das Technical Committee, welches aus dreizehn Mitgliedern besteht, die von den sich aktiv technisch an OpenStack Beteiligenden gewählt werden. Strategische und finanzielle Entscheidungen gehen vom Board of Directors aus, dem je acht Vertreter von Platin- und Gold-Sponsoren angehören, sowie weitere acht aus der Foundation gewählte Mitglieder. Daneben gibt es das User Committee, welches die Anliegen der Benutzer gegenüber Technical Committee und Board of Directors vertreten soll. [16]

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 30. August 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. wikimedia/mediawiki-extensions-OpenStackManager. In: github.com. GitHub, abgerufen am 22. Mai 2017 (englisch).
  6. wiki.openstack.org
  7. a b Object Storage API Overview. Abgerufen am 24. Dezember 2016.
  8. cyberduck.ch
  9. Glance Documentation. Abgerufen am 30. Dezember 2016.
  10. Cinder Support Matrix. Abgerufen am 25. Februar 2017.
  11. Cinder Multi-Backend. Abgerufen am 25. Februar 2017.
  12. Neutron-Dokumentation. Abgerufen am 3. November 2017.
  13. Interview mit den OpenStack-Experten vom Business Marketplace, Business Marketplace Blog, abgerufen am 6. Oktober 2014.
  14. Business Marketplace: Telekom eröffnet neuen Cloud-Marktplatz, Netzwelt, abgerufen am 5. März 2012.
  15. Bei 15'000 Hypervisors ist Skalierbarkeit wichtig. In: Netzwoche.ch. Netzmedien AG. 24. September 2013. Abgerufen am 25. August 2014.
  16. a b OpenStack Foundation. Abgerufen am 25. Februar 2017.