Alle Dinge, die Sie erwähnt haben, wie Lastausgleich, Überwachung und automatische Skalierung, sind definitiv Vorteile.
Sie müssen jedoch so denken: In einer echten Platform as a Service (PAAS) besteht das Ziel darin, die Anwendung von der Plattform zu trennen. Als Entwickler kümmern Sie sich nur um Ihre Anwendung. Die Plattform ist an Sie "vermietet". Die Plattform- "Instanzen" werden automatisch für Sie aktualisiert, verwaltet, skaliert, ausgeglichen usw. Sie laden einfach Ihre WAR-Datei hoch und es funktioniert einfach (zumindest theoretisch).
EC2 an sich ist kein PAAS. Es ist eher wie IAAS ( Infrastructure as a Service ). Sie müssen sich noch um die Serverinstanzen kümmern, Software darauf installieren, sie auf dem neuesten Stand halten usw.
Elastic Beanstalk ist ein PAAS-System. So sind App Engine und Azure unter vielen anderen.
In einem echten PAAS-System ist das DBMS eine separate Komponente von den Webanwendungsservern. Der Grund liegt auf der Hand: Das DBMS kann möglicherweise nicht auf den Instanzen installiert werden, die für den Anwendungsserver verwendet werden, da das DBMS beim Erstellen und Zerstören von Instanzen basierend auf Ihrem Datenverkehr verloren gehen würde! Es ist im Allgemeinen sowieso keine gute Idee, DBMS und Anwendungsserver auf demselben Computer / derselben Instanz zu haben.
In einem PAAS-System ist das DBMS ein separater Dienst. Für Amazon wäre es Amazon RDS . Genau wie bei Elastic Beanstalk, bei dem Sie sich nicht um den Anwendungsserver kümmern müssen und nur Ihre WAR-Datei hochladen, müssen Sie sich bei RDS nicht um das DBMS kümmern und nur Ihre Datenbank (en) bereitstellen.
Elastic Beanstalk und RDS arbeiten sehr gut zusammen, insbesondere wenn sie in derselben Verfügbarkeitszone bereitgestellt werden, in der die Latenz sehr gering wäre.
Schließlich kostet die Verwendung von Elastic Beanstalk nichts mehr als die bereitgestellten Ressourcen (EC2-Instanzen und Load Balancer). RDS ist jedoch nicht billig und definitiv teurer als die Verwendung einer einzelnen EC2-Instanz sowohl für den Anwendungsserver als auch für das DBMS.