Kami mengalami perdebatan yang menarik dan jatuh ke dalam dua kubu. Saya tertarik pada masalah tertentu dengan ide atau masalah yang mungkin kami lewatkan. Sungguh, apa pun yang dapat membantu kita membuat keputusan atau menunjukkan hal-hal yang tidak kita perhitungkan. Saya tahu ini mengesampingkan aturan "tidak ada pendapat" sedikit dekat tapi saya harap ini masih merupakan pertanyaan yang dapat diterima. Maaf untuk panjang juga, ada sedikit nuansa yang adil.
1) Satu sisi (milik saya - saya bukan tanpa bias) menemukan model server yang tidak dapat diubah sangat menarik untuk sistem cloud. Untuk itu, kami membuat prototipe memindahkan semua komponen infrastruktur kami ke Docker. Aplikasi khusus kami dibuat melalui Jenkins langsung ke gambar Docker yang disebarkan ke Docker Registry lokal. Kemudian kami membuat satu set besar peran yang mungkin dan sebuah buku pedoman yang mampu menjangkau server kosong, memasang Docker dan kemudian memberitahu Docker untuk menginstal semua wadah sesuai kebutuhan. Setelah beberapa menit, seluruh aplikasi dan semua infrastruktur pendukungnya terhubung dan bekerja - logging, pemantauan, pembuatan basis data / populasi, dll. Mesin yang telah selesai adalah QA mandiri atau lingkungan dev dengan salinan persis dari aplikasi. Rencana kami untuk meningkatkan skala ini adalah membuat Playbook baru untuk membangun server AWS baru dari basis AMI tepercaya (mungkin gambar yang sangat telanjang), melakukan penyebaran aplikasi produksi untuk menangani manajemen konfigurasi dan rilis dan umumnya tidak pernah mengedit server lagi - buat mereka baru. Saya tidak khawatir tentang apa yang saya jelaskan bekerja dalam praktik - hanya jika itu model yang masuk akal.
2) Kamp lain ingin menggunakan Wayang untuk menangani manajemen konfigurasi, Dapat menggunakan aplikasi khusus kami yang merupakan tarbal yang dihasilkan dari proses build kami, Foreman untuk menangani pemicu dan manajemen proses secara keseluruhan dan Katello untuk melakukan sejumlah basis manajemen gambar. Rilis akan melibatkan konfigurasi perubahan Wayang sesuai kebutuhan dan Kemungkinan menyebarkan komponen yang diperbarui dengan sejumlah koordinasi Foreman. Server akan dibangun dengan cepat jika kita membutuhkan yang baru tetapi tujuannya bukan untuk membuatnya dapat digunakan sebagai bagian dari proses standar. Ini lebih dekat ke model server phoenix meskipun dengan umur panjang.
Jadi pertanyaan saya benar-benar turun ke ini: apakah model server yang tidak dapat diubah dengan alat-alat seperti yang saya jelaskan di atas sebenarnya sama realistisnya seperti yang terlihat? Saya suka gagasan bahwa proses pementasan kami benar-benar dapat membangun seluruh klon aplikasi secara langsung, biarkan QA memalu, kemudian hanya membalik penyimpanan database dan beberapa pengaturan DNS untuk membuatnya hidup.
Atau apakah model server yang tidak dapat diubah gagal dalam praktik? Kami memiliki banyak pengalaman baik dengan AWS dan lingkungan cloud sehingga itu tidak terlalu menjadi perhatian - lebih pada masalah bagaimana cara mendapatkan aplikasi yang cukup canggih yang digunakan secara andal ke depan. Ini sangat menarik karena kami sering merilisnya.
Kami telah melakukan sebagian besar hal yang diperlukan kecuali benar-benar membuat server EC2 untuk kami dan itu tidak sulit. Saya mengalami kesulitan memahami mengapa Anda benar-benar MEMBUTUHKAN Wayang / Foreman / Katello dalam model ini sama sekali. Docker jauh lebih bersih dan lebih sederhana daripada skrip penyebaran kustom di benar-benar alat apa pun di luar sana yang bisa saya katakan. Kemungkinan tampaknya jauh lebih mudah digunakan daripada Wayang ketika Anda berhenti khawatir harus mengonfigurasi mereka di tempat dan hanya membangunnya lagi dengan konfigurasi baru. Saya penggemar kepala Kiss - terutama dalam otomatisasi di mana Hukum Murphy merajalela. Semakin sedikit mesin, semakin baik IMO.
Setiap pemikiran / komentar atau saran tentang pendekatan ini akan sangat dihargai!