"हम प्रोग्रामर नहीं हैं, हम sysadmins हैं"
मेरा समय कितनी बार बदल गया है, बदतर के लिए: मेरे जैसे एक ग्रेबर्ड को पेशेवर प्रोग्रामर की तुलना में बेहतर प्रोग्रामर होने की उम्मीद थी , अन्यथा सिस्टम प्रशासक के लिए कभी भी उत्तीर्ण नहीं हो पाता ।
अब, हमारे पास "सिस्टम एडमिनिस्ट्रेटर" हैं, जो मूल रूप से विंडोज डेस्कटॉप उपयोगकर्ता हैं, जिनके पास कुछ बिंदु लिनक्स में परिवर्तित हो गए हैं और प्रोग्राम नहीं कर सकते हैं, और जो कुछ भी गलत नहीं है वह उसके साथ नहीं मिलता है।
कमरे में हाथी क्यों इस तरह के विनाशकारी रवैये को सहन करता है। किसके लिए विनाशकारी या क्या? व्यापार के लिए और बुनियादी ढांचे के लिए।
कठपुतली [, CFEngine, बावर्ची] विषय पर वापस: जैसे ही कोई एक समाधान हल करता है जैसे कि, एक खो देता है। हर कोई हार जाता है। क्यों? क्योंकि जो कोई भी इस विचार के साथ आता है वह अच्छा, स्वच्छ, किकस्टार्ट [, जम्पस्टार्ट, ऑटोमेटेड इंस्टॉलर, ऑटोवाईएसटी, इग्नाइट-यूएक्स, एनआईएम] ऑपरेटिंग सिस्टम पैकेजों के रूप में इनकैप्सुट कॉन्फ़िगरेशन प्रबंधन को डिजाइन करने में सक्षम नहीं है। जब आपको कठपुतली (या बावर्ची, या CFEngine) की तरह एक स्वचालित हैकिंग उपकरण का उपयोग करना पड़ता है, तो इसका मतलब है कि आपके पास डिजाइन करने के लिए वैरविथल की कमी है और एक प्रक्रिया को लागू करने के लिए, उसी डिजाइन द्वारा, पूरी तरह से प्राचीन लागू करें और प्रबंधित सिस्टम को पूरी तरह से रोशनी दें। स्वचालित और पूरी तरह से गैर-संवादात्मक।
एक अन्य महत्वपूर्ण बिंदु है, यदि आपके पास किसी हैकिंग सिस्टम या एप्लिकेशन कॉन्फ़िगरेशन को सही करने के लिए कठपुतली या कुछ ऐसा समाधान है , तो यह भी एक प्रक्रिया को डिजाइन करने के लिए अनुभव नहीं होने पर वापस चला जाता है, और उस प्रक्रिया में एक रूपरेखा जहां कॉन्फ़िगरेशन पैक किया जाता है। असतत घटकों में। वास्तव में, जो भी कठपुतली और इस तरह लागू करता है, उसके पास घटक मालिकों, रिलीज़, कॉन्फ़िगरेशन प्रबंधन, क्षमता परिपक्वता मॉडल की कोई अवधारणा नहीं होती है। यह तेजी से उद्योग में एक बहुत गंभीर समस्या के रूप में विकसित हो रहा है।
कठपुतली के साथ काम करने से मुझे रूबी को सीखने में मदद मिली, जो बैश को मेरी डिफ़ॉल्ट सिस्टम टूल्स भाषा के रूप में बदलने के लिए आई है। ”
रूबी की आवश्यकता क्यों है, जब एक व्यापक, एंड-टू-एंड कॉन्फ़िगरेशन प्रबंधन को इंस्टॉलेशन सिस्टम संकुल के प्रीइंस्टॉलेशन, पोस्ट इंस्टॉलेशन, प्रीरेमोव और पोस्टमूव सेक्शन में एनकैप्सुलेट किया जा सकता है, बस बॉर्न शेल प्रोग्राम, एडब्ल्यूके और सिड का उपयोग करके? कि कोई रूबी की गूढ़ भाषा सीखने की लंबाई पर जाएगा, और कठपुतली के संदर्भ में एक बोली, पूरी तरह से अनावश्यक है। कॉन्फ़िगरेशन प्रबंधन की समस्या शेल प्रोग्राम और AWK के साथ आसानी से सॉल्व करने योग्य (और बुद्धि के लिए, हल हो गई है) और यहाँ गोंद के रूप में थोड़ी सीड (1) है।
अपने कठपुतली प्रदर्शन को पूरी मशीन या खरोंच से एक नई सेवा को देखने के लिए एक अच्छा एहसास है।
कोडस्ट की एक भी लाइन के बिना किकस्टार्ट, ऑटायस्ट, या जम्पस्टार्ट, और किसी भी गूढ़ या अतिरिक्त सॉफ्टवेयर की आवश्यकता के बिना ऑपरेटिंग टूल का उपयोग करके ऑपरेटिंग सिस्टम को क्वेरी करने में सक्षम होने के कारण यह एक और भी अच्छी बात है , कोई क्लाइंट-सर्वर नहीं। आर्किटेक्चर की आवश्यकता (SSH ठीक से अधिक है, ठीक से अधिक तरीका है), और आपके ऑपरेटिंग सिस्टम को इसके बारे में प्रत्येक परिवर्तन के बारे में पता है।
डेटा से 5.Separate कोड। यह सीखने की कठिन अवधारणाओं में से एक है। मॉनिटरिंग होस्ट्स जैसे हार्डकोड मान आपके मॉड्यूल कोड में खराब हैं। उन्हें एक डेटा स्टोर में डालना (db, yaml (Hiera इसे डिफ़ॉल्ट रूप से उपयोग करता है), csv, जो भी हो) जो आपके मॉड्यूल का उपभोग कर सकता है वह अच्छा है। एक उदाहरण एक वेबएप है जो मैसकल का उपयोग करता है। यह क्या अनुमति देता है कोड और डेटा को अलग-अलग धकेलने की क्षमता है। यह आपकी विकास प्रक्रिया को सरल बनाता है।
... या आप सिर्फ शेल वैरिएबल के साथ अपनी कॉन्फ़िगरेशन फ़ाइलों को टेम्प्लेट कर सकते हैं , यहां तक कि बैकक्वोट्स (उदाहरण के लिए ls -1 ...
) और एक शेल स्क्रिप्ट लिख सकते हैं, जो AWK का उपयोग eval (1) को कॉल करने के लिए करता है और टेम्प्लेट में सभी वेरिएबल्स का विस्तार करता है, जिससे सटीक समान शक्तिशाली का लाभ होता है पार्सर जो गोले में निर्मित है। इसे जटिल क्यों बनाते हैं, जब यह वास्तव में, वास्तव में सरल हो सकता है? आप कॉन्फ़िगरेशन मूल्यों को कहाँ संग्रहीत करेंगे? क्यों, कहीं भी आप कृपया, जैसे कि उदाहरण के लिए pkginfo (4) फ़ाइलें, या Oracle जैसे डेटाबेस, या कहीं भी बहुत अधिक । Ultracomplex समाधान के लिए कोई ज़रूरत नहीं है। मेरे द्वारा उल्लिखित पुस्तकालय को ऑपरेटिंग सिस्टम पैकेजों में प्रीइंस्टॉलेशन या पोस्ट-इंस्टॉलेशन अनुभागों से आसानी से प्राप्त किया जा सकता है, जिससे दोहरेपन को दूर किया जा सकता है और कोड का एक केंद्रीय टुकड़ा प्राप्त हो सकता है ...
लेकिन इन सबसे ऊपर, मुझे लगता है कि उपरोक्त उद्धरण सिस्टम प्रशासकों की अगली पीढ़ी का एक उदाहरण है, जिसे सिस्टम प्रशासकों द्वारा नहीं, बल्कि सिस्टम इंजीनियरों द्वारा ट्यूशन की आवश्यकता है । अपने आप को एक ग्रेबर्ड खोजें और एक प्रशिक्षु के रूप में हस्ताक्षर करें।