Cloud Computing: clouds are made of steel

Cloud Computing: clouds are made of steel
28 Aug 2017

Cloud Computing – heute möchte ich mich in Teil zwei unserer Serie mit den drei Servicemodellen und Deployment-Modellen des Cloud Computings beschäftigen.

Infrastructure as a Service (IaaS)

Die Infrastrukturebene bildet die Basis und stellt Funktionalität zur Verfügung, auf der die anderen Ebenen aufbauen. Ein bekanntes Angebot im IaaS-Bereich ist z.B. die Amazon Elastic Compute Cloud (EC2). Vergleichbar mit Hardware, die man im Geschäft kauft, kann man sich bei Amazon eine Virtuelle Maschine (VM) buchen, die wie ein neuer Computer daherkommt: Meistens mit Linux betrieben (aber auch hier ist der Anwender frei in der Entscheidung und kann auch andere Betriebssysteme einsetzen), kann man sich auf dieser Maschine einloggen und findet nichts als ein frisch installiertes Betriebssystem. Jede weitere Software muss man selbst installieren, (fast) jede benötigte Anpassung und Konfiguration muss man selbst vornehmen. Manche Cloud-Anbieter stellen bereits vorkonfigurierte VMs zur Verfügung, so dass der Nutzer bereits installierte und konfigurierte Software nutzen kann. Dieses Angebot bietet die größtmögliche Flexibilität (man kann die Software nach den eigenen Wünschen betreiben und anpassen), erfordet jedoch auch die meiste Arbeit. Insbesondere im Hinblick auf IT-Security stellt ein IaaS-Angebot die größten Anforderungen an den Nutzer, beginnend mit dem Einspielen von Sicherheitsupdates bis hin zur sicheren Konfiguration betriebener Services und der Absicherung der VM gegen Angriffe aus dem Internet.

Platform as a Service (PaaS)

Wer sich nicht mit dem Einrichten und Betrieb eigener (virtueller) Server auseinandersetzen möchte, kann zu einem PaaS-Angebot wie der Google App Engine greifen. Eine solche Plattform bietet eine Ausführungsumgebung für eigene Software, ohne sich um die darunterliegenden Details kümmern zu müssen. Jedes dieser Plattform-Angebote stellt jedoch bereits gewisse Anforderungen an die Software, die auf der jeweiligen Plattform ausgeführt werden soll: Diese muss nämlich in einer bestimmten Programmiersprache vorliegen. Das bedeutet häufig, dass man auf Open-Source-Software (OSS) oder Software angewiesen ist, auf deren Quellcode man Zugriff hat. Der Quellcode einer Software muss nämlich angepasst werden, um die Vorteile einer solchen Plattform ideal ausnutzen zu können: Bei (sprunghaft) steigendem Bedarf an Ressourcen – z.B. aufgrund einer Erwähnung des eigenen Services auf einem stark frequentierten News- Portal – muss sehr schnell auf steigende Nutzerzahlen reagiert werden können. In einem solchen Fall kann die Software selbst veranlassen, dass über die Plattform weitere Ressourcen auf Infrastrukturebene angefordert und genutzt werden. Die Software selbst verwendet dafür eine Schnittstelle der Plattform, alles weitere – die Bereitstellung, Einrichtung und Konfiguration der neuen Ressourcen – geschieht völlig transparent für die Software.

Software as a Service (SaaS)

Basierend auf einer solchen Plattform gibt es zahlreiche Anbieter, die schließlich ihre Software direkt als SaaS-Angebot zur Verfügung stellen. Eines der frühesten und größten Angebote ist die Customer Relationship Managment (CRM) Software SalesForce. Der Anwender kann sich über ein Web-Interface des Service-Anbieters einloggen und direkt im Browser die Software nutzen. Er muss sich nicht mit den darunter liegenden Ressourcen beschäftigen und er muss sich um Skalierung bei gesteigerten Anforderungen und Nutzern keinerlei Gedanken machen. Aus Usability-Sicht ist ein SaaS-Angebot in der Regel das am einfachsten nutzbare, jedoch ist die Flexibilität eines SaaS-Angebots beschränkt: Der Nutzer ist auf den vom Anbieter zur Verfügung gestellten Funktionsumfang angewiesen und kann selbst keinerlei Anpassung vornehmen oder gar eine andere Software betreiben.

Seit Jahren tauchen im IT-Bereich weitere Begriffe auf wie „Everything as a Service“ (XaaS), die sich oft jedoch einem der drei oben genannten Servicemodelle zurechnen lassen. In dieser Einführung belassen wir es bei der Definition der oben genannten Modelle und wenden uns den Bereitstellungsmodellen zu, die ich aber nur kurz skizzieren werde.

Deployment-Modelle

Im Abschnitt der Deployment-Modelle beschreibt das NIST vier verschiedene Modelle, wie Cloud-Services bereitgestellt werden können:

1. Private Cloud: Die Ressoucen stehen ausschließlich einem Anwender zur Verfügung.

2. Community Cloud: Die Ressourcen stehen Anwendern zur Verfügung, die an einem gemeinsamen Projekt arbeiten oder ein gleiches Ziel verfolgen.

3. Public Cloud: Die Ressourcen stehen jedem zur Verfügung.

4. Hybrid Cloud: Eine Cloud wird mit mehreren der drei vorangegangenen Bereitstellungsmodelle betrieben, z.B. kann eine private Cloud bei Lastspitzen auf die Ressourcen einer externen Public Cloud zurückgreifen (dieses Verhalten nennt man „Cloud Bursting“).

In vielen großen Firmen kann man private Clouds finden, die Services für die jeweilige Firma erbringen. Dies können Groupware-Services zur Terminplanung und Kommunikation sein, die Bereitstellung von Office-Anwendungen im firmeneigenen Intranet oder die Bereitstellung von Speicherplatz.

Community Clouds kann man im Forschungsbereich finden, wenn verschiedene Projektpartner einen Cloud Service verwenden, der nur diesen Partnern zur Verfügungs steht. Der Cloud Service kann dabei von einem der Projektpartner selbst oder von einem externen Anbieter erbracht werden.

Ein typisches Beispiel einer Public Cloud ist die bereits oben erwähnte Elasic Compute Cloud von Amazon. Jeder kann sich dort registrieren und virtuelle Ressourcen nutzen. Zusätzlich zu diesem Public Cloud-Angebot betreibt Amazon auf seiner Infrastruktur auch Clouds im Kundenauftrag, bei denen es sich dann um Private Clouds oder Community Clouds handelt.

Cloud Computing – Zusammenfassung

Diese Einführung soll einen Überblick über die Definition des Begriffes „Cloud Computing“ geben, der häufig und inflationär verwendet wurde und wird. Dieser Definition selbst wohnt jedoch eine gewisse Komplexität inne, die im ersten Moment überfordernd sein kann, aber auch viele Möglichkeiten bietet. Anwender, die über den Schritt in die Cloud nachdenken, finden in diesem Themenfeld viele Angebote, die evaluiert werden können.

Neben den fünf Hauptcharakteristika, die einen Cloud-Service auszeichnen, wurden die drei Service-Modelle eingeführt, die im Cloud-Umfeld häufig zu finden sind: Infrastructure, Platform und Software as a Service. Darüber hinaus habe ich vier Deployment-Modelle beschrieben, die beschreiben, wie Cloud-Services erbracht werden: als Private Cloud, als Community Cloud und als Public Cloud. Nutzt eine Cloud mehrere dieser Modelle, spricht man von einer Hybrid Cloud.

In den nächsten Artikeln dieser Serie werde ich mich den Eigenschaften von Cloud-Services widmen, auf Fallstricke und Herausforderungen hinweisen, an die es zu denken gilt, bevor man sich für die Nutzung von Cloud-Angeboten entscheidet. Hat man sich bereits für die Nutzung von Cloud Services entschieden, werden diese Artikel den Blick und das Bewusstsein hoffentlich auf Punkte legen, die nicht unbedingt im ersten Moment ersichtlich sind, die Cloud-Anwendern aber bewusst sein sollten.

Wie so oft ist die Nutzung von Cloud-Services eine Abwägungssache. Diese Artikelserie soll Ihnen dabei helfen, – bitte gestatten Sie mir den Wortwitz – den Nebel zu lüften.


Niels Fallenbeck

Niels Fallenbeck arbeitet seit mehr als zehn Jahren im Bereich der verteilten IT-Systeme im akademischen sowie kommerziellen Umfeld. Seine Promotion hat er in den Bereichen Virtualisierung und Grid-Computing abgeschlossen, einer dezentralen Infrastruktur für die Nutzung von Rechnenressourcen und zur Datenspeicherung. Seit 2007 beschäftigt er sich mit Virtualisierung, der Grundlage moderner Cloud-Infrastrukturen. Er hat als Postdoc bei Fraunhofer AISEC im Bereich IT- und Cloud-Security gearbeitet und war dort u.a. verantwortlich das Cloud Security Lab. Seit 2016 arbeitet er für das Leibniz-Rechenzentrum der Bayerischen Akademie der Wissenschaften, einem der drei deutschen akademischen Höchstleistungsrechenzentren und einem Mitglied der Gauß-Allianz. Dort ist er für den Betrieb der Compute Cloud verantwortlich. Als Freiberufler berät und begleitet er Unternehmen auf ihrem Weg in die und in der Cloud.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

19 + 2 =