Konzepte von Cloud-Computing
Das primäre Konzept hinter Cloud-Computing ist die Bereitstellung von extrem skalierbaren IT-bezogenen Einrichtungen für mehrere Kunden mithilfe des Internets.
Die Kunden haben die Auswahlmöglichkeit zwischen verschiedenen Cloud-
Modellen abhängig von dem eigenen Bedarf. Diese Auswahl an möglichen Services wird auch als XaaS referenziert. X repräsentiert unterschiedliche Services wie Software, Infrastructure, Plattform, Data usw.
Am verbreitetsten sind SaaS, PaaS, IaaS sowie mit zunehmender Bedeutung
FaaS. Im Hinblick auf die Bereitstellungsmodelle kann Cloud-Computing zusätzlich in Public Cloud, Private Cloud, Hybrid Cloud und Community Cloud unterteilt werden.
Software as a Service (SaaS)
Funktionsweise
Unter dem Begriff SaaS versteht man eine Software, die über die Cloud bereitgestellt wird und auf die es im Rahmen eines Abonnements zugegriffen werden kann.
Die Anwender nutzen die Software je nach Bedarf on demand direkt über das Netzwerk, jedoch nur in dem vom Software-Anbieter vorgesehenen Rahmen. Als Beispiele für SaaS-Lösungen sind unter anderem Facebook, WhatsApp, Twitter, Google Docs zu nennen.
Preismodelle
In dem SaaS-Modell ist das Abo-Model der Königsweg. Der Kunde zahlt einen monatlichen Fixbetrag für die ausgewählten Parameter des Angebots. Dieser hängt z.B von der Anzahl der aktiven Accounts oder des Support-Levels ab.
Platform as a Service (PaaS)
Funktionsweise
Die Grundlage für PaaS bildet eine Kollektion von Laufzeitumgebungen wie Software und Softwareentwicklungstools, die auf dem Server des Anbieters zur direkten Nutzung bereitgestellt werden. Es agiert im Hintergrund und stellt die notwendige Laufzeitumgebungen, Software-Frameworks und Komponenten-Bibliotheken zur Verfügung. Das Bezahlungsmodell ist pro Benutzung. Das heißt, mit jedem Zugriff auf diese von PaaS zur Verfügung gestellten Ressourcen wird eine Mikro- Gebühr fällig. Diese flexible Nutzung der vorkonfigurierten IT-Ressourcen ermöglicht Software-Entwicklern, Testern und Administratoren die Arbeit an der eigenen Software ohne aufwendige Konfiguration der Laufzeitumgebung. Beispiele hierfür sind Amazon Beanstalk, Heroku, Rollbase, jelastic.com, force.com, Google App Engine (GAE) und Microsoft Azure.
Preismodelle
Die PaaS-Anbieter bieten in meisten Fällen entweder monatliche Festpreise anhand von bestimmten vorkonfigurierten Paketen oder eine nutzungsabhängige Abrechnung an, wie das der Fall bei AWS ist. Der Preis von AWS Beanstalk wird z.B von folgenden Faktoren beeinflusst (genaue Preise können mit dem AWS Pricing-Rechner geschätzt werden):
- Anzahl der bereitgestellten EC2-Instanzen
- Verwendung von Elastic Load Balancing
- Datenverkehr auf die bereitgestellten Instanzen
Infrastructure as a Service (IaaS)
Funktionsweise
Unter IaaS versteht man eine Kollektion von Servern, Speicherressourcen und Netzwerken. Die Grundlage dieses Modells ist die Virtualisierung. In diesem Modell werden Ressourcen wie Netzwerk, Speicher, virtualisierte Server und Router über einen virtuellen Desktop zur Verfügung gestellt. Die Nutzung wird in CPUStunden, GB-Stunden, Netzwerkbandbreite, Netzwerk-Nutzung nach Stunden abgerechnet und in Rechnung gestellt. Beispiele sind Rackspace, VMWare, Joynet, Amazon S3, Amazon EC2.
Preismodelle
IaaS-Angebote werden in einem nutzungsabhängigen Modell abgerechnet, wobei als Nutzung die bloße Bereitstellung der Infrastruktur angesehen wird. Diese wird in Stunden der Nutzung abgerechnet.
Function as a Service (FaaS)
Funktionsweise
Function as a Service stellt ein Beispiel eines serverlosen Cloud-Computing-Angebots dar, bei dem der Anbieter dem Anwender einzelne Funktionen bereitstellt, die sekundengenau ausgeführt und abgerechnet werden. Der Anwender kommt nicht direkt in die Interaktion mit der Infrastruktur – diese wird vom Anbieter zur Verfügung gestellt und verwaltet. Der Anwender kann die Funktion so schreiben, dass sie eine konkrete Aufgabe erledigt und ein Ergebnis zurückliefert. Diese wird dann in der vom Anbieter zur Verfügung gestellten und vorkonfigurierten Umgebung ausgeführt und verbirgt somit die Server-Komplexität vor dem Anwender. Die FaaS kann verschiedene Zwecke in einem System erfüllen. Sie können eingesetzt werden, um ganze Anwendungen umzusetzen oder Applikationen zu steuern und zu betreiben. FaaS lässt sich gut in ereignisbasierte Systeme und Workflows integrieren, da es sich grundsätzlich reaktiv verhält. Das bedeutet, dass die Funktion nur als Reaktion auf ein Ereignis ausgeführt wird und kurz danach wieder inaktiv
wird. Diese Funktionsweise bedeutet auch, dass FaaS zustandslos ist (eng. stateless).
Nach jeder Ausführung wird die Funktion in den Ausgangszustand zurückgesetzt. Sollen Daten persistiert werden oder gewisse Informationen über mehrere Sessions hinaus gespeichert werden, ist es notwendig, externe Services miteinzubeziehen.
Bei AWS könnte beispielsweise Amazon DynamoDB als eine serverlose objektbasierte NoSql-Datenbank verwendet werden, die eine nahtlose Integration mit dem Lambda-Ökosystem aufweist.
Preismodelle
Die FaaS-Angebote zeichnen sich durch die höchste Granularität aus. Nicht nur im Hinblick auf die bereitgestellten Artefakten aber auch beim Pricing. Eine Hauptentwicklungseinheit bei dem FaaS-Modell ist eine Funktion, die einzeln bereitgestellt sowie abgerechnet wird. Die Abrechnung erfolgt auf der Basis der Ausführungsdauer in Millisekunden, was eine bis dahin nicht gewesene wirklich nutzungsabhängige Abrechnung ermöglicht.
In der folgenden Tabelle wurden die Preise von den größten FaaS/Serverless Anbietern dargestellt*.
*Quellen:
- https://aws.amazon.com/de/lambda/pricing/
- https://cloud.Google.com/functions/pricing
- https://cloud.ibm.com/functions/learn/pricing
- https://Azure.microsoft.com/de-de/pricing/details/functions/