Cloud – Abstraktion der zugrundeliegenden Infrastruktur

Für Einsteiger erklärt

Alle reden von “Cloud”. In diesem Artikel wird das Thema für Einsteiger erklärt. Es werden die unterschiedlichen Liefermodelle beschrieben, was die Unterschiede zwischen Public, Private, Hybrid und Community Cloud sind. Außerdem werden die verschiedenen as a Service Modelle (in Auswahl) vorgestellt und voneinander abgegrenzt: IaaS, PaaS, SaaS, CaaS, … Alles wird in einfachen Worten, technisch korrekt, aber allgemein verständlich wiedergegeben, sodass jeder mitreden kann, wenn mal wieder von “Cloud” die Rede ist.

 

Wolken sind riesige Gebilde aus millionen einzelner Regentropfen. Potenziell können sie nahezu unbegrenzt wachsen. Diese Gebilde sind zum Sinnbild für potenziell unbegrenzte Rechnernetze, Infrastrukturen und Speichermöglichkeiten geworden.

Außerdem sind Wolken nicht ortsgebunden und sogar beweglich. Auch diese Eigenschaften sind ein Teil des Sinnbildes, da Clouds die Daten in sich dezentral an verschiedenen Orten speichern und ihre Kapazitäten flexibel nutzen. In der Natur kann man allerdings nicht planen, wann und wo Wolken sein werden, manchmal hat man zu viele, manchmal ist keine in Sicht. Dieses Phänomen wird im Cloud-Umfeld nicht kopiert. Cloud-Anbieter versprechen sogar, dass der Zugriff auf die darin gespeicherten Daten jederzeit von überall möglich sei, natürlich abhängig vom Zugang zum Internet und mit entsprechend gesicherten Zugangsdaten.  

Clouds sind ein Teil der sich immer mehr in Richtung Digitalisierung bewegenden Welt, in der immer mehr über Laptops via Internet erledigt und gearbeitet wird, in der Homeoffice oder Remote eine große Rolle spielen, in der Videokonferenzen und synchronisierte Kalender zum Arbeitsalltag gehören und es papierlose Büros gibt. Die Zusammenarbeit über die Kontinente hinweg ist selbstverständlich geworden und bei stabiler Internetverbindung auch kein Problem mehr. Es spielt heute keine Rolle mehr, wo Mitarbeiter oder Partner sitzen, alle können auf die überall verfügbare Cloud zugreifen und live zusammenarbeiten.

Aber wie kam es zur Idee “Cloud”? Computer sind in den letzten Jahrzehnten ein nicht mehr wegzudenkender Teil beinahe jedes Berufs geworden. Zuerst hatte man Speicher in den Desktoprechnern oder auf Disketten, später auf CD-Rom und USB-Sticks im Kleinen, in größeren Betrieben gab es bald eigene Serverräume und Techniker, die die Infrastruktur betreuten und Rechner und Netzwerke aufsetzten, konfigurierten, testeten, sicherten, updateten und Applikationen installierten. In größeren Firmen waren dafür große IT-Teams eingestellt. Immer mehr Daten fielen an und beanspruchten immer größere Speicherkapazitäten. Größere Speicher fordern mehr Daten heraus. So stießen Firmen an Grenzen ihrer Speichermöglichkeiten und mieteten sich Server in externen Rechenzentren. In den externen Rechenzentren lagen zunächst nur die Daten, wie sie auch in eigenen Serverräumen lagen, die Arbeitsprozesse und Datenstrukturen blieben gleich, oft blieb die notwendige Software noch in der eigentlichen Firma. Dennoch war dies der erste Schritt zu den heutigen Clouds. Eigene Daten wurden einem externen Anbieter übergeben, damit dieser sie speichert und sichert. Und natürlich auch via Internet bereithält.

Eine Cloud ist nicht notwendig in einem Rechenzentrum, sie kann auch über mehrere Zentren oder sogar Länder/Regionen verteilt sein. So wird beispielsweise garantiert, dass Zugriff auf die Daten möglich ist, auch wenn es in einem Rechenzentrum Stromausfall gibt. Die Daten werden im System aber so eineindeutig gekennzeichnet, dass jederzeit gesichert ist, welche Daten zusammengehören und nur Berechtigte darauf Zugriff haben.

 

 

Eine Cloud ist aber nicht nur ein ausgelagerter Speicherplatz für Daten. Auf internen Servern liegen ja auch nicht einfach nur Datenpakete. Um mit diesen Daten arbeiten zu können, wird verschiedenste Software benötigt. Je nachdem, welche Aufgaben erfüllt werden müssen, braucht man nicht nur Software, sonders auch Struktur. Je komplexer die Anforderungen werden, desto komplexer wird auch die Struktur, die dann in eine Infrastruktur eingebunden sein muss.

Das alles bieten Clouds inzwischen an, in verschiedenen Modellen und Angebotspaketen. Genannt wird es:

Cloud Computing

Definiert wird Cloud Computing vom NIST (National Institute of Standards and Technology) folgendermaßen: Cloud Computing ist ein Modell, das es erlaubt, bei Bedarf jederzeit und überall bequem über ein Netz auf einen geteilten Pool von konfigurierbaren Rechnerressourcen (z. B. Netze, Server, Speichersysteme, Anwendungen und Dienste) zuzugreifen, die schnell und mit minimalem Managementaufwand oder geringer Serviceprovider-Interaktion zur Verfügung gestellt werden können.

Ergänzt werden kann dies mit dem Zusatz, dass diese Ressourcen nicht auf einem lokalen Rechner installiert sein müssen. IT-Infrastrukturen wie Speicher, Rechenleistung, Software und damit verbundene Dienstleistungen können vollständig in der Cloud bereitgestellt werden und sind über technische Schnittstellen und Protokolle, z. B. über Webbrowser, erreichbar. Inzwischen wird das gesamte Spektrum der Informationstechnik auch in der Cloud angeboten: Infrastruktur, Plattformen und Software. Auch die Anzahl an Applikationen, die cloudbasiert genutzt werden können, ist stark angewachsen.

Mögliche Vorteile sind, dass keinerlei Wartungs- oder Verwaltungsaufwände entstehen, dass es potenziell unendliche Speicherkapazitäten gibt und dass die Cloud eine ortsungebundene, sprich globale Nutzung der Anwendungen und Services ermöglicht. Immer unter der Voraussetzung, dass eine entsprechende Internetverbindung gewährleistet ist.

Cloud Computing ist der übergreifende Begriff für verschiedene Modelle. Zum Einen gibt es Liefermodelle wie Public Cloud oder Private Cloud. Zum Anderen gibt es Servicemodelle wie PaaS oder SaaS.

Liefermodelle

Public Cloud

In der Public Cloud werden IT-Infrastrukturen und Services für eine breite Öffentlichkeit von einem frei zugänglichen Provider bereitgestellt. Hauptsächlich werden sie von Privatnutzern verwendet, aber auch Unternehmen nutzen Public Clouds, weil diese geringe Investitionskosten, es muss nichts in Rechner- und Rechenzentrumskosten investiert werden, und ein flexibles Bezahlsystem (pay-as-you-go) bieten. Dies bedeutet, dass Public Cloud-Nutzer Infrastruktur mieten und tatsächlich nur ihren Nutzungsgrad und Verbrauch zahlen. Beispiele sind Microsoft Azure, AWS oder die Open Telekom Cloud.

Private Cloud

>>Absatz<< Eine Private Cloud wird nur von einer Firma und einem Nutzernetzwerk verwendet und unterscheidet sich, wenn sie im eigenen Rechenzentrum betrieben wird, nur unwesentlich von der cloudlosen Nutzung des Zentrums. Sie wird meist betrieben, weil es Unternehmen aus Datenschutz- und IT-Sicherheitsgründen vorziehen, ihre IT-Dienste weiterhin selbst zu betreiben und ausschließlich ihren eigenen Mitarbeitern zugänglich zu machen. Werden diese in einer Weise angeboten, dass der Endnutzer im Unternehmen cloud-typische Mehrwerte nutzen kann, wie z. B. eine skalierbare IT-Infrastruktur oder installations- und wartungsfreie IT-Anwendungen, die über den Webbrowser in Anspruch genommen werden können, dann spricht man von einer Private Cloud. Häufig werden diese Mehrwerte aber in so bezeichneten IT-Infrastrukturen nicht oder nur teilweise erreicht.

Hybrid Cloud

Dies ist eine Mischform der Cloud-Nutzung, Teile der Infrastruktur liegen hierbei noch im eigenen Rechenzentrum, Services oder ausgelagerte Teile werden über externe Cloud-Anbieter bezogen und genutzt. Mit Hybrid Clouds werden Mischformen der beiden oben genannten Ansätze bezeichnet. So laufen bestimmte Services bei öffentlichen Anbietern über das Internet, während datenschutzkritische Anwendungen und Daten im Unternehmen betrieben und verarbeitet werden. Die Herausforderung liegt hier in der Trennung der Geschäftsprozesse in datenschutzkritische und -unkritische Workflows. Voraussetzung ist eine saubere und konsequente Klassifizierung der im Unternehmen vorhandenen und verarbeiteten Daten.

 

 

Community Cloud

Hierbei gelten die Grundprinzipien der Public Cloud, der Speicherplatz wird aber von einer Gruppe belegt, man kennt also diejenigen, die sich die Cloud mit der eigenen Firma teilen, um gemeinsam auf bestimmte Dienste zugreifen zu können. Diese sind jedoch nicht öffentlich verfügbar, sondern beschränken sich auf einen definierten Nutzerkreis. Die anfallenden Kosten werden dann unter den Gruppenmitgliedern entsprechend verteilt. Eine Community Cloud nutzen bisher vor allem Behörden, Universitäten, Genossenschaften, aber auch eng zusammenarbeitende Firmen.

Virtual Private Cloud

Dies ist eine Private Cloud in einer Public Cloud. Der private Bereich wird virtuell abgeschieden vom Rest der öffentlichen Infrastrukturen und ist gesondert abgeschottet durch entsprechende Sicherheitsmaßnahmen.

Multi Cloud

In der Multi Cloud werden verschiedene Cloud Computing Dienste von verschiedenen Cloud Anbietern gebündelt und gleichzeitig bzw. parallel genutzt. Dies ist eine Weiterentwicklung der Hybrid Cloud Idee.

Servicemodelle

Wenn ein Kunde seine Daten, Prozesse, Abläufe, sein Arbeiten in die Cloud verlegen möchte, gibt es zu den verschiedenen Liefermodellen von verschiedenen Anbietern auch unterschiedliche Servicemodelle, je nachdem, was man in der Cloud nutzen möchte: die Plattform, die Infrastruktur, Software oder Support. Gängige Angebote sind: Infrastructure as a Service (IaaS), Platform as a Service (PaaS) und Software as a Service (SaaS). Außerdem gibt es auch noch die Modelle Container as a Service (CaaS), Everything as a Service (XaaS), …

 IaaS – Infrastructure as a Service

In diesem Modell wird die Infrastruktur (Rechner, Netzwerk, Speicher) angeboten, die dann vom Nutzer selbständig gestaltet und genutzt wird. Installation von Software oder Applikationen, Wartung, Sicherung und Aktualisierung sind weiterhin Aufgaben des Nutzers der Infrastruktur.  

Cloud Infrastruktur (IaaS-Stack/Layer, z. B. Openstack) wird von drei Komponenten gebildet: Compute (Prozessor (CPU) mit Hypervisoren und Arbeitsspeicher (Ram)), Storage (Speicher/Festplatte) und Netzwerk (IP-Adressen, Netzanbindung). Soll eine virtuelle Maschine (VM) angelegt werden, wird zuerst die Authentifizierung abgefragt, danach wird über die Image-Abfrage geprüft, ob das gewünschte Betriebssystem vom Anbieter bereitgestellt werden kann. Ist dies möglich, erfolgt die Speichererstellung und die Kopie des Images wird in den Speicher gebracht. Man bekommt seinen Bereich im Storage, dieser wird möglichst ausfallsicher als Dreifach-Dubletten auf verschiedenen Festplatten und Servern platziert. Von da aus wird die virtuelle Maschine erstellt und vom Hypervisor bereitgestellt. Die virtuelle Maschine fährt dann im Netzwerk hoch und fragt eine IP ab. Dies ist zumeist ein vollautomatisierter Prozess, der die VMs bereitstellt. In der VM kann der Nutzer dann nach seinen Wünschen verschiedene eigene Container oder Applikationen platzieren und laufen lassen.

Ein Hypervisor wird auch als Virtual Machine Monitor (VMM) bezeichnet. Hierbei handelt es sich um eine Software, die eine Virtualisierungsschicht darstellt. Die Schicht ermöglicht VMs, auf denen unterschiedliche Betriebssysteme laufen sowie deren Steuerung.

 Zu Iaas gehört im Allgemeinen auch ein Nachrichtendienst, ein Monitoring, der Kunden benachrichtigt, falls Probleme auftreten sollten.

Der Vorteil gegenüber eigenen Rechenzentren ist die Skalierbarkeit: Die Rechnerinstanzen können je nach Anforderungen beliebig um weitere Instanzen erweitert oder verkleinert werden. Der Benutzer hat dabei vollen Zugriff auf die Instanzen mit der Eigenschaft, dass er für die Instanzen ab der Betriebssystemebene selbst verantwortlich ist. Die größten Beispiele hierfür sind AWS und die Open Telekom Cloud.

PaaS – Platform as a Service

In diesem Angebot wird dem Kunden von Service-Providern zusätzlich zur Infrastruktur auch eine Plattform als Softwareumgebung zur Verfügung gestellt. Auf dieser können eigene Software-Anwendungen betrieben werden. Die Plattformen können direkt auf den IaaS-Layer aufbauen oder in CaaS (s. u.) eingebaut werden. Dabei sind die Laufzeiten flexibel, die Rechen- und Datenkapazitäten dynamisch anpassbar und die Kosten sind monatlich skalierbar. Eine vom Nutzer erstellte Anwendung wird in eine Cloud-Plattform geladen, daraufhin wird diese automatisch in Verarbeitungseinheiten der zu verarbeitenden Dateien aufgeteilt, die Plattform übernimmt die Bereitstellung. Im Unterschied zu IaaS hat der Benutzer hier keinen direkten Zugriff auf die Rechnerinstanzen und betreibt auch keine VM. Der Nutzer hat also keinen Zugriff auf IaaS. Er bringt lediglich seine Programmlogik in die Plattform, diese tritt ihm gegenüber als Programmierschnittstelle auf und bietet ihm die notwendigen Tools. So kann der Nutzer auf der Plattform seine eigenen Arbeitsschritte definieren und das Programm nach seinen Wünschen anpassen, was er aber auch tun muss. Dadurch, dass der Benutzer hier nur seine Applikationslogik und Daten liefert, kann die Cloud-Plattform die Anzahl der tatsächlich arbeitenden Instanzen nach Belieben erhöhen oder reduzieren. Die Abstraktion von jeglicher technischen Komponente ist hierbei gewünscht, da der Benutzer der Cloud in erster Linie Daten verarbeiten, nicht aber das System administrieren möchte.

Als Beispiel können hier die Produkte Azure von Microsoft, App Engine von Google oder der SysEleven Stack zugeordnet werden.

SaaS – Software as a Service

SaaS wird als All-inclusive-Modell verstanden, der Nutzer braucht nur noch ein technisches Gerät, mit dem er via Internet auf die Cloud zugreifen kann. Zusammen mit der Infrastruktur werden alle Softwareanwendungen vom Serviceprovider bereitgestellt, lokal muss nichts mehr gekauft werden. Somit entfällt auf Nutzerseite lokale Installation, Lizensierung, Wartung, Updates… Es bedarf keiner Betriebserfahrung. Es wird alles so bereitgestellt, dass die angebotene Software einfach genutzt werden kann. Das Angebot variiert von Anbieter zu Anbieter, sie bieten die Bereitstellung (inklusive Betreuung, Wartung, Monitoring) von auf ihrer Infrastruktur laufenden Softwares und Anwendungsprogrammen. Wenn sich der Bedarf ändert, kann unkompliziert neue Software dazugebucht werden, sofern sie vom Anbieter angeboten wird. SaaS versteht sich als modular und serviceorientiert, allerdings ist die Nutzungsintensität und Nutzerzahl einer Anwendung nicht vorhersehbar. Dies muss ein Anbieter einkalkulieren.

Somit stellt dieses Servicemodell die abstrakteste Sicht auf Cloud-Dienste dar. Der Benutzer bringt seine Applikation weder in eine Cloud-Plattform ein, noch muss er sich um Skalierbarkeit oder Datenhaltung kümmern. Er nutzt eine bestehende Applikation, die ihm die Cloud anbietet. Dieser Anwendungsfall inkludiert die beiden darunterliegenden Ebenen, da die Cloud-Funktionalitäten wie hochskalierender, verteilter Speicher, ausfallsichere Infrastruktur und Plattformen zwar die Grundlage der benutzten Anwendung sind, der Nutzer damit allerdings nicht in Kontakt kommt. Das heißt aber auch, dass die Anwendung nicht vom Nutzer angepasst werden kann. Zu bedenken ist in diesem Zusammenhang auch, dass meist pro Nutzer der Anwendung eine Lizenz gekauft werden muss, für größere Firmen bedeutet dies häufig eine hohe Investitionssumme.

SAAS WIRD ALS ALL-INCLUSIVE-MODELL VERSTANDEN

Beispiele für SaaS-Angebote sind die Apple iCloud, Google Drive, WordPress, OneDrive, ownCloud oder NextCloud.

 

 

CaaS – Container as a Service

Container sind abgeschlossene Einheiten, in denen Apps oder andere Software und was diese benötigen, um laufen zu können, liegen. Sie laufen ohne eigenes Betriebssystem in einer Container Runtime (VM oder Bare Metal, z.B. Docker oder Rocket) und funktionieren unabhängig vom restlichen System, bspw. von danebenliegenden Containern. Container sind, dadurch dass sie unabhängig von der Umgebung funktionieren, leicht verschiebbar/portierbar in andere Umgebungen.
Container as a Service bietet an, die Container der Kunden oder bereitgestellte Container über eine Middleware wie z.B. Kubernetes zu orchestrieren. Dazu wird die darunterliegende Infrastruktur (siehe IaaS) genutzt, allerdings ersetzt hier die Container-Engine den Hypervisor. Ein Kunde mietet sich Ressourcen beim Hoster für seinen Container, in dem Daten, Applikationen und Runtime liegen, alles übrige wird vom Provider gestellt: Der CaaS-Layer besteht aus Mastern und Workern, die zusammen den Workload bzw. das Cluster ergeben, in Kubernetes werden diese auch Nodes genannt. Worker sind virtuelle Maschinen, auf denen Linux läuft. Die Container bzw. Pods* in Kubernetes werden in Workern geordnet und laufen gelassen, die von Mastern strukturiert und organisiert werden und über ein Netzwerk miteinander verbunden sind. Über das Netzwerk werden den Workern auch IPs zugewiesen. Um den Container in einem Cluster laufen zu lassen, wird dieser dem Master über eine entsprechende Anfrage “übergeben”. Dieser weist den Container dem Worker zu, der den nötigen Storage und Storagetyp aufweist, ihn laufen zu lassen. Ein Container-Template verbleibt aber im Master, sodass dieser jederzeit wieder hergestellt werden kann, sollte er oder der Worker, auf dem er liegt, ausfallen. Außerdem stellt der Master sicher, dass der Container über einen Port im Worker über das Internet erreichbar ist. Dafür fragt der Master beim IaaS-Layer eine IP-Adresse ab, diese wird mit dem Port am Worker verknüpft. Dorthin gelangt die Anfrage aus dem Internet. CaaS bietet darüber hinaus auch noch den nötigen Storage und häufig das Management bzw. den Support der Container.

*Ein Pod ist die kleinste Einheit in Kubernetes, in einem Pod sind ein oder mehrere Container, die zusammen eine Anwendung ergeben und zusammen laufen, sie kommunizieren auch miteinander.

As a Service

Ein weiterer Service, der von einigen Anbietern angeboten wird, ist XaaS, welcher sich in den letzten Jahren gesondert von den drei Hauptmodellen entwickelt hat. Er umfasst weitere Modelle, wie Humans as a Service (HuaaS), bei dem die Ressource “Mensch” für Dienstleistungen bereitgestellt wird, sowie High Performance Computing as a Service (HPCaaS) und Landscape as a Service (LaaS). Außerdem gibt es noch FaaS – Function as a Service und viele andere Services.

CLOUD COMPUTING ERLAUBT ES, AUF EINEN GETEILTEN POOL VON RECHNERRESSOURCEN ZUZUGREIFEN

 

>Foto vom Autor<<

 

Friederike Zelke, Cloudibility, Kurfürstendamm 21, 10719 Berlin

Die Grafiken erstellte Sandra Gerberding, Cloudibility, Kurfürstendamm 21, 10719 Berlin

 

 

 Quellen:

 

https://blog.bynder.com/de/cloud-computing-fuer-dummies

 

https://aixvox.com/cloud-computing-einfach-erklaert/

 

https://de.wikipedia.org/wiki/Cloud_Computing

 

https://www.cloud.fraunhofer.de/de/faq/publicprivatehybrid.html

 

Und Experten der Cloudibility.

 

Friederike Zelke

Head of Publishing and Public Relations, Cloudical