Все, що ви згадали, як балансування навантаження, моніторинг та автоматичне масштабування - безумовно, переваги.
Однак вам належить думати про це так: У справжній Платформі як сервісі (PAAS) мета полягає в тому, щоб відокремити додаток від платформи. Як розробник, ви переживаєте лише про свою програму. Платформа вам "орендується". "Екземпляри" платформи автоматично оновлюються, адмініструються, масштабуються, врівноважуються тощо. Ви просто завантажуєте свій файл WAR, і він просто працює (принаймні теоретично).
EC2 сам по собі не є ПААС. Це більше схоже на IAAS ( інфраструктура як послуга) ). Ви все ще повинні дбати про екземпляри сервера, встановлювати на них програмне забезпечення, постійно оновлювати їх тощо.
Elastic Beanstalk - це система PAAS. Так само App Engine і Azure серед багатьох інших.
У справжній системі PAAS СУБД є окремим компонентом від серверів (-ів) веб-додатків. Причина очевидна: СУБД неможливо встановити на екземплярах, які використовуються для сервера додатків, оскільки, коли екземпляри створюються та знищуються на основі вашого трафіку, СУБД буде втрачена! Взагалі, наявність СУБД і сервера додатків на одній машині / екземплярі взагалі не є хорошою ідеєю.
У системі PAAS СУБД є окремою послугою. Для Amazon це був би RDS Amazon . Як і в Elastic Beanstalk, де вам не потрібно турбуватися про сервер додатків, і ви просто завантажуєте свій файл WAR, використовуючи RDS, вам не потрібно турбуватися про СУБД, і ви просто розгортаєте свою базу даних.
Elastic Beanstalk і RDS дуже добре працюють разом, особливо коли вони розміщені в одній зоні доступності, де затримка буде дуже низькою.
Нарешті, використання Elastic Beanstalk не коштує нічого більше, ніж розгорнуті ресурси (екземпляри EC2 та балансир навантаження). Однак RDS не є дешевим і, безумовно, буде дорожчим, ніж використання одного екземпляра EC2 як для сервера прикладних програм, так і для СУБД.