In unserem Blogbeitrag zur Geschichte der Cloud haben wir gezeigt, wie die Entwicklung von den ersten Multi-Tenant-Systemen bis hin zum ersten Hypervisor, SIMMON von IBM, verlief. Heute kann die Software, die als «Hypervisor» bezeichnet wird, weit mehr leisten. Sie ermöglicht es, virtuelle Maschinen auf einem Bare-Metal-Server zu betreiben, Cluster zu bilden und Datenspiegelungen sicherzustellen. In diesem Beitrag geben wir einen Überblick, um ein grundlegendes Verständnis dafür zu schaffen, was hinter einer Cloud Plattform steckt.
Virtualisierung
Virtualisierung bedeutet, dass Hardware durch Software simuliert wird. Diese Software ist der Hypervisor. Der Hypervisor teilt vereinfacht gesagt einen physischen Server in viele kleine, virtuelle Server auf, die sogenannten virtuellen Maschinen (VMs). Diese VMs nutzen gemeinsam die Ressourcen des physischen Servers. Auf den VMs können dadurch verschiedene Anwendungen gleichzeitig auf der geteilten Hardware ausgeführt werden, was die effiziente Nutzung der Hardware-Ressourcen ermöglicht.
Erklärung anhand von Carsharing
Im Grunde genommen funktioniert der Hypervisor ähnlich wie eine Sharing-Plattform in der Sharing-Economy. Statt ein eigenes Auto zu besitzen, nutzen die Teilnehmer beispielsweise ein Carsharing-Angebot wie Mobility. Der physische Server entspricht in diesem Beispiel dem Auto, das von einer einzelnen Person selten voll ausgelastet wird. Wenn wir das Auto über eine Sharing-Plattform mehreren Personen zur Verfügung stellen, kann dieselbe Ressource, das Auto, besser genutzt werden. Mehrere Personen können das Auto nutzen, dieses wird also virtuell multipliziert, was den VMs entspricht. Die Kunden der Car-Sharing-Plattform nutzen das Auto nicht nur zu unterschiedlichen Zeiten und optimieren so die Auslastung, sondern auch für verschiedene Aktivitäten wie Einkaufen oder Familienausflüge. Diese Aktivitäten stehen für die verschiedenen Anwendungen, die auf den Systemen laufen. Durch Virtualisierung ist es also möglich, eine physische Ressource zu teilen, besser zu nutzen und für verschiedene Anwendungen einzusetzen.
Clusterbildung
Um die Cloud hochverfügbar und möglichst ausfallsicher zu betreiben, bildet die Software aus vielen physischen Servern einen Cluster. Dies ist die Basis einer modernen Cloud-Infrastruktur. Bei einem Ausfall werden die VMs auf einem anderen Server im Cluster zur Verfügung gestellt. Die Latenzzeiten sind hierbei in der Regel so kurz, dass der Unterbruch kaum bemerkt wird. Die Software verteilt dabei die VMs im Cluster so, dass sie die verfügbaren Ressourcen möglichst effizient nutzt. Wenn mehrere physische Server zu einem Cluster zusammengeführt werden, können diese gleichzeitig von mehreren VMs genutzt werden. Die Software balanciert hierbei zwischen Absicherung und Effizienz. Gleich verhält es sich auch im Bezug auf Anwendungen. So können Dienste einer Applikation über mehrer VMs verteilt und gespiegelt werden. Dadurch steigt die Verfügbarkeit der gesamten Plattform.
Erklärung anhand von Autovermietern
Bleiben wir beim Beispiel mit dem Auto, gehen jedoch einen Schritt weiter. Bei der Automiete bietet der Anbieter oft ein Ersatz an, wenn das gewählte Modell nicht verfügbar ist. Der Anbieter bildet mit all seinen Autos an einem Standort mehrere Cluster. Diese Cluster bestehen aus Autos derselben Fahrzeug- und Preiskategorie. Wenn nun ein Unfall passiert oder ein Auto nicht rechtzeitig zurückkommt, stellt der Autovermieter ein gleichwertiges Fahrzeug zur Verfügung. Für den Kunden bedeutet dies, dass der Ausfall kaum eine Beeinträchtigung darstellt. Genau wie der Hypervisor muss das System der Vermietung austarieren, wie hoch die Reserve an Autos sein sollte, um den Clustereffekt bei verspäteten Rückgaben oder Reparaturen nutzen zu können, ohne dass die Kosten zu hoch werden.
Datenspiegelung
Bei der Spiegelung geht es nicht nur um die Parameter, sondern auch um die Daten, die auf einer VM gespeichert sind. Diese Daten werden innerhalb des Clusters ebenfalls gespiegelt. Eine Spiegelung ist nicht mit einem Backup zu vergleichen. Ein Backup wird in der Regel zu definierten Zeiten erstellt und ausserhalb des Clusters gespeichert. Die Spiegelung hingegen stellt sicher, dass nahtlos weitergearbeitet werden kann.
Erklärung anhand von Carsharing
Hier ist etwas Fantasie gefragt, wobei moderne und luxuriöse Autos bereits viele dieser Features bieten. Eine Spiegelung deiner Daten im Auto könnte wie folgt aussehen. Hier besteht der Cluster aus Autos des gleichen Models des Fahrzeuges. Darüber hinaus werden folgende Daten gespeichert: Sitzposition, Autofarbe, Seitenspiegel, Fahrmodi und die letzten Routen sowie deine Streamingdienste mit deiner Drive Playlist. Wenn ein Carsharing-Dienst diese Daten zentral speichert, sodass jedes Auto desselben Modells all diese Einstellungen übernimmt, wenn dein gebuchtes Fahrzeug ausfällt, sprechen wir von Spiegelung. In diesem Fall würdest du nur am Nummernschild erkennen, dass es nicht dasselbe Fahrzeug ist, welches du gebucht hast und üblicherweise nutzt. Für dich gibt es bei der Nutzung und dem Erlebnis also keine Beeinträchtigung.