Tất cả những thứ bạn đã đề cập như cân bằng tải, giám sát và tự động mở rộng quy mô chắc chắn là lợi thế.
Tuy nhiên, bạn phải nghĩ về nó theo cách này: Trong Nền tảng như một Dịch vụ (PAAS) thực sự, mục tiêu là tách ứng dụng khỏi nền tảng. Là một nhà phát triển, bạn chỉ lo lắng về ứng dụng của mình. Nền tảng được "thuê" cho bạn. "Phiên bản" của nền tảng được tự động cập nhật, quản lý, mở rộng quy mô, cân bằng, v.v. cho bạn. Bạn chỉ cần tải lên tệp WAR của mình và nó chỉ hoạt động (ít nhất là về mặt lý thuyết).
Bản thân EC2 không phải là PAAS. Nó giống như IAAS ( Cơ sở hạ tầng như một dịch vụ ). Bạn vẫn phải chăm sóc các phiên bản máy chủ, cài đặt phần mềm trên chúng, cập nhật chúng, v.v.
Elastic Beanstalk là một hệ thống PAAS. Vì vậy, là App Engine và Azure trong số rất nhiều người khác.
Trong một hệ thống PAAS thực sự, DBMS là một thành phần riêng biệt với (các) máy chủ ứng dụng web. Lý do là rõ ràng: Không thể cài đặt DBMS trên các phiên bản đang được sử dụng cho máy chủ ứng dụng bởi vì, khi các phiên bản được tạo và hủy dựa trên lưu lượng truy cập của bạn, DBMS sẽ bị mất! Có DBMS và máy chủ ứng dụng trên cùng một máy / phiên bản thường không phải là một ý kiến hay.
Trong hệ thống PAAS, DBMS là một dịch vụ riêng biệt. Đối với Amazon, nó sẽ là Amazon RDS . Cũng giống như với Elastic Beanstalk, nơi bạn không phải lo lắng về máy chủ ứng dụng và bạn chỉ cần tải lên tệp WAR của mình, với RDS, bạn không phải lo lắng về DBMS và bạn chỉ cần triển khai (các) cơ sở dữ liệu của mình.
Elastic Beanstalk và RDS hoạt động rất tốt cùng nhau, đặc biệt khi được triển khai trong cùng một vùng khả dụng, nơi độ trễ sẽ rất thấp.
Cuối cùng, sử dụng Elastic Beanstalk không tốn bất kỳ chi phí nào hơn các tài nguyên đã triển khai (các phiên bản EC2 và bộ cân bằng tải). Tuy nhiên, RDS không rẻ và chắc chắn sẽ đắt hơn so với việc sử dụng một phiên bản EC2 duy nhất cho cả máy chủ ứng dụng và DBMS.