शैडो मूल्यांकन, विचलन साक्ष्य, स्पष्ट कटओवर समूह, रोलबैक, और फेल-क्लोज्ड प्रवर्तन सीमाओं का उपयोग करके एक अनुमति मॉडल से दूसरे में चरणबद्ध माइग्रेशन को परिभाषित करता है।
पैकेज स्थिति: संदर्भ समीक्षा के लिए तैयार। अनुबंध और परीक्षण परिदृश्य पूर्ण हैं, लेकिन यह दावा नहीं किया गया है कि कोई अपनाने वाली कार्यान्वयन ने इन्हें पारित किया है।
निर्णय
पुराने और नए नीति इंजन को साथ-साथ चलाएं, लेकिन प्रत्येक समूह के लिए केवल एक प्राधिकृत परिणाम रखें। छद्मनामक विचलनों को लॉग करें, उन्हें सुधारें, फिर सीमित समूहों द्वारा एक उलटने योग्य नीति-संस्करण स्विच के साथ कटओवर करें।
दायरा
- नीति अनुवाद, छाया तुलना, समूह कटओवर, सत्र व्यवहार, कैश संस्करण, और रोलबैक।
- समकालिक API, जॉब, निर्यात, खोज, कैश, और प्रशासनिक उपकरणों में प्रवर्तन।
- पुरानी नीति को सेवानिवृत्त करने के लिए आवश्यक साक्ष्य।
इस ब्लॉक के बाहर
- माइग्रेशन के साथ-साथ उत्पाद अधिकारों को बदलना।
- माइग्रेशन के बाद दो स्वतंत्र सत्य स्रोत बनाए रखना।
अनुबंध
- प्रत्येक प्रवर्तन अनुरोध में किरायेदार, विषय, क्रिया, संसाधन, और चयनित नीति संस्करण शामिल होता है।
- छाया आउटपुट उपयोगकर्ता क्रियाओं को अधिकृत या अस्वीकार नहीं कर सकता; केवल समूह का प्राधिकृत इंजन ऐसा कर सकता है।
- विचलन रिकॉर्ड अपेक्षित अनुवाद भिन्नताओं को अस्पष्टीकृत अनुमति और अस्वीकृत से अलग वर्गीकृत करते हैं।
- अनुमति और निर्णय कैश में नीति संस्करण और किरायेदार स्कोप उनकी कुंजियों में शामिल होते हैं।
- कटओवर प्रति समूह एकतरफा होता है जब तक कि स्पष्ट रोलबैक उस समूह को वापस न करे।
- पुरानी नीति सेवानिवृत्ति के लिए शून्य अस्पष्टीकृत उच्च-जोखिम विचलन, परीक्षण रोलबैक, और गैर-HTTP प्रवर्तन पथों का कवरेज आवश्यक है।
कार्यान्वयन मार्गदर्शन
- एक मानक अनुमति शब्दावली बनाएं, फिर दोनों मॉडलों से एडेप्टर बनाएं।
- प्रतिनिधि, गोपनीयता-घटित निर्णय फ़िक्स्चर और उत्पादन छाया नमूनों का उपयोग करें।
- नीति संस्करण को सत्रों में प्रसारित करें या कटओवर के बाद प्रवर्तन स्तर पर सत्रों का पुनर्मूल्यांकन करें।
- रोलबैक को इस तरह डिज़ाइन करें कि प्राधिकरण स्विच हो लेकिन आंशिक रूप से माइग्रेटेड असाइनमेंट्स को उलट न लिखा जाए।
विफलता हैंडलिंग और सुरक्षा उपाय
- यदि माइग्रेट किए गए समूह के लिए नया इंजन अनुपलब्ध है, तो घोषित फेल-क्लोज्ड या संरक्षित फॉलबैक नीति का पालन करें; कभी भी बिना संस्करण वाले कैश का मौन उपयोग न करें।
- यदि विचलन मात्रा की निगरानी खो जाती है, तो समूह विस्तार रोक दें।
- यदि असाइनमेंट अनुवाद अस्पष्ट है, तो व्यापक पहुंच बढ़ाने के बजाय असाइनमेंट को समीक्षा के लिए क्वारंटाइन करें।
सत्यापन और संचालन
- क्रिया/जोखिम वर्ग, मूल्यांकन विलंब, कैश मिस, माइग्रेशन कवरेज, रोलबैक समय, और अस्पष्टीकृत अधिकृत विफलताओं द्वारा विचलन मापें।
- प्रत्येक समूह को साक्ष्य विंडो और नामित अनुमोदक पर गेट करें।
- रोलबैक विंडो के दौरान पुराने इंजन को केवल-पढ़ने योग्य रखें, फिर सभी कॉल पथों को जानबूझकर हटा दें।
इस पैकेज में निष्पादन-समान उदाहरण फ़िक्स्चर और स्वीकृति अनुबंध हैं। पैकेज संरचना और मेटाडेटा जांचने के लिए संग्रह रूट से python tools/validate.py चलाएं; फिर लक्षित रिपॉजिटरी में परिदृश्यों को लागू और निष्पादित करें।
अपनाने की धारणाएँ
example.yamlमें नाम और संख्यात्मक मान एक अपनाने वाली प्रोफ़ाइल हैं, सार्वभौमिक डिफ़ॉल्ट नहीं।- अपनाने वाली टीम को अपने सिस्टम के लिए अभिनेताओं, डेटा वर्गों, त्रुटि शब्दावली, और स्वामित्व को मैप करना होगा।