Lesezeit: 3 Minuten
Platform as a Service vs. Infrastructure as a Service
“Platform as a Service (PaaS)” oder doch lieber "Infrastructure as a Service (IaaS)"? Welche Cloud Lösung passt zu meinem Anliegen? An welchen Punkten wir die Erfahrungen gemacht haben, dass eine "PaaS" Lösung die bessere Wahl darstellt und wann doch lieber auf "IaaS" gesetzt werden sollte... in diesem Blog-Artikel wird das Ganze aus Entwicklersicht näher betrachtet.
Gesamtüberblick Cloud Lösungen
Diese klassische Übersichts-Pyramide (vgl. Abb. 1) über Cloud-Lösungen bzw. Cloud Computing-Modelle existiert schon länger in verschiedenen Detailgraden. Hierbei bildet Infrastructure as a Service (Iaas) das Fundament und Software as a Service (SaaS) die Spitze der Pyramide. In diesem Artikel möchten wir uns ganz auf die Frage der Nutzbarkeit von PaaS und IaaS Lösungen konzentrieren, daher wird hier nicht auf SaaS oder CaaS und FaaS eingegangen.
Kurze Übersicht zu PaaS und IaaS
Da wir in diesem Artikel die Ansätze vereinfacht darstellen wollen, schauen wir uns jeweils nur 3 Vor- und Nachteile der jeweiligen Lösungen anhand eines konkreten Beispiels an und wägen diese ab.
Jede Anwendung sollte selbstverständlich individuell mit all ihren Vor- und Nachteilen betrachtet werden, um so eine gute Entscheidung treffen zu können.
Leitfragen zur Entscheidungsfindung
- Was ist mir wichtig bezogen auf das Deployment meiner Anwendung?
- Habe ich Fachkräfte, die über Wissen zur Wartung der Infrastruktur verfügen?
- Wie viel Kontrolle möchte ich über die Infrastruktur haben?
- Möchte ich die Verantwortlichkeit über die Absicherung meiner Infrastruktur lieber den Anbietern überlassen (z.B. Sicherheitsupdates, Absicherung vor Außeneinwirkung usw.)?
- Wie viel Zeit und Geld möchte ich für die Pflege meiner Anwendung in der Cloud investieren?
Diese Leitfragen dienen als Stütze, damit eine adäquate Entscheidung getroffen werden kann.
Platform as a Service (PaaS)
Platform as a Service, kurz PaaS, bietet die Möglichkeit, eine Anwendung zu deployen, ohne sich um die Infrastruktur großartig kümmern zu müssen. Diese administrative Verwaltung liegt beim Anbieter, somit ist dieser auch dafür verantwortlich. Das heißt zum Beispiel, dass Ihnen das Einspielen der Sicherheitsupdates oder Ähnliches abgenommen wird. Dies kann ein großer Vorteil sein, da durch die schnell wachsende Digitalisierung auch immer mehr und schneller Updates erforderlich werden. Ob man diesen Anforderungen gerecht werden kann, sollte man abwägen.
Vorteile von PaaS
- Schnelle Bereitstellung von Anwendungen in kurzer Zeit möglich
- Mehr Zeit zur Entwicklung von Anwendungen, da der Verwaltungsaufwand für die Infrastruktur verringert wird
- Bietet integrierte Business Intelligence und Analytics Tools
Dies ist bei einer IaaS-Lösung oftmals mit hohen Kosten verbunden.
Nachteile von PaaS
- Eingeschränkt auf bestimmte Services in einem Marktplatz
- Nicht jede PaaS Lösung passt zu den genutzten Programmiersprachen oder dem Framework
- Mögliche Probleme bei der Cloud Migration von bestimmten PaaS-Anbietern, da die Anwendung bestimmte Voraussetzungen erfüllen muss
Fallbeispiel einer klassischen PaaS Entscheidung
Ein Kunde mit mehreren tausend Entwickler:innen will seine Anwendung möglichst schnell in die Cloud bringen. Das Framework wird von Java EE auf Spring Boot umgestellt. Das monolithische Architekturmodell wird durch ein modernes Microservice Modell abgelöst. Mit Hilfe von VMware Tanzu (Cloud Foundry) wird eine PaaS-Lösung bereitgestellt.
Infrastructure as a Service (IaaS)
Infrastructure as a Service, kurz IaaS, bietet die Möglichkeit, seine Anwendung im vollen Umfang selbst zu verwalten. Diese Flexibilität, an der Infrastruktur "schrauben" zu können, zeichnet das Modell aus. Egal, ob man mehr Arbeitsspeicher für das Hosting seiner Anwendung zur Verfügung stellen möchte oder komplexe Netzwerkstrukturen realisieren will, Infrastructure as a Service bietet diese Kontrolle an.
Vorteile von IaaS
- Profitabel für alle Unternehmensgrößen, da flexibel Ressourcen gekauft werden können
- Volle Kontrolle über die Infrastruktur
- Hohe Skalierbarkeit der einzelnen Ressourcen
Nachteile von IaaS
- DevOps auf IaaS zu realisieren ist mit erhöhtem Aufwand verbunden
- Kosten für Schulungen der Mitarbeiter zur ordnungsgemäßen Verwaltung der Infrastruktur
- Unternehmen müssen eine gewisse Verantwortung für die Sicherheit ihrer Anwendungen tragen
Fallbeispiel einer klassischen IaaS Entscheidung
Ein Kunde mit mehreren hundert Entwickler:innen möchte seine bestehende Anwendung im Microservice Pattern in die Cloud migrieren und erste Erfahrungen in der Public Cloud sammeln. Dazu wird seine On-Premise IaaS-Lösung nach und nach abgebaut und in die Cloud Amazon Web Services (AWS) transformiert. In seiner Anwendung finden u.a. auch Batch-Prozesse statt, die mithilfe von AWS Batch realisiert werden.
Welche Anbieter von Cloud Computing Modellen für PaaS und IaaS gibt es?
Info: Anbieter von "IaaS"-Lösungen können auch "PaaS"-Lösungen als Services anbieten.
Bekannte Anbieter für PaaS Modelle
- VMware Tanzu (Cloud Foundry)
- Heroku
- RedHat OpenShift
- AWS → Elastic Beanstalk
- GCP → App Engine
- IBM Cloud Code Engine
Bekannte Anbieter für IaaS Modelle
- Amazon Web Services (AWS)
- Microsoft Azure
- Google Cloud Platform (GCP)
- IBM Cloud
Fazit
Wenn man alle Vor- und Nachteile der verschiedenen Entwicklungsmodelle abwägt, kann man je nach Anforderungen an die Anwendung die passende Vorgehensweise ableiten. Dabei spielt die Wahl des Anbieters eine entscheidende Rolle und sollte sorgfältig evaluiert werden. Jeder Anbieter hat auch seine eigenen Vor- und Nachteile, zum Beispiel in Bezug auf die Kosten. Solche Fälle, wie sie in den Beispielen veranschaulicht wurden, bilden unser tägliches Geschäft. Gern bieten wir Ihnen Beratungsleistungen an und unterstützen Sie bei der Umsetzung Ihrer maßgeschneiderten Cloud-Lösung.