Diese Ansammlung eng verwandter Begriffe führt bei den Käufern häufig zu Verwirrung. Für Käufer, die sich mit den bekannteren Kategorien Infrastructure-as-a-Service (IaaS) und Platform-as-a-Service (PaaS) befassen, lohnt es sich jedoch zu verstehen, wie sich alle vier Kategorien ähneln und wie sie sich unterscheiden.

Die grundlegenden Unterschiede zwischen diesen verwandten Konzepten lassen sich am besten mit dem Begriff der zunehmenden Abstraktion beschreiben. Abstraktion ist ein Begriff aus der objektorientierten Programmierung und hat in diesem Zusammenhang damit zu tun, wie verschiedene Plattformen mit Komplexität und Kontrolle umgehen.

Dies ist eine hilfreiche Methode, um den Technologiestapel von der grundlegendsten untersten Schicht aus zu betrachten, wobei die Abstraktion und die Agilität auf dem Weg zur obersten Schicht zunehmen. Der Preis für diese zunehmende Agilität ist ein Verlust an Kontrolle und Konfigurierbarkeit.

Die Entwickler ziehen es im Allgemeinen vor, die Vorteile höherer Abstraktionsebenen zu nutzen. So können sie sich auf die Anwendungsentwicklung konzentrieren und ablenkende (aber notwendige) Overhead-Aufgaben wie Serverwartung und Kapazitätsplanung vermeiden.

Dieses Kontinuum zunehmender Abstraktion bedeutet, dass PaaS-Käufer aufkommende angrenzende Technologien wie Container-as-a-Service (CaaS) und Functions-as-a-Service (Faas) in ihre Überlegungen mit einbeziehen sollten.

IaaS 

IaaS-Plattformen (Infrastructure-as-a-Service) bieten IT-Fachleuten eine robuste Computerinfrastruktur, aber die IT-Mitarbeiter müssen die Plattformkomponenten, die sie nutzen möchten, auswählen, konfigurieren und überwachen. Der Einstieg in ein IaaS-System ist mit einem beträchtlichen Aufwand verbunden, aber diese Systeme sind in hohem Maße konfigurierbar und bieten Administratoren eine detaillierte Kontrolle über Server, Speicher- und Netzwerkdienste.

CaaS 

CaaS (Container-as-a-Service) ist eine Stufe höher auf der Abstraktionsleiter. Während IaaS-Plattformen virtuelle Maschinen oder Bare-Metal-Hardware als grundlegende Ressourcen nutzen, verpacken CaaS-Plattformen Anwendungen und alle ihre Abhängigkeiten in Container, die leichter sind als virtuelle Maschinen.

Aus diesem Grund ist es möglich, mehr Container auf einem einzigen Host zu hosten als vollwertige virtuelle Maschinen. CaaS ist eine geeignete Plattform für Entwickler, die mehr Kontrolle über die Container-Orchestrierung wünschen. Mit CaaS können Entwickler Anwendungen auf Containern bereitstellen, ohne sich um die Einschränkungen bei der Container-Orchestrierung kümmern zu müssen, die von typischen PaaS bereitgestellt werden.

Dieser Dienst ermöglicht die Virtualisierung und Konfiguration von Betriebssystemen. Dies ermöglicht ein höheres Maß an Kontrolle durch die Benutzer.

PaaS 

PaaS (Platform-as-a-Service) ist auf der Abstraktionsleiter noch weiter oben angesiedelt und gibt daher der Agilität den Vorzug vor der Konfigurierbarkeit. Wie wir gesehen haben, ist PaaS eine integrierte Lösung für die Anwendungsentwicklung und -bereitstellung, die Anwendungsentwickler von einem Großteil der Komplexität der Bereitstellung, Konfiguration und Verwaltung von Hardwareressourcen befreit. Die Entwickler profitieren von einer weitaus stärkeren Automatisierung auf Kosten einer weniger detaillierten Kontrolle.

Erkunden Sie alle PaaS-Optionen
PaaS kann Tools für verschiedene Formen von Cloud-Systemen anbieten, die auf die Bereitstellung und Codierung von Anwendungen ausgerichtet sind. Dies kann in Form von öffentlichen Cloud-Kollaborationssystemen oder anderen Tools geschehen, die die Erstellung von Webanwendungen unterstützen.

FaaS 

FaaS (Function-as-a-Service) ist eine Kategorie von Cloud-Computing-Diensten, die die Art und Weise, wie Anwendungen und Systeme seit Jahrzehnten entwickelt wurden, verändert. FaaS ist eine relativ neue Entwicklung, die aus PaaS hervorgegangen ist. Sie wird häufig als Teil von PaaS betrachtet, obwohl es sich um eine eigenständige Technologie handelt, die oft als Serverless bezeichnet wird.

Der Begriff Serverless gibt einen Hinweis auf die Abstraktionsebene. Wie PaaS ist auch FaaS ein Cloud-Computing-Modell, das die Serververwaltung und Low-Level-Infrastrukturentscheidungen von den Entwicklern abstrahiert, aber es geht viel weiter als PaaS.

Die gesamte Ressourcenzuweisung wird von der Plattform verwaltet, so dass Anwendungen entwickelt werden können, ohne dass man sich Gedanken über Implementierung, Lastausgleich oder Skalierung machen muss. So können Entwickler kleine Codeschnipsel als Reaktion auf Ereignisse ausführen, ohne eine komplexe Infrastruktur aufbauen zu müssen.

Die Vorteile von FaaS liegen vor allem darin, dass sich die Entwickler auf das Schreiben von Code konzentrieren können und sich nicht um die Verwaltung der Infrastruktur kümmern müssen. Ein weiterer großer Vorteil ist, dass den Entwicklern nur die Zeit in Rechnung gestellt wird, die sie für die Ausführung des Codes benötigen. Wenn der Code nur ein paar Mal am Tag ausgeführt wird, kann die Gesamtgebühr pro Tag nur wenige Sekunden betragen.