एंटीपैटर्न: सोर्स कंट्रोल मैनेजमेंट का इस्तेमाल किए बिना, Edge के संसाधनों को मैनेज करें

Apigee Edge का दस्तावेज़ देखा जा रहा है.
Apigee X के दस्तावेज़ पर जाएं.
जानकारी

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

  • एपीआई प्रॉक्सी
  • शेयर किए गए फ़्लो
  • एपीआई प्रॉडक्ट
  • कैश मेमोरी
  • केवीएम
  • पासकोड और ट्रस्टस्टोर
  • वर्चुअल होस्ट
  • टारगेट सर्वर
  • संसाधन फ़ाइलें

इन संसाधनों का ऐक्सेस सीमित है. हालांकि, अगर अनुमति वाले उपयोगकर्ता भी इनमें बदलाव करते हैं, तो पुराना डेटा नए डेटा से बदल जाता है. ऐसा इसलिए होता है, क्योंकि ये संसाधन Apigee Edge में सिर्फ़ उनकी मौजूदा स्थिति के हिसाब से सेव किए जाते हैं. इस नियम के मुख्य अपवाद, एपीआई प्रॉक्सी और शेयर किए गए फ़्लो हैं.

बदलाव कंट्रोल के तहत एपीआई प्रॉक्सी और शेयर किए गए फ़्लो

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

एपीआई प्रॉक्सी और शेयर किए गए फ़्लो को बदलावों के ज़रिए मैनेज किया जाता है. हालांकि, अगर किसी मौजूदा बदलाव में कोई बदलाव किया जाता है, तो उसे पहले जैसा करने का कोई तरीका नहीं है. ऐसा इसलिए, क्योंकि पुराने बदलावों को सीधे तौर पर बदल दिया जाता है.

ऑडिट और इतिहास

Apigee Edge में ऑडिट और एपीआई, प्रॉडक्ट, और संगठन का इतिहास जैसी सुविधाएं मिलती हैं. इनकी मदद से, समस्याओं को हल करने में मदद मिलती है. इन सुविधाओं की मदद से, आपको यह जानकारी देखने की सुविधा मिलती है कि किन लोगों ने कौनसे खास ऑपरेशन (बनाना, पढ़ना, अपडेट करना, मिटाना, डिप्लॉय करना, और डिप्लॉय करना बंद करना) किए और Edge रिसॉर्स पर ये ऑपरेशन कब किए गए. हालांकि, अगर किसी Edge संसाधन पर अपडेट या मिटाने की कार्रवाई की जाती है, तो ऑडिट आपको पुराना डेटा नहीं दिखा सकते.

एंटीपैटर्न

सोर्स कंट्रोल सिस्टम का इस्तेमाल किए बिना, सीधे Edge यूज़र इंटरफ़ेस (यूआई) या मैनेजमेंट एपीआई की मदद से, ऊपर दिए गए Edge संसाधनों को मैनेज करना

एक गलतफ़हमी यह है कि बदलाव करने या मिटाने के बाद, Apigee Edge संसाधनों को उनकी पिछली स्थिति पर वापस ला पाएगा. हालांकि, Edge Cloud, संसाधनों को उनकी पिछली स्थिति पर वापस नहीं लाता. इसलिए, यह उपयोगकर्ता की ज़िम्मेदारी है कि वह यह पक्का करे कि Edge के संसाधनों से जुड़ा सारा डेटा, सोर्स कंट्रोल मैनेजमेंट की मदद से मैनेज किया जाए. इससे, गलती से डेटा मिटाए जाने या किसी बदलाव को रोल बैक करने की ज़रूरत पड़ने पर, पुराने डेटा को तुरंत वापस लाया जा सकता है. यह खास तौर पर उन प्रोडक्शन एनवायरमेंट के लिए ज़रूरी है जहां रनटाइम ट्रैफ़िक के लिए यह डेटा ज़रूरी है.

आइए, कुछ उदाहरणों की मदद से इस बारे में बताते हैं कि अगर डेटा को सोर्स कंट्रोल सिस्टम की मदद से मैनेज नहीं किया जाता है और उसमें जान-बूझकर या अनजाने में बदलाव किया जाता है या उसे मिटाया जाता है, तो क्या असर पड़ सकता है:

पहला उदाहरण: एपीआई प्रॉक्सी को मिटाना या उसमें बदलाव करना

जब किसी एपीआई प्रॉक्सी को मिटाया जाता है या किसी मौजूदा बदलाव पर बदलाव किया जाता है, तो पुराने कोड को वापस नहीं लाया जा सकता. अगर एपीआई प्रॉक्सी में Java, JavaScript, Node.js या Python का ऐसा कोड है जिसे Apigee के बाहर के सोर्स कंट्रोल मैनेजमेंट (एससीएम) सिस्टम में मैनेज नहीं किया जाता है, तो डेवलपमेंट का ज़्यादातर काम और मेहनत बर्बाद हो सकती है.

दूसरा उदाहरण: खास वर्चुअल होस्ट का इस्तेमाल करके, एपीआई प्रॉक्सी तय करना

किसी वर्चुअल होस्ट पर मौजूद सर्टिफ़िकेट की समयसीमा खत्म होने वाली है और उस वर्चुअल होस्ट को अपडेट करना ज़रूरी है. अगर कई एपीआई प्रॉक्सी हैं, तो यह पता लगाना मुश्किल हो सकता है कि जांच के लिए, कौनसी एपीआई प्रॉक्सी उस वर्चुअल होस्ट का इस्तेमाल करती हैं. अगर एपीआई प्रॉक्सी को Apigee के बाहर के किसी एससीएम सिस्टम में मैनेज किया जाता है, तो रिपॉज़िटरी को खोजना आसान होगा.

तीसरा उदाहरण: पासकोड/ट्रस्टस्टोर मिटाना

अगर किसी वर्चुअल होस्ट या टारगेट सर्वर कॉन्फ़िगरेशन का इस्तेमाल करने वाले पासकोड/ट्रस्टस्टोर को मिटा दिया जाता है, तो उसे वापस नहीं लाया जा सकेगा. ऐसा तब तक नहीं किया जा सकेगा, जब तक कि पासकोड/ट्रस्टस्टोर के कॉन्फ़िगरेशन की जानकारी, सोर्स कंट्रोल में सेव न की गई हो. इसमें सर्टिफ़िकेट और/या निजी पासकोड भी शामिल हैं.

असर

  • अगर Edge का कोई भी संसाधन मिटाया जाता है, तो Apigee Edge से उस संसाधन और उसके कॉन्टेंट को वापस नहीं पाया जा सकता.
  • एपीआई के अनुरोधों में अचानक होने वाली गड़बड़ियों की वजह से, संसाधन को वापस उसकी पिछली स्थिति में लाने तक, सेवा में रुकावट आ सकती है.
  • Apigee Edge में, एपीआई प्रॉक्सी और दूसरे संसाधनों के बीच इंटर-डिपेंडेंसी खोजना मुश्किल होता है.

सबसे सही तरीका

  • एपीआई प्रॉक्सी और शेयर किए गए फ़्लो को मैनेज करने के लिए, किसी भी स्टैंडर्ड एसीएम का इस्तेमाल करें. साथ ही, लगातार इंटिग्रेशन और लगातार डिप्लॉयमेंट (सीआईसीडी) पाइपलाइन का इस्तेमाल करें.
  • एपीआई प्रॉडक्ट, कैश मेमोरी, केवीएम, टारगेट सर्वर, वर्चुअल होस्ट, और पासकोड स्टोर के साथ-साथ, Edge के अन्य संसाधनों को मैनेज करने के लिए, किसी भी स्टैंडर्ड एसीएम का इस्तेमाल करें.
    • अगर कोई मौजूदा Edge रिसॉर्स है, तो उनके लिए JSON/XML पेलोड के तौर पर कॉन्फ़िगरेशन की जानकारी पाने के लिए, मैनेजमेंट एपीआई का इस्तेमाल करें. साथ ही, उन्हें सोर्स कंट्रोल मैनेजमेंट में सेव करें.
    • सोर्स कंट्रोल मैनेजमेंट में, इन संसाधनों के नए अपडेट मैनेज करें.
    • अगर आपको नए Edge संसाधन बनाने या मौजूदा Edge संसाधनों को अपडेट करने की ज़रूरत है, तो सोर्स कंट्रोल मैनेजमेंट में सेव किए गए सही JSON/XML पेलोड का इस्तेमाल करें. साथ ही, मैनेजमेंट एपीआई का इस्तेमाल करके, Edge में कॉन्फ़िगरेशन को अपडेट करें.

* एपीआई से एन्क्रिप्ट किए गए KVM, सादे टेक्स्ट में एक्सपोर्ट नहीं किए जा सकते. एन्क्रिप्ट (सुरक्षित) किए गए KVM में कौनसी वैल्यू डाली गई हैं, इसका रिकॉर्ड रखना उपयोगकर्ता की ज़िम्मेदारी है.

इसके बारे में और पढ़ें