OpenStack gehört zu den am schnellsten wachsenden Cloud-Betriebssystemen. Das Wort ist jedoch sehr verwirrt und viele Leute verstehen nicht, was dahinter steckt.

In diesem Artikel versuchen wir, die Technologie hinter OpenStack und ihre Entstehung zu analysieren. Bevor wir uns jedoch eingehend mit OpenStack befassen, müssen wir uns eingehend mit einigen Aspekten der OpenStack-Technologie namens Virtualisierung befassen.

Bildquelle: pixabay.com

Was ist Virtualisierung?

Virtualisierung ist eine Technologie, mit der wir virtuelle Instanzen des realen Gegenstücks erstellen können. Beispielsweise würde eine reale physische Maschine in virtuelle Maschinen umgewandelt. Virtuelle Maschinen sind nur eine virtuelle Implementierung Ihrer realen Maschinen.

Eine Analogie kann zu den Emulatoren gezogen werden. Virtuelle Maschinen verhalten sich eher ähnlich, emulieren jedoch keine Spiele, sondern eine ganze Maschine.

Die Technologie, die hinter der Virtualisierung steht und die Erstellung virtueller Instanzen ermöglicht, wird als Hypervisor bezeichnet. Jetzt werden alle virtuellen Maschinen auf einer physischen Maschine ausgeführt.

Die virtuellen Maschinen an sich können von einem beliebigen Maschinentyp mit einer bestimmten Konfiguration sein, sie müssen jedoch kleiner sein als die der Maschine, auf der sie sich befinden. Hypervisor schließt die Lücke zwischen dem Kernel Ihrer physischen Maschine und dem Kernel der virtuellen Maschine.

Es erfasst die Systemaufrufe, konvertiert den Opcode der Maschinensprache, verarbeitet ihn und transformiert ihn dann in den Opcode, der später von der virtuellen Maschine verstanden wird.

Die Maschine, auf der eine virtuelle Maschine "erzeugt" oder erstellt wird, wird als Host-Maschine bezeichnet. Die virtuelle Maschine, die vom Hypervisor auf dem Host-Computer erzeugt oder erstellt wird, wird als Gastmaschine bezeichnet.

Ebenso wird das Betriebssystem, das auf dem Hostcomputer ausgeführt wird, als Hostbetriebssystem bezeichnet, und das Betriebssystem, das auf dem Gastcomputer ausgeführt wird, wird als Gastbetriebssystem bezeichnet.

Der Hostcomputer und die Hostbetriebssysteme sind immer erheblich leistungsfähiger als der Gastcomputer und die Gastbetriebssysteme. Dies liegt daran, dass sich die eigentliche Hardware, die die Verarbeitungsleistung bereitstellt, nur auf dem Host-Computer befindet.

Der Hypervisor wird auch auf dem Host-Computer installiert, auf dem er den größten Teil seines Betriebs ausführt, wobei die Leistung des Host-Betriebssystems selbst verwendet wird. Die virtuelle Maschine verwendet den Hypervisor, um auf einen Teil der Hardware der tatsächlichen Hostmaschine zuzugreifen.

Es ist die Aufgabe des Hypervisors, die virtuelle Maschine mit der erforderlichen virtuellen Hardware zu versorgen. Die virtuellen Maschinen, die vom Hypervisor erzeugt werden, haben im Allgemeinen keine Ahnung, dass sie virtuell sind.

Die erforderliche Hardware wird beim Laichen der virtuellen Maschine bereitgestellt. Sobald die virtuelle Maschine in einem realen Netzwerk erzeugt wurde, wird sie als ein einzelner Knoten behandelt.

Arten von Hypervisoren

Hypervisoren werden hauptsächlich in zwei Typen unterteilt:

Typ 1: Native oder Bare-Metal-Hypervisor:

Diese Hypervisoren werden direkt auf der Hardware des Hosts ausgeführt und sind eng in den Host-Kernel integriert. Sie verwalten Gastbetriebssysteme direkt und die erzeugten virtuellen Maschinen werden als Prozess angezeigt. Sie werden auch als Bare-Metal-Hypervisor bezeichnet. Beispiele sind Citrix, XenServer und VMW sind ESX / ESXi.

Typ 2: Gehostete Hypervisoren:

Diese Hypervisoren werden als normalerweise installiertes Programm in Host-Betriebssystemen ausgeführt. Sie erzeugen eine virtuelle Maschine und abstrahieren sie vom Host-Betriebssystem. Eine Analogie kann zu Spielemulatoren gezogen werden. Beispiele hierfür sind QEMU, VirtualBox und VMWare Workstation.

Es gibt auch einen dritten Hybrid-Typ von Hypervisor wie die kernelbasierte virtuelle Maschine (KVM), die zwar als typisches Programm ausgeführt wird, jedoch beim Ausführen eng in den Kernel und anschließend in die Hardware der Host-Maschine integriert wird.

KVM ist vielleicht der bekannteste Open-Source-Hypervisor, und für OpenStack wird KVM in großem Umfang verwendet. Alle diese Hypervisoren erstellen so genannte Images.

Diese Images sind Replikate eines installierten Betriebssystems oder eines angepassten Betriebssystems mit speziellen Kernelanforderungen. Wenn der Benutzer das Bild später verwendet, ändert er das Bild entsprechend den vom Kunden gespeicherten Daten.

Dieser Speicherplatz wird wieder vom Hypervisor verwaltet, der sicherstellt, dass die Kundendaten erhalten bleiben und genau in dem Zustand vorliegen, in dem sie vor dem Verlassen durch den Benutzer vorhanden waren.

Virtualisierung war notwendig, um eine effiziente Nutzung der Hardware zu ermöglichen. Insbesondere für Betreiber von Cloud-Rechenzentren war die Virtualisierung ein Segen. Mit verschiedenen Arten von Hypervisoren verwendeten Cloud-Anbieter die Virtualisierung schnell, um virtuelle Maschinen, virtuelle Switches, virtuelle Router und andere virtuelle Instanzen von Hardware zu erzeugen.

Sie wurden eng integriert, um ein Netzwerk oder eine Maschine nach Kundenwunsch zu erstellen. Mithilfe der Virtualisierung kann ein Rechenzentrumsbetreiber mehrere Maschinen anstelle von nur einer einrichten.

Und da es in der Cloud nur darum geht, Ihre Rechenleistung zu mieten, wurde das Ertragsmodell durch die Vermietung mehrerer virtueller Maschinen anstelle nur einer einzigen physischen Maschine erheblich verbessert.

Dies erhöhte auch die Wiederverwendbarkeit, da die virtuelle Maschine, die nicht verwendet wird, an andere Kunden vermietet werden konnte. Die Virtualisierung dominierte also und änderte die Regeln des Rechenzentrums.

Anstatt eine komplette Hardware für erhebliche Kosten zu kaufen, liehen sich Geschäftsbenutzer virtualisierte Instanzen der Hardware aus, um die Kosten ihrer IT-Infrastruktur zu senken.

Die Virtualisierung machte also große Fortschritte, doch die Betreiber von Rechenzentren standen vor einem großen Problem, das ihre Fortschritte erheblich stoppte und sogar ihre Einnahmen bis hin zu Verlusten reduzierte.

Das große Problem, das Rechenzentrumsbetreiber nicht erkennen konnten, war das Management! Mit der Weiterentwicklung der Virtualisierung und der Bereitstellung virtualisierter Instanzen nahezu jeder Hardware tauchte die Schwierigkeit auf, diese Vielzahl virtueller Hardware zu verwalten.

Stellen Sie sich als Leiter Ihres Unternehmens vor, Sie möchten 10 verschiedene Maschinen an verschiedenen Orten in verschiedenen Zeitzonen. Sie möchten, dass jeder von ihnen separate Hardware- und Softwareanforderungen hat und auch die Menge der ein- und ausfließenden Daten nachverfolgt.

Als Rechenzentrumsbetreiber respektieren Sie die Kundenanforderungen und erstellen diese 10 virtuellen Maschinen. Stellen Sie sich jedoch vor, Sie würden beim Erstellen dieser virtuellen Maschinen immer wieder neue Anforderungen an mehr virtuelle Maschinen mit jeweils noch komplexeren Anforderungen stellen.

Wie würden Sie so viele virtuelle Maschinen mit jeweils eigenen komplexen Anforderungen und Einstellungen verwalten? Darüber hinaus müssten Sie jede der vermieteten virtuellen Maschinen genau abrechnen. Angenommen, der Kunde hat unterschiedliche Rechnungsanforderungen.

Bei einer Maschine, die als Server verwendet wird, erfolgt die Abrechnung über die Datenmenge, die von der Maschine empfangen wird. Bei einem anderen Computer, der als Client fungiert, erfolgt die Abrechnung nach dem Zeitraum, in dem der virtuelle Client-Computer eingeschaltet ist.

Und diese Anforderungen gelten nur für eine Person. Als Rechenzentrumsbetreiber muss man möglicherweise Tausende und Abertausende virtueller Hardware mit jeweils eigenen Anforderungen an Netzwerk, Hardware und Software betreiben.

Eine ordnungsgemäße Verwaltungsschnittstelle war von entscheidender Bedeutung, um die Organisation in die Unordnung zu bringen, die zum virtualisierten Rechenzentrum wurde. Anstatt in großem Umfang Befehlszeilen und Skripts zu verwenden, war ein gut aufgebautes „Cloud-Betriebssystem“ erforderlich, um das Rechenzentrum ordnungsgemäß warten zu können. Und hier kommt OpenStack ins Spiel.

Empfohlene Kurse

  • Online-Kurs zu AJAX
  • Schnelltest Professional Training Bundle
  • Online-Kurs zu ExtJS
  • CISSP-Schulungspaket

Was ist OpenStack?

Wie eingangs erwähnt, handelt es sich bei OpenStack im Wesentlichen um ein Cloud-Betriebssystem. Unter Betriebssystem verstehen wir eine kostenlose und Open-Source-Softwareplattform für Cloud Computing. Es begann im Jahr 2010 als gemeinsames Projekt von Rackspace Hosting und der NASA.

Anfänglich wurde damit begonnen, dieses spezielle Problem des Rechenzentrums zu lösen, nämlich die Verwaltung vieler virtueller Maschinen. Von dort wuchs es schnell zu einer vollwertigen Community mit technologischem Engagement und Unterstützung einiger der bekanntesten Marken der Informationstechnologie wie Oracle, VMWare, Yahoo Inc. usw.

OpenStack wird derzeit von OpenStack Foundation unterstützt, einer 2012 gegründeten gemeinnützigen Organisation. Die stetig wachsende OpenStack-Community hat es geschafft, alle sechs Monate eine bessere Version ihrer OpenStack-Software in einem zeitbasierten Release-Zyklus mit eindeutigen Entwicklungsmeilensteinen zu veröffentlichen ihrer Veröffentlichungen.

Mit jedem Release wurden weitere Schritte unternommen, die es von einer einfachen Rechenzentrumsverwaltungssoftware zu einer hoch entwickelten Cloud-Softwareplattform machten.

OpenStack bot eine Schnittstelle zur Verwaltung nahezu aller Aspekte einer virtuellen Maschine, von der Erstellung virtueller Maschinen bei Bedarf auf Knopfdruck bis zum Sammeln von Daten aus dem Netzwerk.

Alle zwei Jahre versammelt sich die Community, um neue Funktionen und Unterstützung für den OpenStack Design Summit zu planen. Dort werden die Designpläne der umfangreichen OpenStack-Community überprüft und zusammengestellt.

Mit OpenStack können Benutzer virtuelle Maschinen effizient zusammenstellen und bereitstellen. Es gibt eine sogenannte „grafische Benutzeroberfläche“, über die auf fast alle Funktionen zugegriffen werden kann, die der Endbenutzer benötigt.

Wenn Sie zu unserem vorherigen Beispiel zurückkehren, möchten Sie 10 Maschinen mit jeweils eigenen Anforderungen. Mit der früheren Befehlszeilenschnittstelle wäre es sehr umständlich gewesen, alles selbst zu verwalten.

Mit OpenStack müssen Sie lediglich auf einige Schaltflächen klicken und Ihre virtuelle Maschine entsprechend konfigurieren. Angenommen, Sie möchten ein gut ausgebautes, umfangreiches Netzwerk, in dem Sie Ihr Computernetzwerk in Echtzeit verwalten und anzeigen können.

Wenn Sie erweiterte Funktionen wie Datenanalyse und HADOOP-Clusterunterstützung wünschen, können Sie dies in Ihrer virtuellen Maschine sogar auf einfache Weise vereinfachen. Andere Standardfunktionen wie Speicher, CPU, Speicher und Core-Nutzung können ebenfalls sehr einfach in der grafischen Benutzeroberfläche von OpenStack konfiguriert werden.

Mit OpenStack wird auch eine Echtzeit-Abrechnungsunterstützung bereitgestellt, mit der Sie Statistiken zu jeder mit der Software erstellten virtuellen Maschine verfolgen können. Es enthält Echtzeitstatistiken wie Speichernutzung, Festplattennutzung, Kernnutzung usw.

Da OpenStack größtenteils in Python geschrieben ist, profitiert es auch von der Skripterstellung. Daher wird auch für die Automatisierung der Verwaltung Tausender virtueller Maschinen gesorgt. Sie können ein Skript schreiben, um festzulegen, wann die Automatisierung der virtuellen Maschine aktiviert und wann sie deaktiviert werden soll.

Durch eine solche Automatisierung können Sie eine sehr gut ausgebaute und umfassende Cloud-Computing-Plattform erstellen. Und da OpenStack völlig kostenlos ist, kann jeder den Quellcode verwenden, um seine eigenen Funktionen zu entwickeln und hinzuzufügen, die vollständig auf seine organisatorischen oder persönlichen Bedürfnisse zugeschnitten sind. HP hat dies durch die Veröffentlichung seiner eigenen Cloud-Versionen mit dem Namen HP Helion erreicht.

OpenStack fällt unter der Cloud-Terminologie in die Kategorie "Infrastructure as a Service" (IaaS). Dies bedeutet, dass OpenStack hauptsächlich zum Aufbau einer Infrastruktur verwendet wird, auf der virtuelle Maschinen bereitgestellt werden.

Es erleichtert im Wesentlichen das Laichen von virtuellen Maschinen. Auf diesen virtuellen Maschinen oder „Plattformen“ würden Kunden je nach ihren Anforderungen mieten.

Grundlegende Komponenten von OpenStack

OpenStack hat sich dahingehend verzweigt, dass es viele verschiedene Komponenten gibt, da als Open Source mehrere Komponenten hinzugefügt und in die Software integriert werden könnten.

Das Herzstück der Software sind jedoch nur drei grundlegende Openstack-Komponenten:

  1. Speicherkomponente:

Die OpenStack-Speicherkomponente besteht aus Cinder und Swift. Der Hauptzweck der Komponente besteht darin, die Daten der virtuellen Maschinen zu speichern, die erzeugt wurden und in Betrieb sind.

  1. Infrastrukturkomponente:

Diese Komponente, die auch als Nova Compute bezeichnet wird, ist für die Verwaltung aller Aspekte der Verwaltung und Erstellung einer virtuellen Maschine verantwortlich. Dies umfasst das Zuweisen der erforderlichen Hardware, die Interaktion mit den Hypervisoren und die Funktion als zentraler Knoten bei der Interaktion mit jeder anderen Komponente, die zum Erstellen virtueller Maschinen erforderlich ist.

  1. Bildgebende Dienste:

Es wird auch als Glance bezeichnet und bietet Dienste zum Suchen und Abrufen von Bildern. Im Wesentlichen wird die Unterstützung zum Speichern und Verwalten verschiedener Replikate oder Images virtueller Maschinen bereitgestellt. So kann je nach Anforderung ein beliebiges Bild für den Kunden abgerufen werden.

Fazit

OpenStack hat sich von seinen bescheidenen Anfängen als Open-Source-Software für die Cloud-Verwaltung zu einer großen Community von Cloud-Enthusiasten entwickelt, die OpenStack dazu gebracht haben, sich in verschiedenen Bereichen der Cloud niederzulassen.

Das Herzstück von OpenStack sind Virtualisierung und Hypervisoren, die sicherstellen, dass OpenStack als Verwaltungsplattform die Leistung virtueller Maschinen nutzen kann.

In der Regel als Betriebssystem für Infrastructure as a Service (IaaS) bereitgestellt, bietet es eine einfachere Möglichkeit, Tausende virtualisierter Instanzen zu verwalten.

Die Zukunft von OpenStack sieht vielversprechend aus, da Big Data und andere Aspekte der neuesten Cloud-Technologie nahtlos integriert sind. Und mit der stetig wachsenden Community ist Open Stack bereit, erheblich zu wachsen.

Empfohlene Artikel

In den folgenden Artikeln erfahren Sie mehr über Open Stack und Virtualisierung. Klicken Sie einfach auf den Link.

  1. Beste Sache, um Azure Paas vs Iaas zu lernen
  2. Möchten Sie Informationen zu AJAX-Vorstellungsgesprächen erhalten?
  3. Umfassender Leitfaden zu Android und Open Source Security (OS)
  4. Mythen und Missverständnisse über Open Source Software
  5. Welche Technologie ist am besten? Cloud Computing oder Virtualisierung
  6. Top 10 nützliche Vergleiche zwischen Cloud Computing und Virtualisierung