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