मंचन की क्या बात है?


18

मुझे लगा कि मैंने इसे पूरा कर लिया है, लेकिन कंटीन्यूअस डिलीवरी (उत्कृष्ट पुस्तक) पढ़ने के बाद मैं थोड़ा उलझन में हूँ। वे के लिए सर्वर होने के बारे में बात करते हैं:

  • विकास
  • स्वचालित परीक्षणों के विभिन्न रूप
  • उपयोगकर्ता स्वीकृति परीक्षण (UAT) - अर्थात क्लाइंट के साथ बैठकर उन्हें यह प्रदर्शित करना, और उन्हें खोजपूर्ण परीक्षण करने देना। इन-हाउस परीक्षक इस सेटअप का उपयोग खोजपूर्ण परीक्षण के लिए भी कर सकते हैं।
  • मचान
  • उत्पादन।

मैं हमेशा UAT फ़ंक्शन प्रदान करने के रूप में मंचन के बारे में सोचता था, लेकिन वे एक अलग स्तर के रूप में मंचन करते हैं। तो उस योजना में, चरणबद्ध सर्वर क्या कार्य प्रदान करेगा?


10
मैं यह नहीं कह सकता कि मैं उस पद्धति से सहमत हूं। यूएटी को हमेशा लाइव सिस्टम के नज़दीकी चश्मे के रूप में किया जाना चाहिए (यानी स्टेजिंग)। मैंने यूएटी को जितनी बार किया है, उतनी बार नहीं गिना जा सकता है और सभी को गति के मुद्दों की शिकायत थी, जिसके लिए हमें एक हजार बार समझाना होगा कि "लाइव सिस्टम तेज होगा"। और फिर जब कोड, बग या SQL क्वेरी में बग के कारण लाइव सिस्टम ISN'T तेज हो जाता है, तो आपको अपने शब्दों को खाना होगा।
मार्क हेंडरसन

UAT = उपयोगकर्ता स्वीकृति परीक्षण, सही?
मार्टिन थोमा

जवाबों:


13

मंचन पूर्ण उत्पाद प्रणालियों को लागू करेगा, लेकिन वास्तव में अभी तक उनका उपयोग नहीं कर रहा है। जब वे उपयोग में जाएंगे तो "उत्पादन" होगा। आपको सब कुछ डाल देना चाहिए क्योंकि इसका उपयोग किया जाएगा, परीक्षण करें, फिर स्विच को फ्लिप करें।

यूएटी आमतौर पर "परीक्षण" वातावरण का उपयोग करता है जो हार्डवेयर / सॉफ्टवेयर / कॉन्फ़िगरेशन से काफी भिन्न होता है जो उत्पादन में उपयोग किया जाएगा।

उदाहरण के लिए, जहां मैं काम करता हूं, हमारे पास हमारे सर्वर पर चल रहे एक वीएम वातावरण में ग्राहक हैं। जब उनकी प्रणाली लाइव होती है तो यह उनके हार्डवेयर पर, उनकी सुविधा पर, संभवतया उनके मौजूदा सिस्टम के साथ एकीकृत होकर चलती है; इसका हमारे सर्वर या परीक्षण वातावरण से बिल्कुल कोई लेना-देना नहीं होगा (सिवाय इसके कि कोड और कुछ कॉन्फ़िगरेशन को वहां से कॉपी किया गया है ...)


अधिक परीक्षण आमतौर पर स्टेजिंग सर्वर पर होता है, न केवल यूएटी पर - उत्पादन में जाने से पहले।
jftuga

3
@jftuga, पहले पैराग्राफ का अंतिम वाक्य देखें ...
क्रिस एस

@ क्रिस एस: अगर मैं आपको सही तरीके से समझता हूं, तो "एक मंचन सर्वर" जैसी कोई चीज नहीं है, बस एक उत्पादन सर्वर है जो पूल से बाहर है, वर्तमान में अंतिम उपयोगकर्ताओं की सेवा नहीं है। यह समझ में आता है, और एक पद्धति है जिसका मैं पालन करता हूं, लेकिन मैं उन सर्वरों को "स्टेजिंग सर्वर" नहीं कहता, बस उत्पादन सर्वर (जो पूल में नहीं हैं)। चूंकि हर जगह मैंने काम किया है जो स्टेजिंग सर्वरों का उपयोग करता है, उन्हें अलग-अलग सर्वरों के रूप में उपयोग किया जाता है, मुझे नहीं लगता कि आपके मंचन सर्वर का वर्णन उस शब्द का मानक उपयोग है। एक अच्छा विचार है, लेकिन सामान्य रूप से "स्टेजिंग सर्वर" (मेरे अनुभव में, वैसे भी) का मतलब नहीं है।
आइकनोकॉस्ट

1
@ अपने अनुभव में एक "स्टेजिंग सर्वर" क्या है? यह एक क्षेत्रीय अंतर हो सकता है, जैसे "सर्वर को उछाल"।
क्रिस एस

ऐसा लगता है कि मुझे संगठन द्वारा अलग-अलग होना चाहिए। मैंने देखा है कि इसे यूएटी सर्वर के रूप में इस्तेमाल किया जाता है, डेवलपर्स के लिए एक सर्वर के रूप में एक वातावरण में एप्लिकेशन को उत्पादन के समान माना जाता है, और शायद अन्य चीजें। (मैं व्यक्तिगत रूप से केवल एक अच्छी रणनीति है कि मंचन के लिए एक वास्तविक उत्पादन सर्वर का उपयोग करना है।) जैसा कि विभिन्न संगठन अपनी संस्कृति विकसित करते हैं, मुझे लगता है कि वे अपने स्वयं के लेक्सिकन को भी विकसित करते हैं, और इसलिए ऐसे शब्द जो उद्योग में अक्सर एक मानक अर्थ रखते हैं। दुर्भाग्य से नहीं।
iconoclast

17

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

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

तो यहाँ हम क्या करते हैं:

  • विकास
    • निरंतर एकीकरण और स्वचालित परीक्षण शामिल है
  • परीक्षण जारी करें
    • मेरा समूह स्वयं रिलीज़ का विश्लेषण करता है
    • स्थापित लॉग की समीक्षा करना
    • परीक्षण रोलबैक
  • क्यूए
    • उपयोगकर्ता स्वीकृति परीक्षण

यह वह बिंदु है जिस पर हम मचान और उत्पादन के बीच शाखा करते हैं। हम रिलीज के लिए एक ट्रेन मॉडल का उपयोग करते हैं, हर कुछ हफ्तों में एक नई ट्रेन शुरू होती है। यहां तक ​​कि गिने-चुने गाड़ियां स्टेजिंग सर्वर (जो उत्पादन में हैं) पर जाती हैं। विषम संख्या वाली ट्रेनें नहीं होती हैं।

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

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

संक्षेप में, संक्षिप्त उत्तर (कम से कम हमारे लिए) यह है कि क्यूए में जटिल प्रणालियों का पूरी तरह से परीक्षण करना असंभव है। स्टेजिंग सीमित उत्पादन परीक्षण करने का एक सुरक्षित तरीका प्रदान करता है।

संबंधित नोट पर, यहां एक प्रस्तुति से मेरी स्लाइड्स हैं जो मैंने अभी दी थी कि हमारी रिलीज़ प्रक्रिया कैसे काम करती है।


5

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

इसका एक उदाहरण विंडोज एज़्योर होगा, जिसे एक नया संस्करण तैनात करने के लिए 5-25 मिनट की आवश्यकता होती है, लेकिन आप एक स्टेजिंग वातावरण में तैनात कर सकते हैं, परीक्षण कर सकते हैं और फिर तुरंत उत्पादन और स्टेजिंग वातावरण स्वैप कर सकते हैं


0

मैं अभी इस लेख में पर्यावरण के बारे में बताता हूं जो कहता है

स्टेजिंग वह जगह है जहाँ आप अपने सिस्टम के ज्ञात-अज्ञात को मान्य करते हैं।

लेख पूरी तरह से पढ़ने लायक है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.