Cloud Orchestration

Aus Cloud Computing Workshop
Wechseln zu: Navigation, Suche

Grundlegende Technologien[Bearbeiten]

Virtualisierung von Rechenzentren[Bearbeiten]

Es ist möglich ein gesamtes Rechenzentrum zu virtualisieren, indem die drei Bereiche Netzwerke, Server und Storage einzeln virtualisiert werden und mit Hilfe eines Werkzeuges zentral verwaltet werden können. Das zentrale Konzept dahinter kommt aus dem Bereich des Cloud Computing und nennt sich Resource Pooling. Dabei werden Ressourcen unabhängig von der darunterliegenden Hardware zugewiesen und stehen in sogenannten Ressourcen Pools zur Verfügung. VMware Inc. verwendet dieses Konzept und bietet die Möglichkeit sogenannte vDCs (virtual Data Center)zu erstellen.

Server Virtualisierung[Bearbeiten]

Die Virtualisierung von Servern erfolgt durch eine Abstraktion der physischen Hardware vom Betriebssystem (vgl. Kirchner, 2007, S. 105). Dabei können auf einem physikalischen Server mehrere virtuelle Maschinen (VMs) laufen und diese über eine zentrale Instanz gesteuert werden. In Abbildung X werden ein regulärer Server und ein physikalischer Server mit mehreren virtuellen Maschinen dargestellt. Die Virtualisierung von Servern wird durch einen sogenannten Hypervisor ermöglicht. Es gibt dabei einen Typ 1 und einen Typ 2 Hypervisor. Der Typ 1 Hypervisor benötigt kein installiertes Betriebssystem auf dem Bare-Metal, da alle Hardwaretreiber im Hypervisor enthalten sind. Der Typ 2 Hypervisor setzt im Gegensatz dazu direkt auf das existierende Betriebssystem auf und nutzt die Treiber, die das installierte Betriebssystem bereitstellt (vgl. Bögelsack, et al., 2010, S. 55f). Durch diese Virtualisierung ist es möglich, die Hardwareausstattung des virtuellen Systems im Nachhinein anzupassen, ohne dass das System dabei ausgeschaltet werden muss (vgl. Bögelsack, et al., 2010, S. 35). Realisiert wird dies, indem die Hardware des Servers selbst als Ressourcenpool für alle VMs zur Verfügung steht und nach Bedarf zugewiesen werden kann. Dadurch ermöglicht die Virtualisierung eine größere Kontrolle über die Ressourcen der jeweiligen virtuellen Server (vgl. BITKOM, 2009, S. 70-72). Desweiteren können Systeme vollständig kopiert werden, indem zum einen die Konfiguration der VM sowie alle Daten der VM kopiert werden. Bei den Herstellern VMware Inc. und Microsoft Corp. werden diese jeweils in einer Datei gespeichert (vgl. Ahnert, 2009, S. 668). Sobald eine einheitliche Vorlage für ein Kundensystem angelegt wurde, kann dieses Basissystem einfach kopiert werden, falls ein Kunde ein weiteres System nutzen möchte.

Netzwerk Virtualisierung[Bearbeiten]

Netzwerke können virtualisiert werden, indem sogenannte Virtual Local Area Networks (VLANs) verwendet werden. Diese bieten dem Architekten der Netzwerke eine größtmögliche Flexibilität bei der Gestaltung (vgl. Lewis, 2009, S. 167f). Dabei werden die VLANs logisch getrennt, indem die Netzwerkpakete ein sogenanntes VLAN Tag erhalten. Dabei erhält ein Ethernet Paket eine Änderung im Header des Pakets, das es mit einer eindeutigen ID versieht. Diese ID kann Werte zwischen 0 und 4094 annehmen, wobei 0 für kein VLAN steht (vgl. Lewis, 2009, S. 197-206). Durch diese VLANs können auf einer physikalischen Netzwerkverbindung mehrere virtuelle Netze übertragen werden. Auf den Netzwerkswitchen können die jeweiligen Ports mit unterschiedlich vielen VLAN Tags versehen werden. Auf diesen Ports werde nur diejenigen Pakete weitergegeben, die mit dem VLAN Tag des Switch übereinstimmen (vgl. Larisch, 2009, S. 161f). Innerhalb der physikalischen Server funktioniert der Vorgang ähnlich, wie Abbildung X verdeutlicht. Beispiel.jpg Der physikalische Server ist an zwei verschiedene Switche angeschlossen, daher werden zwei Netzwerkkarten in dem Server verwendet. Dies dient der Redundanz des Systems. Auf den physikalischen Verbindungen zwischen Server und den beiden Switchen liegen die VLANs mit der ID 1 bis 5. Im Server selbst befindet sich ein virtueller Switch, der beispielweise in VMware vSphere oder Microsoft HyperV integriert ist. Die virtuellen Server können mit ihren virtuellen Netzwerkkarten auf die jeweiligen virtuellen Ports des internen Switches zugreifen und somit in getrennten Netzen agieren. Dadurch erhält jeder Kunde seine eigene Umgebung und ist auf diese Weise vor anderen Kunden geschützt und außerdem einfacher zu verwalten.

Storage Virtualisierung[Bearbeiten]

Um Speichersysteme zu virtualisieren, wird ein sogenanntes Storage Area Network (SAN) gebildet. Unter einem SAN versteht man ein System, welches physikalischen und konsistenten Datenspeicher, wie Festplatten, verschiedenen Servern über ein Netzwerk zur Verfügung stellt, sodass die Server den Speicher als lokale Festplatten einbinden können (vgl. Gupta, 2002, p. 33). Für den Server verhält sich das SAN wie eine lokale Festplatte. Daher gibt es auch hier eine Entkopplung der physischen Hardware von der logischen Hardware. Ein SAN unterscheidet sich von einem Network Attached Storage (NAS), dadurch dass die Daten bei einem SAN blockweise übertragen werden, wohingegen ein NAS wie ein regulärer Dateiserver agiert und die Datenübertragung daher datenorientiert abläuft. Die Kommunikationsprotokolle, die bei einem SAN verwendet werden, sind Fibre- Channel (FC) SAN oder Internet Protocol (IP) SAN (iSCSI). Das FC Protokoll muss über Glasfaserkabel übertragen werden, wohingegen iSCSI sowohl über Glasfaser als auch über Kupferkabel kommunizieren kann (vgl. Zimmer, et al., 2010, S. 382). Das SAN verwendet ein eigenes physisches Netzwerk, das vom restlichen Netzwerk des Unternehmens getrennt ist. Da im SAN sehr viele Daten übertragen werden, sollte dieses Netzwerk möglichst performant sein. Zu diesem Zweck werden oft FC Verbindungen gewählt, die Datenübertragungsraten bis zu 16 Gigabit pro Sekunde erlauben (vgl. Tierling, 2010, S. 1179f). Dies entspricht der 1.000 fachen Geschwindigkeit eines regulären DSL 16.000 Anschlusses. Die Festplatten werden dabei in Storagetürmen untergebracht, in denen ein Storagecontroller für die Verwaltung der Festplatten verantwortlich ist. Die eigentliche Virtualisierung des Storage erfolgt mit Hilfe einer Logical Unit Number (LUN), die die Festplatten in ein anderes Medium konvertiert. Eine LUN geht keine zwingende 1 zu 1 Beziehung mit den Festplatten im Storage ein, sondern kann variabel einer virtuellen Maschine zugeordnet werden. Jede LUN erhält eine eindeutige ID von 0 bis 255 und kann anhand dieser IDs der VM zugeteilt werden. Die Größe der LUN ist dabei auch im Nachhinein veränderbar. Abbildung X zeigt den beispielhaften Aufbau eines SAN in einer virtuellen Umgebung.Beispiel.jpg Aus Sicht der Hardware ist das Storage System über zwei SAN Switche mit dem physikalischen Server verbunden. Die doppelte Verbindung dient hierbei wieder der Redundanz des Systems. Die Verbindungen erfolgen durch Glasfaserkabel, da diese eine besonders schnelle Datenübertragung ermöglichen. Aus der logischen und virtuellen Sicht gibt es in dem Storage System mehrere LUN Bereiche, die über ihre eindeutige ID mit einem der virtuellen Server verbunden sind. Gesteuert wird diese Verbindung durch eine Managementsoftware für die VMs.

Cloud Orchestrierung[Bearbeiten]

Orchestrierung in der Informationstechnologie ist eine übergreifende Verwaltung von Prozessen zwischen mehreren IT Systemen. Dabei wird die IT bis auf die Ebene der Prozesse abstrahiert und kann somit von normalen Anwendern ohne IT Kenntnisse gesteuert werden. Des Weiteren ermöglicht es einen weiteren Überblick über die Infrastruktur.

Business Case[Bearbeiten]

Einführung[Bearbeiten]

Anhand des folgenden Business Case soll gezeigt werden, inwieweit sich die Orchestrierung einer Kundenumgebung, auf VMware Basis, in der Praxis umsetzen lässt und welche Möglichkeiten dabei bestehen. Intern gibt es einen vordefinierten Prozess, welcher durchlaufen werden muss, um VM-Testumgebungen bereitzustellen. Dieser Prozess wird momentan von den Administratoren manuell in mehreren Schritten durchgeführt. In Zukunft soll dieser Prozess halb-automatisch durchlaufen werden, mittels vCenter Orchestrator. Anhand eines vordefinierten Templates soll es möglich sein automatisch eine Kopie eines Produktivsystems zu erstellen und als Testsystem in einem seperaten Test-Ressourcenpool abzulegen. Der User soll den Prozess dabei nur initalisieren.

Umgebung[Bearbeiten]

Die VMware Umgebung besteht aus drei Ebenen.

Datacenterebene: Die Datacenterebene stellt die unterste Schicht dar und enthält die ESX/ESXi-Hosts. Diese Datenbanken stellen ein Dateisystem, das VMFS (Virtual Machine File System), bereit, welches üblicherweise mit einem Shared-Storage (NAS/SAN) genutzt wird. Innerhalb des VMFS-Volumes werden den VMWare-Gastmaschinen mittels einer Containerdatei (VMDK) virtuelle Festplatten zur Verfügung gestellt.

Managementebene: Innerhalb dieser Schicht befindet sich der VMware vCenter Server und kommuniziert mit der Datacenterebene und den sich dort befindenden ESXi-Hosts. Somit wird hier die zentrale Administration der ESX/ESXi-Server und deren virtueller Maschinen ermöglicht. Man muss sich nicht mehr mit jeder Administrationskonsole eines jeden Servers bzw. einer jeden virtuellen Maschine verbinden.

Prozessebene: Auf der Prozessebene lassen sich Workflows anlegen und verwalten, um die ganze VM-Umgebung zu Orchestrieren. Dazu dient ein Plugin für den vCenter Orchestrator, welches ihn mit vCenter Server verbindet. VMware vCenter Orchestrator bietet direkt nutzbare Workflows, mit denen Administratoren vorhandene manuelle Aufgaben automatisieren können.

Bild11.jpg