Semua hal yang Anda sebutkan seperti load balancing, pemantauan, dan penskalaan otomatis jelas merupakan keuntungan.
Namun, Anda harus memikirkannya seperti ini: Dalam True Platform as a Service (PAAS), tujuannya adalah untuk memisahkan aplikasi dari platform. Sebagai pengembang, Anda hanya mengkhawatirkan aplikasi Anda. Platform ini "disewakan" untuk Anda. Platform "instance" secara otomatis diperbarui, dikelola, diskalakan, seimbang, dll. Untuk Anda. Anda baru saja mengunggah file WAR Anda dan itu berfungsi (setidaknya secara teoritis).
EC2 dengan sendirinya bukan PAAS. Ini lebih seperti IAAS ( Infrastructure as a Service ). Anda masih harus menjaga instance server, menginstal perangkat lunak di dalamnya, terus memperbaruinya, dll.
Elastic Beanstalk adalah sistem PAAS. Begitu juga App Engine dan Azure di antara banyak lainnya.
Dalam sistem PAAS yang sebenarnya, DBMS adalah komponen terpisah dari server aplikasi web. Alasannya jelas: DBMS tidak mungkin diinstal pada instans yang digunakan untuk server aplikasi karena, saat instans dibuat dan dihancurkan berdasarkan lalu lintas Anda, DBMS akan hilang! Memiliki DBMS dan server aplikasi pada mesin / instans yang sama umumnya bukanlah ide yang baik.
Dalam sistem PAAS, DBMS adalah layanan terpisah. Untuk Amazon, itu adalah Amazon RDS . Sama seperti dengan Elastic Beanstalk, di mana Anda tidak perlu khawatir tentang server aplikasi dan Anda cukup mengunggah file WAR Anda, dengan RDS, Anda tidak perlu khawatir tentang DBMS dan Anda cukup menyebarkan basis data Anda.
Elastic Beanstalk dan RDS bekerja sama dengan sangat baik, terutama saat diterapkan di zona ketersediaan yang sama, dengan latensi yang sangat rendah.
Terakhir, penggunaan Elastic Beanstalk tidak memerlukan biaya apa pun selain sumber daya yang diterapkan (instans EC2 dan penyeimbang beban). Namun, RDS tidak murah dan pasti akan lebih mahal daripada menggunakan instans EC2 tunggal untuk server aplikasi dan DBMS.