'फ़ीचर फ्लैग टॉगल' क्या है और इनका इस्तेमाल कब (या नहीं) किया जाना चाहिए?


17

इसके बारे में कुछ प्रश्न हैं feature flag toggles, जैसे:

प्रश्न :

  • वास्तव में "फीचर फ्लैग टॉगल" (DevOps के संदर्भ में) क्या है?
  • उनका उपयोग क्यों किया जाता है?

3
संदर्भ जानकारी, प्रत्यक्ष उत्तर नहीं - martinfowler.com/articles/feature-toggles.html
Ken Mugrage

1
मुझे पता है कि डाउनवोट-स्पष्टीकरण के बारे में "पूछना" आमतौर पर स्वीकार नहीं किया जाता है। लेकिन जिसने भी इस सवाल को गुमनाम रूप से घटाया, बस इतना जान लीजिए कि मेरे लिए इस तरह के डाउनवोट बेकार हैं, क्योंकि ये डाउनवोट सस्ते हैं (ऐसा करने के लिए डाउनवॉटर -1 ढीला नहीं होता)। जवाब में से बेनामी downvotes हालांकि अलग है ... इस तरह के downvoter एक निशान छोड़ करता है ...
Pierre.Vriens

2
और मैं वास्तव में यह जानना पसंद करूंगा कि किसी को क्यों लगा कि यह प्रश्न "बहुत व्यापक" होने के कारण बंद होना चाहिए, जब यह वास्तव में एक महान प्रश्न है जो अच्छे उत्तरों का हकदार है।
एवगेनी

Merci @Evgeny, लगता है कि हम एक ही पृष्ठ पर हैं ... लेकिन क्या आपने देखा है कि 1 करीबी वोट वापस ले लिया गया है? संभवतः मेरे सबसे हालिया संपादन के कारण।
Pierre.Vriens

जवाबों:


13

Https://martinfowler.com/articles/feature-toggles.html की सामग्री को दोहराए बिना , क्योंकि यह इस बात का एक अद्भुत विवरण है कि फ़्लैग टॉगल क्या विशेषता है। मैं सिर्फ DevOps पहलुओं पर ध्यान केंद्रित करूंगा।

अनुसार करने के लिए की DevOps रिपोर्ट 2014 राज्य PuppetLabs द्वारा तैयार चार प्रमुख मैट्रिक्स आईटी प्रदर्शन को मापने के लिए कर रहे हैं:

  • बदलाव के लिए नेतृत्व का समय
  • रिलीज की आवृत्ति
  • सेवा बहाल करने का समय
  • असफलता दर बदलें

ये समग्र रूप से संगठनात्मक प्रदर्शन में भी योगदान देते हैं। तो इसका मतलब है कि अगर आपका आईटी इन मेट्रिक्स पर बहुत अच्छा कर रहा है, तो आपके नीचे की लाइन $ $ $ ज्यादा हो जाती है।

कंटीन्यूअस डिलीवरी इन मेट्रिक्स द्वारा सक्षम है, और इसे किताब में गहराई से वर्णित किया गया है कंटीन्यूअस डिलिवरी: रिलायबल सॉफ्टवेयर रिलीस विद बिल्ड, टेस्ट, एंड डेविज़न ऑटोमेशन बाय जेज़ हंबले।

कंटीन्यूअस डिलीवरी के संदर्भ में , एक महत्वपूर्ण अंतर है जो इसे कंटिन्युअस डिप्लॉयमेंट से अलग करता है । और यह निर्णय है कि कब (ग्राहकों के लिए) सुविधाओं को जारी किया जाए

आकार में छोटे बदलाव, और कोडिंग (नकल कोड) आधे-पके हुए फीचर्स को प्रोडक्शन सिस्टम के साथ एक फीचर फ्लैग ऑफ के साथ बंद कर दिया जाता है ताकि बदलावों के लिए लीड समय कम हो सके ।

जब सुविधाएँ अंततः समाप्त हो जाती हैं, तो रिलीज़ करना व्यवसाय के लिए छोड़ा गया निर्णय होता है। हो सकता है कि एक नई सुविधा की रिलीज़ के लिए कुछ मार्केटिंग के साथ गठबंधन किया जाए, या व्यवसाय के किसी अन्य भाग में रिलीज़ किया जाए, जैसे कि मोबाइल ऐप में एक सुविधा।

ग्राहक आधार के केवल एक भाग के लिए, या विशिष्ट लोगों को, या यहां तक ​​कि सामान्य उपलब्धता (GA) के लिए प्रत्यक्ष रूप से A / B experiements का उपयोग करके सुविधाओं को जारी किया जा सकता है। हालांकि जीए को जारी करना अक्सर तब ही होता है जब यह पर्याप्त होता है कि यह फीचर उम्मीद के मुताबिक काम करता है। कोई यह तर्क दे सकता है कि यह प्रभाव उच्च होने के लिए रिलीज़ आवृत्ति को प्रभावित करता है ।

फ़ीचर फ़्लैग टॉगल के बिना रिलीज़ और परिनियोजन का यह डिकम्पलिंग लगभग असंभव है।

स्वाभाविक रूप से जब किसी सुविधा को चालू करने के लिए किसी भी परिनियोजन की आवश्यकता नहीं होती है , तो सेवा को पुनर्स्थापित करने का समय काफी कम हो जाता है।

और ग्राहक आधार के एक छोटे से स्लाइस में सुविधाओं को जारी करने वाले फीचर झंडे का उपयोग करके, परिवर्तन विफल दर मीट्रिक में काफी सुधार किया जा सकता है।


तो एक साधारण तंत्र जिसे फीचर फ्लैग टॉगल कहा जाता है , वह बेहतर आईटी प्रदर्शन को सक्षम बनाता है, और बदले में संगठनात्मक प्रदर्शन को बेहतर बनाता है।

यह वास्तविक कंपनियों में कैसे किया जाता है, इसका महान उदाहरण फ्लिकर (विषय पर सबसे पहले सार्वजनिक पदों पर), और एटसी में पाया जा सकता है । लेकिन कई अन्य लोगों ने अभ्यास को अपनाया है और इसके बारे में बात की है, उदाहरण के लिए Spotify वीडियो में प्रसिद्ध इंजीनियरिंग संस्कृति

Etsy ने वेब के आसपास पाए जाने वाले कई प्रेजेंटेशन में फीचर फ्लैग्स को प्रबंधित करने के लिए अपने आंतरिक टूल को बंद कर दिया , जिसे Catapult कहा जाता है। और इनुइट ने वासबी नामक एक ओपन-सोर्स टूल जारी किया, जो फीचर फ्लैग को प्रबंधित करने में मदद करता है।


इस दिलचस्प / विस्तृत जवाब के लिए मर्सी ... केवल 2 चीजें हालांकि: जुड़ा हुआ लेख "फ़ीचर टॉगल" के बारे में है, न कि "फ़ीचर फ्लैग टॉगल" (जैसा कि आपने अपने पहले पैराग्राफ में लिखा था)। क्या आप सहमत होंगे कि वे पर्यायवाची हैं? यदि नहीं तो क्या अंतर है? इसके अलावा: "ए / बी प्रयोगों" (ए = बाद और बी = पहले क्या हैं? शायद नहीं ...)।
Pierre.Vriens

1
मैं मानता हूं कि ये पर्यायवाची हैं। मैं सिर्फ नाम के बारे में कोशिश करना और स्पष्ट होना पसंद करता हूं, इसलिए कोई अस्पष्टता नहीं है। मुझे लगता है कि "एक ए / बी प्रयोग" अपने आप में एक सवाल है ... लेकिन इसका संक्षिप्त जवाब यह है कि यह दो भिन्नताएं हैं जो एक-दूसरे के खिलाफ मापी जाती हैं, जैसे "एटीसी दिखावा" लिंक। या कम से समझाया en.wikipedia.org/wiki/A/B_testing
एव्जेनी

ठीक है, वह परिष्करण स्पर्श है जिसका मैं इंतजार कर रहा था / उम्मीद कर रहा था, इसलिए "स्वीकार करें"।
Pierre.Vriens

@ पियरे.विरेंस "इसके अलावा:" ए / बी प्रयोग "(ए = आफ्टर और बी = बिफोर?) - आप शायद इस सुपर कूल
डेवोप्स

1

केन मुग्रेज़ ने मेरे सवाल के नीचे एक दिलचस्प टिप्पणी पोस्ट की, जिसमें " फ़ीचर टॉगल " की एक शानदार व्याख्या का एक लिंक है , जिसमें इसका एक सारांश है:

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

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

लेकिन, समस्या का समाधान (उत्तर) (प्रश्न), समस्या को बदल देता है ... कोई भी संबंधित प्रश्न पूछ सकता है जैसे:

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