Все, что вы упомянули, такие как балансировка нагрузки, мониторинг и автоматическое масштабирование, безусловно, являются преимуществами.
Однако вы должны подумать об этом следующим образом: в истинной Платформе как услуге (PAAS) цель состоит в том, чтобы отделить приложение от платформы. Как разработчик, вы беспокоитесь только о своем приложении. Платформа "арендована" для вас. «Экземпляры» платформы автоматически обновляются, администрируются, масштабируются, уравновешиваются и т. Д. Вы просто загружаете свой файл WAR, и он просто работает (по крайней мере, теоретически).
EC2 сам по себе не является PAAS. Это больше похоже на IAAS ( Инфраструктура как услуга ). Вы по-прежнему должны заботиться об экземплярах сервера, устанавливать на них программное обеспечение, обновлять их и т. Д.
Elastic Beanstalk - это система PAAS. Как и 1011 * App Engine и Azure среди многих других.
В настоящей системе PAAS СУБД является отдельным компонентом от серверов веб-приложений. Причина очевидна: СУБД не может быть установлена на экземплярах, которые используются для сервера приложений, потому что, поскольку экземпляры создаются и уничтожаются на основе вашего трафика, СУБД будет потеряна! Наличие СУБД и сервера приложений на одном компьютере / экземпляре, как правило, не очень хорошая идея.
В системе PAAS СУБД является отдельной службой. Для Amazon это будет Amazon RDS . Как и в Elastic Beanstalk, где вам не нужно беспокоиться о сервере приложений и вы просто загружаете свой WAR-файл, в RDS вам не нужно беспокоиться о СУБД, и вы просто развертываете свою базу данных.
Elastic Beanstalk и RDS работают очень хорошо вместе, особенно при развертывании в той же зоне доступности, где задержка будет очень низкой.
Наконец, использование Elastic Beanstalk не стоит ничего больше, чем развернутые ресурсы (экземпляры EC2 и балансировщик нагрузки). Однако RDS недешево и определенно будет дороже, чем использование одного экземпляра EC2 для сервера приложений и СУБД.