OpenStack

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 21. Juli 2016 um 17:18 Uhr durch Invisigoth67 (Diskussion | Beiträge) (→‎Nutzung: typo). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen

OpenStack-Logo

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 SUSE Linux GmbH[1], Dell, Canonical, Citrix Systems, Hewlett-Packard Enterprise,[2] AMD, Intel, Red Hat[3] und IBM[4] unterstützt. Zu den Gold- und Corporate-Mitgliedsfirmen gehören außerdem: NetApp,[5] EMC Corporation,[6] Cisco Systems,[7] Cloudscaling,[8] Oracle,[9] VMware,[10] uvm.[11] Zuletzt trat im Juli 2014 SAP[12] OpenStack bei. Entwickelt wird OpenStack als freie Software in der Programmiersprache Python. OpenStack ist unter der Apache-Lizenz lizenziert.

Komponenten

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

OpenStack Compute

OpenStack Compute

Basisdaten

Aktuelle Version Kilo (2015.1.0)
(30. April 2015)
Betriebssystem GNU/Linux
Programmiersprache Python
Kategorie Cloud Computing
Lizenz Apache-Lizenz
wiki.openstack.org/wiki/Nova

Bei Compute, momentan 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 Hypervisoren werden unter anderem KVM und Xen unterstützt, deren Ansteuerung über die libvirt erfolgt. Seit dem Bexar-Release konnte auch Hyper-V von Microsoft eingebunden werden, diese Unterstützung wurde aber im Februar 2012 wieder entfernt, da der Code von Microsoft nicht mehr gepflegt wurde.[14] Im Release "Folsom" wurde die Unterstützung für Hyper-V erneut aufgenommen.

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[15] sowie das OpenStack Dashboard[16] verfügbar. Für den Betrieb von Nova sind weitere Komponenten notwendig. Diese sind eine Datenbank, z. B. Redis oder MySQL, RabbitMQ und memcached.

OpenStack Object Storage

OpenStack Object Storage

Basisdaten

Aktuelle Version 2.1.0[17]
Betriebssystem GNU/Linux
Programmiersprache Python
Kategorie Cloud Computing
Lizenz Apache-Lizenz
wiki.openstack.org/wiki/Swift

Swift ist der sog. 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.

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

OpenStack Image Service

OpenStack Image Service

Basisdaten

Aktuelle Version Kilo (2015.1.0)
(30. April 2015)
Betriebssystem GNU/Linux
Programmiersprache Python
Kategorie Cloud Computing
Lizenz Apache-Lizenz
wiki.openstack.org/wiki/Glance

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.

OpenStack Identity

OpenStack Identity

Basisdaten

Aktuelle Version Kilo (2015.1.0)
(30. April 2015)
Betriebssystem GNU/Linux
Programmiersprache Python
Kategorie Cloud Computing
Lizenz Apache-Lizenz
wiki.openstack.org/wiki/Keystone

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.

OpenStack Dashboard

OpenStack Dashboard

Basisdaten

Aktuelle Version Kilo (2015.1.0)
(30. April 2015)
Betriebssystem GNU/Linux
Programmiersprache Python
Kategorie Cloud Computing
Lizenz Apache-Lizenz
wiki.openstack.org/wiki/Horizon

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.

OpenStack Block Storage

OpenStack Block Storage

Basisdaten

Aktuelle Version Kilo (2015.1.0)
(30. April 2015)
Betriebssystem GNU/Linux
Programmiersprache Python
Kategorie Cloud Computing
Lizenz Apache-Lizenz
wiki.openstack.org/wiki/Cinder

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.

OpenStack Networking

OpenStack Networking

Basisdaten

Aktuelle Version Kilo (2015.1.0)
(30. April 2015)
Betriebssystem GNU/Linux
Programmiersprache Python
Kategorie Cloud Computing
Lizenz Apache-Lizenz
wiki.openstack.org/wiki/Neutron

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

OpenStack Database Service

OpenStack Database Service

Basisdaten

Aktuelle Version Kilo (2015.1.0)
(30. April 2015)
Betriebssystem GNU/Linux
Programmiersprache Python
Kategorie Cloud Computing
Lizenz Apache-Lizenz
wiki.openstack.org/wiki/Trove

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.

OpenStack Orchestration

OpenStack Orchestration

Basisdaten

Aktuelle Version Kilo (2015.1.0)
(30. April 2015)
Betriebssystem GNU/Linux
Programmiersprache Python
Kategorie Cloud Computing
Lizenz Apache-Lizenz
wiki.openstack.org/wiki/Heat

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.

OpenStack Telemetry

OpenStack Telemetry

Basisdaten

Aktuelle Version Kilo (2015.1.0)
(30. April 2015)
Betriebssystem GNU/Linux
Programmiersprache Python
Kategorie Cloud Computing
Lizenz Apache-Lizenz
wiki.openstack.org/wiki/Ceilometer

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.

OpenStack Data processing service

OpenStack Data processing service

Basisdaten

Aktuelle Version Kilo (2014.1.0)
(30. April 2015)
Betriebssystem GNU/Linux
Programmiersprache Python
Kategorie Cloud Computing
Lizenz Apache-Lizenz
wiki.openstack.org/wiki/Sahara

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

Releasename Version Datum der Veröffentlichung Releasenotes
Austin 2010.1 21. Oktober 2010[19] 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[20] Releasenotes zu Icehouse
Juno 2014.2 16. Oktober 2014[21] Releasenotes zu Juno
Kilo 2015.1 30. April 2015[22] Releasenotes zu Kilo
Liberty 2015.2 15. Oktober 2015[23] Releasenotes zu Liberty
Mitaka 2016.1 7. April 2016 Releasenotes zu Mitaka

Nutzung

Anfang März 2012 wurde bekannt, dass die Deutsche Telekom plant, ab Mitte des Jahres einen neuen Marktplatz mit dem Namen[24] Business Marketplace ins Leben zu rufen, dessen Funktionalität auf OpenStack aufbaut.[25] 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.[26]

Foundation

Die OpenStack Foundation koordiniert die Entwicklung sowie Verteilung von OpenStack.

Literatur

  • 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

Commons: OpenStack – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. http://www.suse.com/blogs/suse-joins-openstack/
  2. Jörg Thoma: Virtualisierung: Hewlett-Packard tritt Openstack bei. In: Golem.de. 28. Juli 2011, abgerufen am 17. Dezember 2015.
  3. http://www.heise.de/newsticker/meldung/IBM-und-Red-Hat-steigen-bei-OpenStack-ein-1520305.html
  4. http://www.computerwoche.de/a/ibm-baut-auf-offene-cloud-architektur,2535702
  5. http://www.netapp.com/us/solutions/cloud/openstack.aspx
  6. http://pulseblog.emc.com/2014/11/04/emc-doubles-openstack
  7. http://www.cisco.com/web/solutions/openstack/index.html
  8. http://www.cloudscaling.com/products/openstack
  9. http://www.oracle.com/technetwork/issue-archive/2014/14-mar/o24news-2147183.html
  10. http://blogs.vmware.com/openstack/tag/openstack-foundation/
  11. http://www.openstack.org/foundation/companies/
  12. http://www.heise.de/newsticker/meldung/SAP-wird-Unterstuetzer-von-Cloud-Foundry-und-OpenStack-2265661.html
  13. 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.
  14. http://www.golem.de/news/cloud-software-openstack-entfernt-hyper-v-unterstuetzung-1202-89918.html
  15. http://www.mediawiki.org/wiki/Extension:OpenStackManager
  16. http://wiki.openstack.org/OpenStackDashboard
  17. https://github.com/openstack/swift/blob/master/CHANGELOG
  18. http://cyberduck.ch/
  19. http://wiki.openstack.org/ReleaseNotes/Austin
  20. http://www.openstack.org/software/icehouse/press-release
  21. https://wiki.openstack.org/wiki/Juno_Release_Schedule
  22. https://wiki.openstack.org/wiki/Kilo_Release_Schedule
  23. https://wiki.openstack.org/wiki/ReleaseNotes/Liberty
  24. Interview mit den OpenStack-Experten vom Business Marketplace", Business Marketplace Blog, abgerufen am 6. Oktober 2014.
  25. Business Marketplace: Telekom eröffnet neuen Cloud-Marktplatz, Netzwelt, abgerufen am 5. März 2012.
  26. "Bei 15'000 Hypervisors ist Skalierbarkeit wichtig". (text/html) In: Netzwoche.ch. Netzmedien AG, 24. September 2013, abgerufen am 25. August 2014 (deutsch).