छोटे लोग प्रभावी रूप से कठपुतली को कैसे सीख और उपयोग कर सकते हैं? [बन्द है]


109

छह महीने पहले, हमारे नॉट-फॉर-प्रॉफिट प्रोजेक्ट में, हमने अपने सिस्टम प्रबंधन को पपेट-नियंत्रित वातावरण में माइग्रेट करना शुरू करने का फैसला किया क्योंकि हम अपने सर्वर की संख्या की उम्मीद कर रहे हैं कि अब से और एक साल के बीच पर्याप्त रूप से बढ़ेगा।

जब से यह निर्णय लिया गया है हमारे आईटी लोग थोड़े बहुत परेशान हो गए हैं। उनकी सबसे बड़ी आपत्तियां हैं:

  • "हम प्रोग्रामर नहीं हैं, हम sysadmins हैं";
  • मॉड्यूल ऑनलाइन उपलब्ध हैं, लेकिन कई एक दूसरे से भिन्न हैं; पहियों को बहुत बार पुनर्निर्मित किया जा रहा है, आप कैसे तय करते हैं कि कौन सा बिल फिट बैठता है;
  • हमारे रेपो में कोड पर्याप्त पारदर्शी नहीं है, यह पता लगाने के लिए कि वे कुछ काम कैसे करते हैं जो उन्हें मैनिफ़ेस्ट्स और मॉड्यूल के माध्यम से पुनरावृत्ति करना पड़ता है जो उन्होंने खुद को कुछ समय पहले लिखा था;
  • एक नए डेमॉन को एक नया मॉड्यूल लिखने की आवश्यकता होती है, सम्मेलनों को अन्य मॉड्यूल के समान होना पड़ता है, एक कठिन प्रक्रिया;
  • "चलो इसे चलाते हैं और देखते हैं कि यह कैसे काम करता है"
  • सामुदायिक मॉड्यूल में मुश्किल से ज्ञात 'एक्सटेंशन' के टन: 'trocla', 'augeas', 'hiera' ... हमारे sysadmins कैसे ट्रैक रख सकते हैं?

मैं देख सकता हूं कि क्यों एक बड़ा संगठन कठपुतली पाठ्यक्रमों के लिए अपने कठपुतलियों को कठपुतली स्वामी बनने के लिए भेजेगा। लेकिन छोटे खिलाड़ियों को पेशेवर स्तर पर कठपुतली सीखने को कैसे मिलेगी यदि वे पाठ्यक्रमों में नहीं जाते हैं और मूल रूप से अपने ब्राउज़र और संपादक के माध्यम से इसे सीखते हैं?

जवाबों:


101

मैंने एक नए बुनियादी ढांचे को तैनात करने से पहले कठपुतली का उपयोग करना शुरू किया और बस विषय पर एक ( अच्छी तरह से माना ) पुस्तक खरीदी । मुझे नहीं लगता कि अधिकांश लोग वास्तव में पेशेवर कठपुतली प्रशिक्षण प्राप्त करते हैं। मैंने उदाहरणों पर काम किया जब तक कि मैं इस प्रक्रिया को अपने वातावरण में नहीं ढाल सकता। यह दिसंबर 2011 था, इसलिए कुछ हफ्तों के भीतर, मैं मूल बातें समझने और जगह पर एक उत्पादन रूपरेखा प्राप्त करने में सक्षम था। मैं कॉन्फ़िगरेशन प्रबंधन के लिए नया नहीं था, जिसमें CFEngine पृष्ठभूमि थी, लेकिन आपके कई sysadmins की चिंताएं गूंजती थीं। मैंने गलतियाँ कीं और कई बार रिफ्लेक्टर करना पड़ा, लेकिन मुझे संतोषजनक तरीके से काम करने की चीजें मिलीं।

आपके बिंदुओं पर कुछ नोट्स ...

  • पारंपरिक प्रणाली प्रशासन की भूमिका बदल रही है। अनुकूल होना या पीछे छूट जाना। मैं एक सफल सिस्टम इंजीनियर रहा हूं, लेकिन साथ ही साथ रिटोल (उदाहरण के लिए पायथन सीखना) कर रहा हूं। वर्चुअलाइजेशन और सार्वजनिक और निजी क्लाउड सेवाओं के कर्षण के माध्यम से अलग-अलग सर्वरों पर फोकस हार्डवेयर अमूर्तता के रूप में कम हो जाता है। इसका मतलब है कि सिस्टम कार्यों का स्वचालन और बड़ी संख्या में सर्वरों के नियंत्रण के लिए कॉन्फ़िगरेशन प्रबंधन का उपयोग। मिश्रण में DevOps अवधारणाओं को जोड़ें , और आप देखेंगे कि ग्राहक / अंतिम-उपयोगकर्ता अपेक्षाएं और आवश्यकताएं बदल रही हैं।

  • कठपुतली मॉड्यूल ऑनलाइन उपलब्ध शैली और संरचना में भिन्न हैं और हां, मैंने बहुत सारे ओवरलैप, अतिरेक और दोहराए गए प्रयासों को देखा। मैंने जिस डेवलपर के साथ काम किया, उसने कहा, "जिस समय आप काम करते हैं, उसके लिए ऑनलाइन काम करने में आपका अपना उपकरण विकसित हो सकता है!" जैसा कि मैंने महसूस किया कि पपेट डेवलपर से प्रॉपर्टी के प्रकारों की अपील करता है, जो कि एक सर्वोत्तम-प्रैक्टिस या सही दृष्टिकोण के लिए देख रहे हैं।

  • चीजों को किस तरह से जोड़ा जाता है, इसके बारे में महसूस करने के लिए दस्तावेज़ का भारी होना। चीजों को करने के एक मानक तरीके की अस्थिर परिभाषा और कमी को देखते हुए , आपके कॉन्फ़िगरेशन प्रबंधन संरचना वास्तव में आपके पर्यावरण के लिए अद्वितीय है। उस पारदर्शिता को विकसित करना होगा।

  • मेरा तर्क है कि किसी नए डेमॉन को समायोजित करने के लिए या किसी मौजूदा मेनिफ़ेस्ट में किसी सेवा को जोड़ने के लिए किसी मॉड्यूल को डुप्लिकेट करना आसान है, यह इस बात पर निर्भर करता है कि आपने अपने सर्वर और भूमिकाएँ कैसे व्यवस्थित की हैं।

  • मैंने सर्वर के बड़े समूहों में परिवर्तन लाने से पहले एक ही लक्ष्य पर बहुत समय परीक्षण किया। प्रतिनिधि सर्वर पर हाथ से कठपुतली चलाना मुझे परिवर्तनों को डीबग करने और उनके प्रभाव का आकलन करने की अनुमति देता है। शायद यह थोड़ा रूढ़िवादी है, लेकिन यह आवश्यक था।

  • मुझे यकीन नहीं है कि मैं सामुदायिक मॉड्यूल पर कितना निर्भर रहूंगा। मुझे कुछ काम के लिए ऑगेस का उपयोग करना शुरू करना पड़ा , और इस तथ्य पर जोर दिया कि यह एक कार्यक्षमता थी जिसे मैंने CFEngine में दिया था।

सभी में, मुझे लगता है कि कठपुतली की बात आती है तो एक अच्छी तरह से परिभाषित मानक नहीं है। मुझे अपने कठपुतली पर निर्देशिका संरचना को व्यवस्थित करने में कठिनाई हुई, यह समझना कि प्रमाण पत्र पर हस्ताक्षर करने का प्रबंधन कैसे किया जाए, हर जगह उचित रिवर्स डीएनएस मिल रहा है, पर्यावरण के लिए उपयुक्त रूप से कठपुतली हो रही है और सामुदायिक मॉड्यूल बनाम अपने स्वयं के निर्माण के लिए कब समझ में आता है। यह सोच में बदलाव है और मैं देख रहा हूँ कि कैसे एक sysadmin आतंक होगा। हालांकि, यह भी खरोंच से निर्मित समाधान था, इसलिए मेरे पास उपकरणों के मूल्यांकन की विलासिता थी। इस तरह से जाने का फैसला माइंडशेयर और पपेट के पीछे की गति पर आधारित था। यह कुछ नया सीखने के प्रयास के लायक था।

याद रखें, यह साइट एक अच्छा संसाधन भी है।


20
मैं कठपुतली पर कोई अनुभव नहीं था, दो सप्ताह के फ्लैट में मेरा पूरा वातावरण प्रबंधित किया गया था। मैं ~ 40 आभासी मशीनों के लिए जिम्मेदार हूँ, भले ही सभी उबंटू चल रहे हों। इससे चीजें काफी सरल हो गईं। मैं पेशे से डेवलपर हूं। "एडाप्ट या पीछे छोड़ दिया जाता है" - अब मैं देवोपास + स्यसद्मिन + वास्तुकार हूं। बहुत बढ़िया जवाब!
फ्रांस्वा ब्यूसोइल

मैं उन्हें छोटी सेवाओं को तैनात करना शुरू करने की सलाह दूंगा, पहले स्टैंडअलोन में फिर अधिक सर्वरों के साथ छेड़छाड़ शुरू करूंगा। मुझे कठपुतली के साथ काम करने की ज़रूरत नहीं है, लेकिन मेरे पास एक छोटा VPS है और मैंने हाल ही में अपना कठपुतली मॉड्यूल बनाया है। अगर वे मौजूदा सदी में शेष सिस्मिन्स के साथ बने रहना चाहते हैं, तो वे खुले विचारों वाले थे। मैं ऐसा इसलिए करता हूं क्योंकि मुझे पसंद है, और मुझे लगता है कि हर कोई नई चीजें सीखना पसंद नहीं करता है, लेकिन एक बात सुनिश्चित है, आजकल sysadmins पहले से कहीं ज्यादा डेवलपर्स के करीब हैं।
सर्जियो गाल्वन

2
मैं एक छोटी सी कंपनी में काम करता हूं और मैं puppetd -tसभी सर्वरों को आगे बढ़ाने से पहले एक युगल बक्से पर परीक्षण के लिए भी दौड़ता हूं । यह कभी भी विफल नहीं होता है कि एक जोड़े के पास कुछ अद्वितीय है जो मेरे अपडेट को उन पर विफल होने का कारण बनता है। कठपुतली एक बहुत आसान है जब आपके पास शुरुआत के लिए एक नियंत्रित और सुसंगत वातावरण होता है।
जोर्डन

1
@ वैसे, मैंने अपने डॉक्स में कठपुतली ट्यूटोरियल के माध्यम से अपना काम किया है, लेकिन सोच रहा था कि सीखने के दौरान आपने किस पुस्तक का उपयोग किया? मुझे लगता है कि डॉक्स में दिए गए ट्यूटोरियल से कुछ याद आ रहा था जो मेरे साथ क्लिक करने से सब कुछ रख रहा है क्योंकि मैं टेस्ट मेजबानों पर कठपुतली के साथ काम कर रहा हूं ताकि मुझे पता चल सके कि मैं क्या कर रहा हूं। संपादित करें: या किसी भी अतिरिक्त संसाधनों की आप सिफारिश कर सकते हैं। धन्यवाद।
माइक केलर

1
@MikeKeller मुझे अपनी पोस्ट में यह पसंद आया ... लेकिन यह यहाँ उपलब्ध है
ewwhite

29

पिछली नौकरी पर, मुझे पपेट का पायलट कार्यान्वयन करने का काम सौंपा गया था। अब, मेरे पास प्रोग्रामिंग बैकग्राउंड है, हालांकि रूबी नहीं है, इसलिए मुझे उतनी समस्या नहीं है जितनी कि दूसरे करते हैं।

हालांकि, यह ध्यान रखना दिलचस्प है कि गैर-पारंपरिक प्रतिमानों के साथ अनुभव के बिना प्रोग्रामर को कठपुतली के साथ भी समस्या है, क्योंकि कठपुतली घोषणात्मक है , अनिवार्य नहीं। इस अर्थ में, कठपुतली किसी भी कॉन्फ़िगरेशन फ़ाइल की तरह बहुत काम करती है: आप कहते हैं कि चीजें कैसी होनी चाहिए, और कठपुतली बाकी का ख्याल रखती है।

पायलट के बाद मुझे कठपुतली के साथ एक दर्जन अन्य प्रशंसको को प्रशिक्षित करने का अवसर मिला, साथ ही दो घटनाओं में इसके बारे में प्रस्तुतियाँ भी दीं। उस अनुभव से मेरा तात्पर्य यह है कि कुछ व्यवस्थापक इसे ले गए, और कुछ नहीं। प्रोग्रामिंग कौशल के बिना, और विशेषज्ञता के स्तर में ये सभी पारंपरिक प्रवेश थे।

एक विशेष बात मैंने देखी कि कठपुतली को निरंतर अभ्यास की आवश्यकता होती है । जिन लोगों को प्रशिक्षित किया गया था, उन्होंने मॉड्यूल लिखा था, और फिर पूरे एक या दो महीने बिताए और कुछ और करने से थोड़ा उपयोगी कौशल के साथ कठपुतली वापस आ गया। जो लोग हर हफ्ते इसमें छोटे-छोटे काम करते रहे, उनमें कभी क्षमता नहीं रही।

इन दो अवलोकनों के आधार पर, मैं आपको यह सुनिश्चित करने की सलाह देता हूं कि हर सप्ताह हर कोई कुछ कठपुतली वर्ग, परिभाषा या मॉड्यूल जोड़ता रहे (अधिमानतः कम से कम दो या तीन बार)। जिन लोगों को अभी भी इसकी आदत नहीं पड़ सकती है, उन्हें वास्तव में इसे करने के लिए कौशल की कमी हो सकती है।

फिर, अगर पपेट को उन पर उच्चतर से लगाया गया था, तो वे बस इस बात पर प्रतिक्रिया दे सकते हैं कि वे एक प्रबंधन के रूप में क्या अनुभव करते हैं कि वे अपने काम को कैसे करते हैं - जो वास्तव में पर्याप्त होगा। यह मामला हो सकता है कि उन्हें चुनने के लिए जो विन्यास प्रबंधन प्रणाली का उपयोग करने से चीजों में सुधार होगा। यहाँ कुछ विकल्प दिए गए हैं:

  • उत्तर : यह नया है, लेकिन यह शेल कमांड और ssh पर आधारित है, जो इसे पारंपरिक sysadmins को लुभा सकता है।
  • शेफ : हो सकता है कि उनकी समस्या डिक्लेक्टिव स्टाइल हो, ऐसे में अगर वे रूबी का अनुभव रखते हैं तो शेफ बेहतर होगा।
  • साल्टस्टैक : पायथन-आधारित और ओपन-सोर्स
  • CFEngine : पुराने, तेज, पारंपरिक - यह उन आधारों पर उन्हें जीत सकता है।

12
एएनएसबीएलई के बारे में अच्छी बात यह है कि यह डेटा ट्रांसमिशन में बिल्कुल देरी के साथ गांगेय दूरी पर काम करता है!
कलामने

1
ANSIBLE उल्लेख के लिए धन्यवाद। मुझे अब तक इसकी जानकारी नहीं थी।
ewwhite

@ आपका स्वागत है। मैंने स्वयं, हाल ही में इसे खोजा है, लेकिन इसके बारे में बहुत कुछ ने मेरा ध्यान आकर्षित किया है। अगर हम कठपुतली में पहले से ही इतने अधिक नहीं थे, तो मैं निश्चित रूप से इसे आज़माऊंगा।
डेनियल सी। सोबरल

11

मैं छोटी दुकानों में दो साल से अधिक कठपुतली का उपयोग कर रहा हूं जहां मैं एकमात्र sadadmin था। सबसे बड़ी बाधा मैंने सीखी है कि सॉफ्टवेयर को ठीक से कैसे विकसित किया जाए। एक हफ़्ता ऐसा नहीं था जहाँ मैं गया था जहाँ मैंने कुछ ऐसा नहीं किया था जो मैंने डेवलपर्स को एक दर्जन बार न करने के लिए कहा हो। मैंने बहुत अधिक कोड चेक किए, मैंने चेकइन नहीं तोड़ा, मैंने टैग नहीं किया, मैंने शाखा नहीं की, वाक्यविन्यास परीक्षक को नहीं चलाया, एक मानक का उपयोग नहीं किया, आदि। यदि आप अभी शुरुआत कर रहे हैं। मैं निम्नलिखित में से कुछ की सिफारिश करूंगा।

  1. एहसास करें कि आप सॉफ्टवेयर विकसित कर रहे हैं, जो या तो आप नहीं जानते कि कैसे करना है या खराब तरीके से कर रहे हैं। यह अपेक्षित है क्योंकि यह नया है।
  2. कोड के रूप में इन्फ्रास्ट्रक्चर वास्तविकता है और एक बार जब आप कूबड़ पर पहुंच जाते हैं तो यह काफी शक्तिशाली होता है। मैं कुछ डेवलपर्स को आमंत्रित करता हूं, उन्हें आपकी वर्तमान विकास प्रक्रिया (या इसके अभाव) दिखाएं, जब वे भौंहें बढ़ाते हैं, तो अपराध न करें और उनके सुझावों को गंभीरता से लें। जब तक यह पूरी तरह से अनुचित न हो, मैं आपके सिस्टम का उपयोग करने और आपके डेवलपर्स के उपयोग की प्रक्रिया की सिफारिश करूंगा।
  3. कठपुतली तीसरे पक्ष के मॉड्यूल 90% समय चूसते हैं। मैं उन्हें पढ़ूंगा। मैं उनसे विचार चुरा लूंगा। मैं उन्हें प्रमुख संपादन के बिना अपने सिस्टम में नहीं खींचूंगा। हालांकि मैं कठपुतली stdlib में खींचूंगा जिसमें कुछ अच्छी कार्यक्षमता है।
  4. अगेती और हिरा। उन दोनों को जानें। पहली जगह में मौजूदा फ़ाइलों के जटिल संपादन की अनुमति देता है। दूसरा एक बाहरी डेटा स्टोर है।
  5. डेटा से अलग कोड। यह सीखने की कठिन अवधारणाओं में से एक है। मॉनिटरिंग होस्ट्स जैसे हार्डकोड मान आपके मॉड्यूल कोड में खराब हैं। उन्हें डेटा स्टोर में डालना (db, yaml (Hiera इसे डिफ़ॉल्ट रूप से उपयोग करता है), csv, जो भी हो) जो आपके मॉड्यूल का उपभोग कर सकता है वह अच्छा है। एक उदाहरण एक वेबएप है जिसमें मैसकल का उपयोग किया गया है। यह जो अनुमति देता है वह कोड और डेटा को अलग-अलग धकेलने की क्षमता है। यह आपकी विकास प्रक्रिया को सरल बनाता है।
  6. कठपुतली पार्सर मान्य और कठपुतली-लिंट आप के हिस्से के रूप में पूर्व या पोस्ट कोड जाँच प्रक्रिया। एक बार स्पीड बढ़ाने के लिए भी rspec परीक्षण एक अच्छा विचार हो सकता है।
  7. एक शैली गाइड / कोड मानक लिखें और इसका उपयोग करें। "अपाचे को स्थापित करने वाला कोड कहां है" एक सामान्य समस्या है। यदि आपके मॉड्यूल ज्यादातर समान हैं तो यह आसान होना चाहिए।

सारांश में, मैंने इन सभी समस्याओं को मारा है और इसलिए मेरे अधिकांश मित्रगण हैं। यह एक विन्यास प्रबंधन प्रणाली का उपयोग करने में अच्छा होने में कुछ समय लेगा। एक बार जब आप करते हैं तो आपको आश्चर्य होगा कि आप कभी भी एक के बिना कैसे रहते थे। "सर्वर में लॉग इन करें और मैन्युअल रूप से परिवर्तन करें। Ick।"


आपके सुझावों के लिए धन्यवाद, विशेष रूप से अगस्त और हिरा दो घटक हैं जिन्हें हमने लागू करना शुरू कर दिया है और इसने हमें कठपुतली की क्षमताओं के बारे में और भी अधिक जागरूक बना दिया है। तो धन्यवाद :-)
ढोलकिया

7

छह महीने पहले, हमारे नॉट-फॉर-प्रॉफिट प्रोजेक्ट में, हमने अपने सिस्टम प्रबंधन को पपेट-नियंत्रित वातावरण में माइग्रेट करना शुरू करने का फैसला किया क्योंकि हम अपने सर्वर की संख्या की उम्मीद कर रहे हैं कि अब से और एक साल के बीच पर्याप्त रूप से बढ़ेगा।

जल्दी शुरू करने के लिए एक अच्छे विचार की तरह लगता है - कठपुतली सिर्फ विन्यास प्रबंधन से अधिक है, यह प्रलेखन का एक रूप है।

जब से यह निर्णय लिया गया है हमारे आईटी लोग थोड़े बहुत परेशान हो गए हैं।

उन्हें एक दृष्टिकोण समायोजन की आवश्यकता है।

"We're not programmers, we're sysadmins";

फिर से, रवैया। You -can- किसी सर्वर के लिए एक सही फ़ाइल बनाते हैं? आप टेम्प्लेटिंग / 'प्रोग्रामर' के सामान को अपनी आवश्यकताओं और जटिलता के रूप में विकसित करने में आसानी कर सकते हैं ।

मॉड्यूल ऑनलाइन उपलब्ध हैं, लेकिन कई एक दूसरे से भिन्न हैं; पहियों को बहुत बार पुनर्निर्मित किया जा रहा है, आप कैसे तय करते हैं कि कौन सा बिल फिट बैठता है;

जवाब देने के लिए एक कठिन - मैं हमेशा सबसे अधिक कठपुतलियों के मॉड्यूल को पसंद करता हूं - और यहां तक ​​कि उस पर, मैं उस कई का उपयोग नहीं करता हूं। निर्णय के लिए निर्णय लेना। मेरी राय में, कुछ मॉड्यूल 'बहुत फ्रिल्ली' हैं।

हमारे रेपो में कोड पर्याप्त पारदर्शी नहीं है, यह पता लगाने के लिए कि वे कुछ काम कैसे करते हैं जो उन्हें मैनिफ़ेस्ट्स और मॉड्यूल के माध्यम से पुनरावृत्ति करना पड़ता है जो उन्होंने खुद को कुछ समय पहले लिखा था;

यह एक कठपुतली समस्या की तरह नहीं है, लेकिन इतना अधिक एक संगठनात्मक या प्रलेखन मुद्दा?

एक नए डेमॉन को एक नया मॉड्यूल लिखने की आवश्यकता होती है, सम्मेलनों को अन्य मॉड्यूल के समान होना पड़ता है, एक कठिन प्रक्रिया;

अगर यह प्रबंधन करने के लिए पर्याप्त सरल है तो यह डेमन एक वर्ग हो सकता है। मुझे यकीन नहीं है कि आप सम्मेलनों से क्या मतलब है, कठपुतली आप पर सम्मेलनों को बहुत अच्छी तरह से लागू नहीं करता है? या हम कोड स्वरूपण की तर्ज पर बात कर रहे हैं?

"Let's just run it and see how it works"

एक विचार का यह बुरा नहीं अगर आप इसे धीमा और सुरक्षित लेते हैं। मैं अभी भी चीजों का सार पाने के लिए एक वीएम के साथ शुरू करूँगा।

सामुदायिक मॉड्यूल में मुश्किल से ज्ञात 'एक्सटेंशन' के टन: 'trocla', 'augeas', 'hiera' ... हमारे sysadmins कैसे ट्रैक रख सकते हैं?

पोस्टफिक्स, एक्जिम, सेंडमेल, माईस्क्ल, पोस्टग्रैक्कल, आईटॉप, आईपार्ट, पर्ल, पर्ल मॉड्यूल .. आप क्या चाहते हैं और इसका इस्तेमाल करें? मुझे लगता है कि यह ध्वनि फिर से एक दृष्टिकोण की तरह है ...

मैं देख सकता हूं कि क्यों एक बड़ा संगठन कठपुतली पाठ्यक्रमों के लिए अपने कठपुतलियों को कठपुतली स्वामी बनने के लिए भेजेगा। लेकिन छोटे खिलाड़ियों को पेशेवर स्तर पर कठपुतली सीखने को कैसे मिलेगी यदि वे पाठ्यक्रमों में नहीं जाते हैं और मूल रूप से अपने ब्राउज़र और संपादक के माध्यम से इसे सीखते हैं?

मैं किसी भी पाठ्यक्रम में भाग नहीं किया है - जब मैं कर रहा हूँ एक प्रोग्रामर एक sysadmin की तुलना में अधिक, मैंने पाया यह पूरा कुछ भी पाने के लिए ज्यादा प्रोग्रामिंग कौशल की आवश्यकता नहीं थी।

कठपुतली प्रलेखन, जब काफी पूरी तरह से पालन किया जाता है। बस अंतर्निहित प्रकारों पर ध्यान दें और कुछ समय यह देखने में व्यतीत करें कि अन्य मॉड्यूल को एक साथ कैसे रखा जाए। मैं यह नहीं कहूँगा कि यह आसान है, लेकिन यह मुश्किल नहीं है-या तो। कठपुतली के लिए अपने बुनियादी ढांचे को तैयार करने में थोड़ा समय लगता है, लेकिन निवेश किए गए समय का विस्तार होने पर अच्छी तरह से खर्च करने का आश्वासन दिया जाता है।


FYI करें यह किसी ऐसे व्यक्ति से आ रहा है, जो अन्याय कर रहा है - अपने बुनियादी ढांचे को रोल करने के लिए तैयार हो रहा है। इसलिए मेरे पास एक नया अनुभव है और मैं यह नहीं कह सकता कि यह समय बर्बाद हुआ।
19

हाल ही में एक स्टार्टर के रूप में, मैं पूरी तरह से आपकी टिप्पणी में खुद को पहचानता हूं।
बजे मार्टिज़न हेमेल्स

1
मेरे मामले में, दृष्टिकोण में बदलाव वास्तव में आवश्यक था। ऑप्स को ऑटोमेशन पसंद है और अक्सर स्क्रिप्ट की चीजें, इसलिए यह ज्यादातर विभिन्न उपकरणों का उपयोग करने की बात है। अपने कठपुतली प्रदर्शन को पूरी मशीन या खरोंच से एक नई सेवा को देखने के लिए एक अच्छा एहसास है। तथ्य यह है कि एक त्रुटि कई मशीनों को एक ही बार में प्रभावित कर सकती है और अधिक कठोर परीक्षण के लिए उपयोग करने की आवश्यकता होती है, जो कष्टप्रद हो सकती है लेकिन स्पष्ट रूप से एक अच्छी बात है। Vagrant, rspec-कठपुतली, कठपुतली-लिंट, Geppetto, Git शाखाओं और अन्य मुफ्त टूल के साथ प्रयोग करें और आप जल्द ही अपने पसंदीदा वर्कफ़्लो की खोज करेंगे।
मार्टिज़न हेमेल्स

1
कठपुतली के साथ काम करने से मुझे रूबी सीखने में मदद मिली, जो बैश को मेरी डिफ़ॉल्ट सिस्टम टूल्स भाषा के रूप में बदलने के लिए आई है।
मार्टिज़न हेमेल्स जूल

5

KISS (इसे आसान बनाएं बेवकूफ) - नई प्रौद्योगिकियों का उपयोग न करें सिर्फ इसलिए कि वे वहाँ बल्कि इसलिए कि आप उनके लिए एक आवश्यकता है, न्यूनतम है कि आपके तैनाती की आवश्यकता है, अद्यतन के रूप में आवश्यक कोशिश मत करो का उपयोग रक्तस्राव के साथ रखने के लिए कर रहे हैं धार। यदि आप एक मूल सेटअप के साथ शुरू करते हैं और उस पर निर्माण करते हैं, तो आप जाते समय पिक करना आसान है, और उन्हें एक कोर्स की आवश्यकता नहीं होनी चाहिए (जैसे कि ये भी उपलब्ध हैं?)।

आप जिस अन्य क्षेत्र को देख सकते हैं, वह आपके सिस्मडिन्स हैं। यदि वे भी कार्यक्रम नहीं कर सकते हैं, तो क्या वे एक बड़ी तैनाती के लिए पर्याप्त उन्नत हैं, जहां अधिकांश कार्य को आपके द्वारा उपयोग किए जाने वाले टूल के लिए स्क्रिप्ट किए जाने की आवश्यकता है?


4
... क्योंकि हम उम्मीद कर रहे हैं कि हमारे सर्वरों की संख्या अब और एक साल के बीच काफी बढ़ जाएगी। आवश्यकता?
जेफ फेरलैंड

1
वास्तव में इस बात पर निर्भर करता है कि अपेक्षा कितनी निश्चित है और यदि आपने जो किया है, वह तब भी उपयुक्त होगा, जब तक वास्तव में आवश्यकता उत्पन्न होती है।
जेम्सरैन

+1 के लिए "आपके द्वारा परिनियोजन के लिए आवश्यक नंगे न्यूनतम का उपयोग करें" - कठपुतली मुद्दों की एक बहुत मैं स्टेम में चलाने के लिए कठपुतली नियंत्रण प्रणाली पर सब कुछ बनाने की कोशिश कर रहा हूँ।
Sirex

5

मैं एक गैर लाभ के लिए भी काम करता हूं और शुरुआत में घर में लिनक्स बॉक्स लाने के लिए जिम्मेदार था और उसके बाद शीघ्र ही उन्हें प्रबंधित करने के लिए कठपुतली। हमने जो कुछ विशिष्ट चीजें की हैं, जिनसे वास्तव में चीजों को लुढ़कने में मदद मिली है।

पहले और सबसे पहले मैंने तीसरे पक्ष के मॉड्यूल से दूर रहने की कोशिश की है। इनबिल्ट टूल हमारे प्रबंधन का 90% हिस्सा संभालते हैं। मेरे द्वारा उपयोग की जाने वाली सबसे बड़ी थर्ड पार्टी उपयोगिता फ़ायरवॉल मॉड्यूल है। किसी भी कस्टम तथ्य, आदि को पूरी टीम के साथ विकसित किया जाता है। हमने एक टेम्पलेट मॉड्यूल विकसित किया और फ़ाइल प्रबंधन, पैकेज, सेवाओं आदि को इस टेम्पलेट से सभी मानकीकृत रखा।

दूसरा, इनबिल्ट मॉड्यूल का उपयोग करने के मानकीकरण के बाद हमने Git और Atlassian के क्रूसिबल का उपयोग करना शुरू कर दिया - गैर-मुनाफे के लिए, वैसे - सभी कॉन्फ़िगरेशन परिवर्तनों की समीक्षा करने के लिए। यह वांछित पारदर्शिता प्रदान करता है।

तीसरा, मैंने कठपुतली के लिए सेटअप को स्वचालित कर दिया ताकि नए मेजबानों को विकल्पों के डिफ़ॉल्ट सेट के साथ स्वचालित रूप से जोड़ा जा सके। इसे संबोधित करने के कई तरीके हैं। चूंकि मेरे पास पहले से ही पूरा किकस्टार्ट वातावरण था इसलिए मैंने वहां स्क्रिप्ट जोड़ने का विकल्प चुना।


4

"हम प्रोग्रामर नहीं हैं, हम sysadmins हैं"

मेरा समय कितनी बार बदल गया है, बदतर के लिए: मेरे जैसे एक ग्रेबर्ड को पेशेवर प्रोग्रामर की तुलना में बेहतर प्रोग्रामर होने की उम्मीद थी , अन्यथा सिस्टम प्रशासक के लिए कभी भी उत्तीर्ण नहीं हो पाता ।

अब, हमारे पास "सिस्टम एडमिनिस्ट्रेटर" हैं, जो मूल रूप से विंडोज डेस्कटॉप उपयोगकर्ता हैं, जिनके पास कुछ बिंदु लिनक्स में परिवर्तित हो गए हैं और प्रोग्राम नहीं कर सकते हैं, और जो कुछ भी गलत नहीं है वह उसके साथ नहीं मिलता है।

कमरे में हाथी क्यों इस तरह के विनाशकारी रवैये को सहन करता है। किसके लिए विनाशकारी या क्या? व्यापार के लिए और बुनियादी ढांचे के लिए।

कठपुतली [, CFEngine, बावर्ची] विषय पर वापस: जैसे ही कोई एक समाधान हल करता है जैसे कि, एक खो देता है। हर कोई हार जाता है। क्यों? क्योंकि जो कोई भी इस विचार के साथ आता है वह अच्छा, स्वच्छ, किकस्टार्ट [, जम्पस्टार्ट, ऑटोमेटेड इंस्टॉलर, ऑटोवाईएसटी, इग्नाइट-यूएक्स, एनआईएम] ऑपरेटिंग सिस्टम पैकेजों के रूप में इनकैप्सुट कॉन्फ़िगरेशन प्रबंधन को डिजाइन करने में सक्षम नहीं है। जब आपको कठपुतली (या बावर्ची, या CFEngine) की तरह एक स्वचालित हैकिंग उपकरण का उपयोग करना पड़ता है, तो इसका मतलब है कि आपके पास डिजाइन करने के लिए वैरविथल की कमी है और एक प्रक्रिया को लागू करने के लिए, उसी डिजाइन द्वारा, पूरी तरह से प्राचीन लागू करें और प्रबंधित सिस्टम को पूरी तरह से रोशनी दें। स्वचालित और पूरी तरह से गैर-संवादात्मक।

एक अन्य महत्वपूर्ण बिंदु है, यदि आपके पास किसी हैकिंग सिस्टम या एप्लिकेशन कॉन्फ़िगरेशन को सही करने के लिए कठपुतली या कुछ ऐसा समाधान है , तो यह भी एक प्रक्रिया को डिजाइन करने के लिए अनुभव नहीं होने पर वापस चला जाता है, और उस प्रक्रिया में एक रूपरेखा जहां कॉन्फ़िगरेशन पैक किया जाता है। असतत घटकों में। वास्तव में, जो भी कठपुतली और इस तरह लागू करता है, उसके पास घटक मालिकों, रिलीज़, कॉन्फ़िगरेशन प्रबंधन, क्षमता परिपक्वता मॉडल की कोई अवधारणा नहीं होती है। यह तेजी से उद्योग में एक बहुत गंभीर समस्या के रूप में विकसित हो रहा है।

कठपुतली के साथ काम करने से मुझे रूबी को सीखने में मदद मिली, जो बैश को मेरी डिफ़ॉल्ट सिस्टम टूल्स भाषा के रूप में बदलने के लिए आई है। ”

रूबी की आवश्यकता क्यों है, जब एक व्यापक, एंड-टू-एंड कॉन्फ़िगरेशन प्रबंधन को इंस्टॉलेशन सिस्टम संकुल के प्रीइंस्टॉलेशन, पोस्ट इंस्टॉलेशन, प्रीरेमोव और पोस्टमूव सेक्शन में एनकैप्सुलेट किया जा सकता है, बस बॉर्न शेल प्रोग्राम, एडब्ल्यूके और सिड का उपयोग करके? कि कोई रूबी की गूढ़ भाषा सीखने की लंबाई पर जाएगा, और कठपुतली के संदर्भ में एक बोली, पूरी तरह से अनावश्यक है। कॉन्फ़िगरेशन प्रबंधन की समस्या शेल प्रोग्राम और AWK के साथ आसानी से सॉल्व करने योग्य (और बुद्धि के लिए, हल हो गई है) और यहाँ गोंद के रूप में थोड़ी सीड (1) है।

अपने कठपुतली प्रदर्शन को पूरी मशीन या खरोंच से एक नई सेवा को देखने के लिए एक अच्छा एहसास है।

कोडस्ट की एक भी लाइन के बिना किकस्टार्ट, ऑटायस्ट, या जम्पस्टार्ट, और किसी भी गूढ़ या अतिरिक्त सॉफ्टवेयर की आवश्यकता के बिना ऑपरेटिंग टूल का उपयोग करके ऑपरेटिंग सिस्टम को क्वेरी करने में सक्षम होने के कारण यह एक और भी अच्छी बात है , कोई क्लाइंट-सर्वर नहीं। आर्किटेक्चर की आवश्यकता (SSH ठीक से अधिक है, ठीक से अधिक तरीका है), और आपके ऑपरेटिंग सिस्टम को इसके बारे में प्रत्येक परिवर्तन के बारे में पता है।

डेटा से 5.Separate कोड। यह सीखने की कठिन अवधारणाओं में से एक है। मॉनिटरिंग होस्ट्स जैसे हार्डकोड मान आपके मॉड्यूल कोड में खराब हैं। उन्हें एक डेटा स्टोर में डालना (db, yaml (Hiera इसे डिफ़ॉल्ट रूप से उपयोग करता है), csv, जो भी हो) जो आपके मॉड्यूल का उपभोग कर सकता है वह अच्छा है। एक उदाहरण एक वेबएप है जो मैसकल का उपयोग करता है। यह क्या अनुमति देता है कोड और डेटा को अलग-अलग धकेलने की क्षमता है। यह आपकी विकास प्रक्रिया को सरल बनाता है।

... या आप सिर्फ शेल वैरिएबल के साथ अपनी कॉन्फ़िगरेशन फ़ाइलों को टेम्प्लेट कर सकते हैं , यहां तक ​​कि बैकक्वोट्स (उदाहरण के लिए ls -1 ...) और एक शेल स्क्रिप्ट लिख सकते हैं, जो AWK का उपयोग eval (1) को कॉल करने के लिए करता है और टेम्प्लेट में सभी वेरिएबल्स का विस्तार करता है, जिससे सटीक समान शक्तिशाली का लाभ होता है पार्सर जो गोले में निर्मित है। इसे जटिल क्यों बनाते हैं, जब यह वास्तव में, वास्तव में सरल हो सकता है? आप कॉन्फ़िगरेशन मूल्यों को कहाँ संग्रहीत करेंगे? क्यों, कहीं भी आप कृपया, जैसे कि उदाहरण के लिए pkginfo (4) फ़ाइलें, या Oracle जैसे डेटाबेस, या कहीं भी बहुत अधिक । Ultracomplex समाधान के लिए कोई ज़रूरत नहीं है। मेरे द्वारा उल्लिखित पुस्तकालय को ऑपरेटिंग सिस्टम पैकेजों में प्रीइंस्टॉलेशन या पोस्ट-इंस्टॉलेशन अनुभागों से आसानी से प्राप्त किया जा सकता है, जिससे दोहरेपन को दूर किया जा सकता है और कोड का एक केंद्रीय टुकड़ा प्राप्त हो सकता है ...

लेकिन इन सबसे ऊपर, मुझे लगता है कि उपरोक्त उद्धरण सिस्टम प्रशासकों की अगली पीढ़ी का एक उदाहरण है, जिसे सिस्टम प्रशासकों द्वारा नहीं, बल्कि सिस्टम इंजीनियरों द्वारा ट्यूशन की आवश्यकता है । अपने आप को एक ग्रेबर्ड खोजें और एक प्रशिक्षु के रूप में हस्ताक्षर करें।


1
आपको लगता है कि लेखकों के सवाल पर आपका जवाब माफ़ करना है।
एम। ग्लटकी

यह उत्तर मुख्य रूप से राय, दृष्टिकोण और औजारों के बारे में एक चर्चा प्रतीत होता है, और वास्तव में पूछे जाने वाले प्रश्न को संबोधित नहीं करता है।
JonathanDavidArndt
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.