Saya cukup baru untuk seluruh tumpukan dan penyebaran Netflix OSS secara umum. Sebagai latar belakang untuk tingkat pengetahuan saya saat ini, di mana peran utama saya adalah sebagai insinyur aplikasi front-end. Namun, saya menikmati sisi operasi hal-hal, jadi saya mencoba untuk menyiapkan strategi penyebaran baru dan alat untuk proyek baru.
Tujuan kita
- Penyebaran super mudah (kami ingin menekan tombol untuk memperbarui produksi)
- Penyebaran otomatis untuk menguji lingkungan (menggunakan Jenkins)
- Kemudahan pemeliharaan (kami memiliki aplikasi untuk menulis, tidak ingin menghabiskan waktu kami mengutak-atik masalah produksi)
- Kemampuan untuk menangani arsitektur berorientasi layanan (banyak aplikasi kecil, berbagai bahasa dan penyimpanan data)
- Fleksibilitas yang cukup untuk memastikan kami tidak perlu mengubah strategi dalam waktu dekat (kami sudah berusaha untuk menjauh dari RightScale)
Kami baik-baik saja dengan waktu pengaturan awal yang lebih sedikit jika hal itu akan menyelamatkan kami dari sakit kepala di masa mendatang.
Jadi, di sepanjang baris ini, saya telah mendengarkan podcast, menonton pembicaraan Ops, dan membaca banyak posting blog dan berdasarkan tujuan kami dan apa yang saya anggap sebagai praktik terbaik, kami mulai membuat rencana menggunakan Asgard, menggulung paket kami ke dalam botol dan menggulungnya menjadi AMI.
Kami telah merencanakan semua ini dan menyukai manfaatnya dibandingkan menggunakan server Chef dan memusatkan instance dengan cepat (kami merasa ini adalah kesalahan yang cenderung terjadi karena timeline kami yang terbatas dan kurangnya pemahaman tentang alur kerja server Chef). Namun, seorang rekan kerja sedikit melihat-lihat sendiri dan merasa seperti Elastic Beanstalk memenuhi kebutuhan kami.
Saya telah melihat ke dalamnya dan memutar lingkungan uji dengan file WAR dan database RDS terlampir. Hal-hal tampaknya bekerja dan saya percaya bahwa kita dapat mengotomatiskan penyebaran ke lingkungan pengujian menggunakan Jenkins melalui AWS API. Tampak cukup sederhana ... mungkin terlalu sederhana.
Yang saya ingin tahu adalah, apa masalahnya? Jika Elastic Beanstalk sangat sederhana dan efektif, mengapa itu tidak dibicarakan lagi? Saya mengalami kesulitan menemukan pendapat dan fakta obyektif yang cukup tentang dua strategi penyebaran yang berbeda, jadi saya pikir saya akan bertanya-tanya.
Apakah Anda menggunakan Elastic Beanstalk? Jika demikian, mengapa dan faktor apa yang menyebabkan keputusan itu? Apa yang Anda suka dan tidak suka?
Jika Anda tidak menggunakan Elastic Beanstalk tetapi mempertimbangkannya, apa yang Anda gunakan dan mengapa Anda tidak menggunakan Elastic Beanstalk?
Apa kelebihan dan kekurangan strategi penyebaran berbasis Pohon Kacang Elastis untuk SOA? Yaitu, akankah Elastic Beanstalk bekerja dengan baik dengan banyak aplikasi kecil yang saling mengandalkan untuk bekerja?