tiero - stock.adobe.com
PaaS-Vergleich: AWS Elastic Beanstalk und Google App Engine
AWS und Google Cloud stellen jeweils eigene PaaS-Angebote bereit. Diese weisen einige Gemeinsamkeiten und Unterschiede auf. Ein Vergleich der Plattformen.
Mit Platform as a Service (PaaS) können sich Cloud-Entwickler von der Last befreien, die Infrastruktur bereitstellen, konfigurieren und verwalten zu müssen. Stattdessen können sie sich auf den Anwendungscode konzentrieren.
Unternehmen erkennen zunehmend die Attraktivität dieses Ansatzes: jüngste Analysen von Gartner zeigen, dass Unternehmen 2021 für PaaS rund 60 Milliarden Dollar ausgeben – ein Wachstum um fast 30 Prozent gegenüber dem Vorjahr.
Mit der Unterstützung kompilierter Container-Images lässt sich fast jede Anwendung, die auf Infrastructure as a Service (IaaS) bereitgestellt werden kann, in einem serverlosen PaaS-Framework ausführen. AWS Elastic Beanstalk und Google Cloud App Engine sind zwei dieser Angebote.
Dieser Vergleich zwischen AWS Elastic Beanstalk und Google Cloud App Engine befasst sich mit den wichtigsten Funktionen und typischen Anwendungsfällen.
Überblick
AWS Elastic Beanstalk wird für die Bereitstellung von Anwendungen verwendet. Sie ist für Webanwendungen konzipiert. Ursprünglich verwendete Elastic Beanstalk Apache Tomcat als J2EE-Laufzeitumgebung. Google App Engine ist ein ähnliches Framework für Webanwendungen. Es unterstützt mehrere Webtechnologien zusammen mit einer dauerhaften Speicherung. Dies geschieht über ein Netzwerk-Dateisystem und eine NoSQL-Datenbank.
Beide Produkte haben ihre unterstützten Sprachen und Laufzeitumgebungen erweitert, was die Vorteile der Verwendung von PaaS-Produkten erhöht. Dennoch sind sie nach wie vor auf dynamische Webanwendungen, mobile und paketierte API-Backends ausgerichtet.
Vorteile der PaaS-Angebote
Für Entwickler und IT-Betriebsteams besteht der Hauptvorteil der Nutzung eines Cloud-Dienstes wie Elastic Beanstalk oder App Engine darin, dass der Aufwand für die Konfiguration, Bereitstellung, Skalierung, Sicherheit oder Verwaltung der Infrastruktur entfällt. Weitere Vorteile sind:
- automatischer Lastausgleich, Traffic Splitting und Routing
- Traffic Splitting zur Vereinfachung des Hostings vieler Versionen einer Anwendung
- Umstellung der Benutzer von Canary- über Beta- zu Live-Versionen nach Bedarf
- Integration mit Cloud Logging, Monitoring und anderen Diagnose-Tools
- automatische Versionskontrolle der Anwendung
- automatische Updates der Laufzeitumgebungen
- vorzertifizierte Compliance mit vielen gesetzlichen Standards.
Funktionen im Vergleich
Elastic Beanstalk und App Engine haben so viele Gemeinsamkeiten, dass Funktions- oder Implementierungsunterschiede nur selten ausschlaggebend für die Entscheidung für eine der beiden Lösungen sein werden. Stattdessen werden Entwickler von anderen Faktoren beeinflusst, wie zum Beispiel von ihren bestehenden Cloud-Beziehungen und ihrem Fachwissen sowie von den Kosten.
Die folgende Tabelle vergleicht die beiden Produkte anhand einer Reihe von Schlüsselfunktionen.
Anwendungsfälle
Sowohl AWS Elastic Beanstalk als auch Google App Engine sind für dynamische Webanwendungen optimiert. Diese Arten von Anwendungen sind eine Mischung aus statischen und dynamisch generierten Inhalten, Steuerungslogik und Backend-Datenspeichern. Jede moderne Website verwendet dynamische Inhalte, die durch eingebettete Skripte und Plug-ins erstellt werden.
Ein einfaches Beispiel ist die Verwendung von Google AdWords auf einer Website, die Cookies als Empfehlungsmaschine verwendet. WordPress und andere Blogging-Websites verwenden häufig dynamische Inhalte über Plug-ins.
Diese PaaS-Angebote funktionieren sowohl mit privaten als auch mit öffentlichen Anwendungen. Sie eignen sich jedoch besonders für externe Anwendungen mit variablen Arbeitslasten, die von Load Balancern, automatischer Skalierung und Multizonen-Funktionen profitieren.
Sie arbeiten auch mit kompiliertem Code und nicht standardisierten Laufzeitumgebungen, da beide Dienste jetzt benutzerdefinierte Docker-Images unterstützen. Die Variabilität der Arbeitslast ist bei E-Commerce-, Social-Networking- oder Collaboration-Seiten üblich. Dies gilt auch für alle Unternehmensanwendungen, die Daten in regelmäßigen Abständen in Stapeln verarbeiten, wie zum Beispiel Finanzberichte und Rechnungssoftware.
AWS Elastic Beanstalk und Google App Engine sind zwar serverlose Produkte, die bei Bedarf ausgeführt werden können, aber sie sind nicht ideal für ereignisgesteuerte Anwendungen. Diese Arten von Anwendungen sind besser für Dienste wie AWS Lambda, AWS Fargate, Google Cloud Functions und Google Cloud Run geeignet. Diese Services lassen sich in Pub/Sub-Services integrieren und werden pro Anforderung abgerechnet.