Di belakang jawaban saya untuk pertanyaan: Bagaimana DevOps dapat membantu meningkatkan prosedur Escrow Perangkat Lunak? Tensibai memiliki pertanyaan:
Apa yang mengharuskan Capistrano di atas boneka atau koki?
Tanggapan saya adalah memasang tautan ke artikel Noah Gibbs, "Apakah Kita Membutuhkan Capistrano dan Koki?" . Secara pribadi, saya masih menganut pandangan Nuh bahwa paling tepat untuk:
- menggunakan alat penyebaran spesialis seperti Capistrano untuk penyebaran.
- menggunakan alat manajemen konfigurasi khusus seperti Chef untuk manajemen konfigurasi.
Pendekatan mendasar yang digunakan setiap jenis alat untuk menyelesaikan tugasnya sangat berbeda:
Alat Manajemen Konfigurasi - adalah tentang membuat dan memelihara keadaan sistem yang diinginkan, mereka pada dasarnya bersifat idempoten. Contoh alat manajemen konfigurasi adalah Chef , Puppet , Ansible , PowerShell DSC , Salt Stack .
Alat Penempatan - adalah tentang memberikan versi perangkat lunak ke dalam lingkungan hosting, mereka menyediakan fungsionalitas untuk mempertahankan beberapa versi perangkat lunak pada beberapa mesin dan mengelola versi mana yang "saat ini", mereka pada dasarnya bersifat imperatif. Contoh alat penyebaran adalah Capistrano , Octopus Deploy , Deployer dan Command.io .
Saya percaya bahwa Alat Manajemen Konfigurasi dapat melakukan pekerjaan alat penyebaran dan dalam kasus Infrastruktur yang Tidak Berubah mereka adalah alat yang paling tepat untuk pekerjaan itu karena versi perangkat lunak pada target tidak perlu dipertahankan.
Pertanyaan: Apakah alat manajemen konfigurasi seperti Chef, Ansible, dan Wayang telah matang hingga mereka mampu memenuhi model idempoten dan imperatif?