Şu soruya vereceğim yanıtı : DevOps, Yazılım Escrow prosedürlerini geliştirmeye nasıl yardımcı olabilir? Tensibai'nin sorusu:
Capistrano'yu kukla veya aşçı üstüne ne gerektirir?
Benim yanıtı bir bağlantı sonrası oldu Nuh Gibbs'in makalesinde 'Do Biz Capistrano ve Şef Hem Need?' . Şahsen, hala Noah'ın en uygun olduğu görüşüne abone oluyorum:
- dağıtımlar için Capistrano gibi uzman bir dağıtım aracı kullanın.
- yapılandırma yönetimi için Chef gibi uzman bir yapılandırma yönetimi aracı kullanın.
Her araç türünün görevini tamamlamak için kullandığı temel yaklaşım çok farklıdır:
Yapılandırma Yönetim Araçları - bir sistemin istenen durumunu oluşturmak ve sürdürmekle ilgilidir, doğası gereği içgüdüseldir. Konfigürasyon yönetimi araçlarına örnek olarak Şef , Kukla , Ansible , PowerShell DSC , Tuz Yığını verilebilir .
Dağıtım Araçları - yazılım sürümlerini bir barındırma ortamına sunmakla ilgilidir, yazılımın birden çok sürümünü birden çok makinede tutmak ve hangi sürümün "güncel" olduğunu yönetmek için işlevsellik sağlarlar, doğası gereği zorunludurlar. Dağıtım araçlarına örnek olarak Capistrano , Octopus Deploy , Deployer ve Command.io verilebilir .
Yapılandırma Yönetim Araçları'nın dağıtım araçlarının işini yapabileceğine inanıyorum ve Bağlanabilir Altyapı durumunda , hedef üzerindeki yazılım sürümlerinin korunması gerekmediği için iş için en uygun araçlardır.
Soru: Chef, Ansible ve Puppet gibi yapılandırma yönetimi araçları, hem idempotent hem de zorunlu modelleri yerine getirebilecek kapasitede olgunlaştı mı?