Yük dengeleme, izleme ve otomatik ölçeklendirme gibi bahsettiğiniz her şey kesinlikle avantajlar.
Bununla birlikte, bunu şu şekilde düşünmeniz gerekir: Gerçek bir Hizmet Olarak Platformda (PAAS) amaç, uygulamayı platformdan ayırmaktır. Bir geliştirici olarak, yalnızca uygulamanız için endişeleniyorsunuz. Platform size "kiralanmıştır". Platform "örnekleri" sizin için otomatik olarak güncellenir, yönetilir, ölçeklenir, dengelenir vb. Sadece WAR dosyanızı yüklersiniz ve çalışır (en azından teorik olarak).
EC2 kendi başına PAAS değildir. Daha çok IAAS ( Hizmet Olarak Altyapı ) gibidir. Yine de sunucu örnekleriyle ilgilenmeniz, üzerlerine yazılım yüklemeniz, güncel tutmanız vb.
Elastic Beanstalk bir PAAS sistemidir. Yani olan App Engine ve Azure diğerleri arasında.
Gerçek bir PAAS sisteminde DBMS, web uygulama sunucularından ayrı bir bileşendir. Nedeni açıktır: DBMS, uygulama sunucusu için kullanılan bulut sunucularına muhtemelen kurulamaz, çünkü örnekler trafiğinize göre oluşturulup yok edildikçe DBMS kaybolur! DBMS ve uygulama sunucusunun aynı makine / örnekte olması genellikle iyi bir fikir değildir.
Bir PAAS sisteminde, DBMS ayrı bir hizmettir. Amazon için bu Amazon RDS olacaktır . Tıpkı uygulama sunucusu hakkında endişelenmenize gerek olmayan ve sadece WAR dosyanızı yüklediğiniz Elastic Beanstalk gibi, RDS ile, DBMS hakkında endişelenmenize gerek kalmaz ve sadece veritabanlarınızı dağıtırsınız.
Elastic Beanstalk ve RDS, özellikle gecikmenin çok düşük olacağı aynı kullanılabilirlik bölgesinde konuşlandırıldığında birlikte çok iyi çalışır.
Son olarak, Elastic Beanstalk kullanmak, dağıtılan kaynaklardan (EC2 bulut sunucuları ve yük dengeleyici) daha pahalıya mal olmaz. Ancak, RDS ucuz değildir ve hem uygulama sunucusu hem de DBMS için tek bir EC2 bulut sunucusunu kullanmaktan kesinlikle daha pahalı olacaktır.