it-swarm.asia

AWS OpsWorks vs AWS Beanstalk vs AWS CloudFormation?

Saya ingin tahu apa saja kelebihan dan kekurangan menggunakan AWS OpsWorks vs AWS Beanstalk dan AWS CloudFormation?

Saya tertarik pada sistem yang dapat diskalakan secara otomatis untuk menangani sejumlah besar permintaan web simultan (Dari 1000 permintaan per menit hingga 10 juta rpm.), Termasuk lapisan basis data yang juga dapat skalabel otomatis.

Alih-alih memiliki contoh terpisah untuk setiap aplikasi, Idealnya saya ingin berbagi beberapa sumber daya perangkat keras secara efisien. Di masa lalu saya telah menggunakan sebagian besar contoh EC2 + RDS + Cloudfront + S3

Sistem stack akan menjadi tuan rumah bagi beberapa aplikasi Ruby on Rails lalu lintas tinggi yang kami migrasi dari Heroku, juga beberapa aplikasi python/Django dan beberapa aplikasi PHP juga.

Terima kasih sebelumnya.

77
ipegasus

Saya ingin tahu apa kelebihan dan kekurangan menggunakan AWS OpsWorks vs AWS Beanstalk dan AWS CLoudFormation?

Jawabannya adalah, tergantung.

AWS OpsWorks dan AWS Beanstalk adalah (saya telah diberitahu) cara-cara yang berbeda untuk mengelola infrastruktur Anda, tergantung pada bagaimana Anda berpikir tentang hal itu. CloudFormation hanyalah cara templatizing infrastruktur Anda.

Secara pribadi, saya lebih akrab dengan Elastic Beanstalk, tetapi untuk masing-masing. Saya lebih suka karena bisa melakukan penyebaran melalui Git. Ini adalah informasi publik bahwa Elastic Beanstalk menggunakan CloudFormation di bawah tenda untuk meluncurkan lingkungannya.

Untuk proyek saya, saya menggunakan keduanya secara bersamaan. Saya menggunakan CloudFormation untuk membangun lingkungan VPC yang dikonfigurasi khusus, bucket S3, dan tabel DynamoDB yang saya gunakan untuk aplikasi saya. Lalu saya meluncurkan lingkungan Pohon Kacang Elastis di dalam VPC khusus yang tahu cara berbicara dengan sumber S3/DynamoDB.

Saya tertarik pada sistem yang dapat diskalakan secara otomatis untuk menangani sejumlah besar permintaan web simultan (Dari 1000 permintaan per menit hingga 10 juta rpm.), Termasuk lapisan basis data yang juga dapat skalabel otomatis.

Di bawah tenda, 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 berbagi beberapa sumber daya perangkat keras secara efisien. Di masa lalu saya telah menggunakan sebagian besar contoh EC2 + RDS + Cloudfront + S3

Bergantung pada apa yang Anda maksud dengan " beberapa sumber daya perangkat keras", Anda selalu dapat meluncurkan instance EC2 mandiri bersama dengan lingkungan OpsWorks atau Elastic Beanstalk. Saat ini, Elastic Beanstalk mendukung satu webapp per lingkungan. Saya tidak ingat apa yang didukung OpsWorks.

Sistem stack akan menjadi tuan rumah bagi beberapa aplikasi Ruby on Rails lalu lintas tinggi yang kami migrasi dari Heroku, juga beberapa aplikasi python/Django dan beberapa aplikasi PHP juga.

Semua ini didukung penuh oleh AWS. OpsWorks dan Elastic Beanstalk memiliki dioptimalkan sendiri untuk berbagai lingkungan pengembangan (Ruby, Python dan PHP semuanya ada dalam daftar), sementara EC2 menyediakan server mentah di mana Anda dapat menginstal apa pun yang Anda inginkan.

62
Ryan Parman

OpsWorks adalah alat orkestrasi seperti Chef - pada kenyataannya, ini berasal dari Chef - Wayang, Ansible atau Saltstalk. Anda menggunakan Opsworks untuk menentukan keadaan di mana Anda ingin jaringan Anda berada dengan menentukan keadaan yang Anda inginkan untuk setiap sumber daya - instance server, aplikasi, penyimpanan - untuk masuk. Dan Anda menentukan keadaan di mana Anda ingin setiap sumber daya masuk oleh menentukan nilai yang Anda inginkan untuk setiap atribut dari kondisi itu. Misalnya, Anda mungkin ingin layanan Apache selalu aktif dan berjalan dan mulai boot-up dengan Apache sebagai pengguna dan Apache sebagai grup Linux.

CloudFormation adalah templat json (**) yang menentukan keadaan sumber daya yang ingin Anda gunakan, yaitu Anda ingin menggunakan instance micro t2 AWS EC2 di us-east-1 sebagai bagian dari VPC 192.168.1.0/24 . Dalam kasus instance EC2, Anda dapat menentukan apa yang harus dijalankan pada sumber daya itu melalui skrip bash khusus Anda di bagian data pengguna sumber daya EC2. CloudFormation hanyalah templat. Template akan menjadi milik kami sebagai sumber daya yang berjalan hanya jika Anda menjalankannya melalui AWS Management Console for CloudFormation atau jika Anda menjalankan perintah aws cli untuk Cloudformation yaitu aw. Cloudformation ...

ElasticBeanstalk adalah PAAS - Anda dapat mengunggah aplikasi khusus Ruby/Rails, node.js atau Python/Django atau Python/Flask. Jika Anda menjalankan hal lain seperti Scala, Haskell atau yang lainnya, buat gambar Docker untuknya dan unggah gambar Docker itu ke Elastic Beanstalk (*).

Anda dapat mengunggah aplikasi Anda ke Elastic Beanstalk dengan menjalankan aws cli untuk CloudFormation atau Anda membuat resep untuk Opsworks untuk mengunggah aplikasi Anda ke Elastic Beanstalk. Anda juga dapat menjalankan aws cli untuk Cloudformation melalui Opsworks.

(*) Sebenarnya, dokumentasi AWS pada contoh aplikasi Ruby-nya sangat buruk sehingga saya kehilangan kesabaran dan menyematkan aplikasi contoh ke dalam gambar Docker dan mengunggah gambar Docker ke Elastic Beanstalk.

(**) Mulai September 2016, Cloudformation juga mendukung templat YAML.

18
Vietnhi Phuvan

CloudFormation: AWS CloudFormation adalah layanan yang membantu Anda membuat model dan mengatur sumber daya Layanan Web Amazon Anda sehingga Anda dapat menghabiskan lebih sedikit waktu mengelola sumber daya itu dan lebih banyak waktu berfokus pada aplikasi Anda yang berjalan di AWS. templat menjelaskan sumber daya yang Anda inginkan dan pengaturannya.  enter image description here

Pohon Kacang Elastis

Dengan Elastic Beanstalk, Anda dapat dengan cepat menyebarkan dan mengelola aplikasi di cloud AWS tanpa khawatir tentang infrastruktur yang menjalankan aplikasi tersebut. Dalam hal ini, mirip dengan CloudFormation. Sebenarnya, ia sebenarnya menggunakan templat dan skrip CloudFormation untuk ...

  • Buat Load Balancer dan Auto Scaling Group.
  • Salin kode ke S3.
  • Bootstrap instance EC2 untuk mengunduh kode dari S3 dan menggunakannya.

OpsWorks

OpsWorks memungkinkan Anda untuk mengotomatiskan tindakan manajemen sehingga tindakan tersebut dilakukan secara otomatis dan andal. Anda bisa mendapatkan manfaat dari kegagalan otomatis, manajemen paket, pengaturan RAID volume EBS, dan penskalaan otomatis berbasis aturan atau waktu.

Sekarang gambaran besar

 enter image description here  enter image description here  enter image description here

12
Adiii

Dalam Opsworks, Anda dapat membagikan "peran" lapisan melintasi tumpukan untuk menggunakan lebih sedikit sumber daya dengan menggabungkan pekerjaan tertentu yang mungkin dilakukan oleh contoh mendasar. 

Daftar Kompatibilitas Lapisan (selama grup keamanan diatur dengan benar): 

HA Proxy : custom, db-master, and memcached.
MySQL :  custom, lb, memcached, monitoring-master, nodejs-app, php-app, Rails-app, and web.
Java : custom, db-master, and memcached.
Node.js : custom, db-master, memcached, and monitoring-master
PHP : custom, db-master, memcached, monitoring-master, and Rails-app.
Rails :  custom, db-master, memcached, monitoring-master, php-app.
Static :  custom, db-master, memcached.
Custom : custom, db-master, lb, memcached, monitoring-master, nodejs-app, php-app, Rails-app, and web 
Ganglia :  custom, db-master, memcached, php-app, Rails-app. 
Memcached :  custom, db-master, lb, monitoring-master, nodejs-app, php-app, Rails-app, and web. 

referensi: http://docs.aws.Amazon.com/opsworks/latest/userguide/layers.html

8
Imran Ahmed

AWS Beanstalk: Ini adalah Menyebarkan dan mengelola aplikasi di cloud AWS tanpa khawatir tentang infrastruktur yang menjalankan aplikasi web Anda dengan Elastic Beanstalk . Tidak perlu khawatir tentang EC2 atau instalasi lainnya.

AWS OpsWorks AWS OpsWorks tidak lain adalah layanan manajemen aplikasi yang memudahkan pengguna DevOps baru untuk membuat model & mengelola seluruh aplikasi mereka

7
Yogesh Funde

AWS CloudFormation - Buat dan Perbarui lingkungan Anda.

AWS Opsworks - Kelola sistem Anda di dalam lingkungan seperti yang kami lakukan dengan Chef atau Wayang

AWS Beanstalk - Membuat, Mengelola, dan Menyebarkan.

Tapi secara pribadi saya suka CloudFormation dan OpsWorks baik dengan menggunakan kekuatan penuhnya untuk apa yang dimaksudkan. 

Gunakan CloudFormation untuk membuat lingkungan Anda maka Anda dapat memanggil Opsworks dari skrip pembentukan cloud untuk meluncurkan mesin Anda. Maka Anda akan memiliki tumpukan Opsworks untuk mengelolanya. Misalnya menambahkan pengguna di kotak linux dengan menggunakan Opsworks atau melakukan penambalan kotak Anda menggunakan resep koki. Anda dapat menuliskan resep koki untuk ditempatkan juga. Kalau tidak, Anda dapat menggunakan CodeDeploy yang dibuat khusus untuk penerapan. 

3
Gladiator

AWS OpsWorks - Ini adalah bagian dari layanan manajemen AWS. Ini membantu untuk mengkonfigurasi aplikasi menggunakan scripting. Ini menggunakan Chef sebagai kerangka kerja untuk manajemen aplikasi dan operasi ini. Ada template yang dapat digunakan untuk konfigurasi server, database, penyimpanan. Template juga dapat dikustomisasi untuk melakukan tugas lain. Insinyur DevOps memiliki kendali atas dependensi dan infrastruktur aplikasi.

AWS Beanstalk - Ini menyediakan lingkungan untuk bahasa seperti Java, Node Js, Python, Ruby Go. Tangkai batang elastis menyediakan sumber daya untuk menjalankan aplikasi. Pengembang tidak perlu khawatir tentang infrastruktur dan mereka tidak memiliki kontrol pada infrastruktur. 

AWS CloudFormation - CloudFormation memiliki templat contoh untuk mengelola sumber daya AWS secara berurutan. 

1
Sanjeev Singh

Seperti banyak orang lain berkomentar AWS Beanstalk, AWS OpsWorks dan AWS Cloud Formation menawarkan solusi berbeda untuk masalah yang berbeda.

Untuk menyelesaikan 

I am interested in a system that can be auto scaled to handle any high number of simultaneous web requests (From 1000 requests per minute to 10 million rpm.), including a database layer that can be auto scalable as well.

Dan dengan mempertimbangkan Anda sedang dalam proses migrasi, saya sangat menyarankan Anda untuk mulai melihat AWS Lambda & AWS DynamoDB solusi (atau hibrida).

Keduanya dirancang untuk auto scaling dengan cara yang sederhana dan mungkin solusi yang sangat murah.

0
siomes