Tout ce que vous avez mentionné, comme l'équilibrage de charge, la surveillance et la mise à l'échelle automatique, sont sans aucun doute des avantages.
Cependant, vous devez y penser de cette façon: dans une véritable plate-forme en tant que service (PAAS), le but est de séparer l'application de la plate-forme. En tant que développeur, vous ne vous souciez que de votre application. La plateforme vous est "louée". Les «instances» de la plateforme sont automatiquement mises à jour, administrées, mises à l'échelle, équilibrées, etc. pour vous. Vous venez de télécharger votre fichier WAR et cela fonctionne (du moins en théorie).
EC2 en soi n'est pas PAAS. Cela ressemble plus à IAAS ( Infrastructure as a Service ). Vous devez toujours vous occuper des instances de serveur, y installer des logiciels, les maintenir à jour, etc.
Elastic Beanstalk est un système PAAS. Il en va de même pour App Engine et Azure, entre autres.
Dans un vrai système PAAS, le SGBD est un composant distinct du ou des serveurs d'applications Web. La raison est évidente: le SGBD ne peut pas être éventuellement installé sur les instances qui sont utilisées pour le serveur d'application car, comme les instances sont créées et détruites en fonction de votre trafic, le SGBD serait perdu! Avoir le SGBD et le serveur d'applications sur la même machine / instance n'est généralement pas une bonne idée de toute façon.
Dans un système PAAS, le SGBD est un service distinct. Pour Amazon, ce serait Amazon RDS . Tout comme avec Elastic Beanstalk, où vous n'avez pas à vous soucier du serveur d'applications et vous téléchargez simplement votre fichier WAR, avec RDS, vous n'avez pas à vous soucier du SGBD et vous déployez simplement votre ou vos bases de données.
Elastic Beanstalk et RDS fonctionnent très bien ensemble, en particulier lorsqu'ils sont déployés dans la même zone de disponibilité, où la latence serait très faible.
Enfin, l'utilisation d'Elastic Beanstalk ne coûte rien de plus que les ressources déployées (instances EC2 et équilibreur de charge). Cependant, RDS n'est pas bon marché et serait certainement plus cher que d'utiliser une seule instance EC2 pour le serveur d'applications et le SGBD.