प्रश्न के मेरे उत्तर के पीछे : DevOps सॉफ्टवेयर एस्क्रो प्रक्रियाओं को बेहतर बनाने में कैसे मदद कर सकता है? टेन्सीबाई का सवाल था:
कठपुतली या रसोइये के ऊपर कैपिस्ट्रानो की क्या आवश्यकता होगी?
मेरी प्रतिक्रिया नोहा गिब्स के लेख "क्या हमें कैपिस्ट्रानो और शेफ दोनों की आवश्यकता है?" । व्यक्तिगत रूप से, मैं अभी भी नूह के विचार की सदस्यता लेता हूं कि यह सबसे उपयुक्त है:
- तैनाती के लिए कैपिस्ट्रानो जैसे विशेषज्ञ तैनाती उपकरण का उपयोग करें।
- कॉन्फ़िगरेशन प्रबंधन के लिए शेफ जैसे विशेषज्ञ कॉन्फ़िगरेशन प्रबंधन टूल का उपयोग करें।
अपने कार्य को पूरा करने के लिए प्रत्येक प्रकार का उपकरण जिस मूलभूत दृष्टिकोण का उपयोग करता है वह बहुत अलग है:
कॉन्फ़िगरेशन प्रबंधन उपकरण - एक सिस्टम की वांछित स्थिति बनाने और बनाए रखने के बारे में हैं, वे स्वाभाविक रूप से स्वभाव से उदासीन हैं। विन्यास प्रबंधन उपकरणों के उदाहरण बावर्ची , कठपुतली , Ansible , PowerShell DSC , साल्ट स्टैक हैं ।
परिनियोजन उपकरण - एक होस्टिंग वातावरण में सॉफ़्टवेयर के संस्करणों को वितरित करने के बारे में हैं, वे कई मशीनों पर सॉफ़्टवेयर के कई संस्करणों को बनाए रखने के लिए कार्यक्षमता प्रदान करते हैं और प्रबंधित करते हैं कि कौन सा संस्करण "वर्तमान" है, वे स्वाभाविक रूप से अनिवार्य हैं। परिनियोजन उपकरण के उदाहरण Capistrano , Octopus Deploy , Deployer और Command.io हैं ।
मेरा मानना है कि कॉन्फ़िगरेशन प्रबंधन उपकरण परिनियोजन टूल का कार्य कर सकते हैं और अपरिवर्तनीय अवसंरचना के मामले में वे कार्य के लिए सबसे उपयुक्त उपकरण हैं क्योंकि लक्ष्य पर सॉफ़्टवेयर संस्करणों को बनाए रखने की आवश्यकता नहीं है।
प्रश्न: क्या शेफ, अंसिबल और कठपुतली जैसे विन्यास प्रबंधन उपकरण इस बात के लिए परिपक्व हैं कि वे दोनों आदर्श और अनिवार्य मॉडल को पूरा करने में सक्षम हैं?