Saya ingin tahu apa saja keuntungan dan kerugian menggunakan AWS OpsWorks vs AWS Beanstalk dan AWS CLoudFormation?
Jawabannya adalah, tergantung.
AWS OpsWorks dan AWS Beanstalk (saya telah diberi tahu) hanyalah cara yang berbeda untuk mengelola infrastruktur Anda, bergantung pada bagaimana Anda memikirkannya. CloudFormation hanyalah cara untuk membuat template infrastruktur Anda.
Secara pribadi, saya lebih akrab dengan Elastic Beanstalk, tetapi masing-masing memiliki ciri khas mereka sendiri. Saya lebih suka karena dapat melakukan penerapan melalui Git. Ini adalah informasi publik bahwa Elastic Beanstalk menggunakan CloudFormation untuk meluncurkan lingkungannya.
Untuk proyek saya, saya menggunakan keduanya secara bersamaan. Saya menggunakan CloudFormation untuk membuat lingkungan VPC yang dikonfigurasi khusus, bucket S3, dan tabel DynamoDB yang saya gunakan untuk aplikasi saya. Kemudian saya meluncurkan lingkungan Elastic Beanstalk di dalam VPC kustom yang mengetahui cara berbicara dengan sumber daya S3 / DynamoDB.
Saya tertarik dengan sistem yang dapat diskalakan secara otomatis untuk menangani sejumlah besar permintaan web secara bersamaan (Dari 1000 permintaan per menit hingga 10 juta rpm.), Termasuk lapisan database yang juga dapat diskalakan secara otomatis.
Di balik terpal, OpsWorks dan Elastic Beanstalk menggunakan EC2 + CloudWatch + Auto Scaling, yang mampu menangani beban yang Anda bicarakan. RDS menyediakan dukungan untuk database berbasis SQL yang dapat diskalakan.
Alih-alih memiliki contoh terpisah untuk setiap aplikasi, Idealnya saya ingin membagikan beberapa sumber daya perangkat keras secara efisien. Di masa lalu saya telah menggunakan sebagian besar instans EC2 + RDS + Cloudfront + S3
Bergantung pada apa yang Anda maksud dengan " beberapa sumber daya perangkat keras", Anda selalu dapat meluncurkan instans EC2 mandiri bersama lingkungan OpsWorks atau Elastic Beanstalk. Saat ini, Elastic Beanstalk mendukung satu aplikasi web per lingkungan. Saya tidak ingat apa yang didukung OpsWorks.
Sistem stack akan menghosting beberapa ruby dengan lalu lintas tinggi pada aplikasi rel yang kita migrasikan dari Heroku, juga beberapa aplikasi python / django dan beberapa aplikasi PHP juga.
Semua ini didukung penuh oleh AWS. OpsWorks dan Elastic Beanstalk telah mengoptimalkan dirinya sendiri untuk berbagai lingkungan pengembangan (Ruby, Python, dan PHP semuanya ada dalam daftar), sementara EC2 menyediakan server mentah tempat Anda dapat menginstal apa pun yang Anda inginkan.