कभी एक्सपायर न होने वाली API कुंजियों की समस्या
कई साल पहले जारी की गई कुंजी, जिसे कभी रोटेट नहीं किया गया और जो आज भी मान्य है, कोई सुविधा नहीं है। यह एक जोखिम है जिसे सालों से किसी ने वास्तव में देखा तक नहीं।
कुछ API ऐसा सैंडबॉक्स एनवायरनमेंट देते हैं जो प्रोडक्शन से कार्यात्मक रूप से अलग होता है: अलग कुंजियाँ, कभी-कभी अलग एंडपॉइंट, कभी-कभार अपनी मूल्य संरचना या अपनी ज़्यादा सख़्त सीमाएँ। इरादा वाजिब है: डेवलपरों को असली उपयोग या असली बिलिंग को छुए बिना टेस्ट करने की सुरक्षित जगह देना। व्यवहार में, जिस सैंडबॉक्स के लिए अपना साइन अप चरण, अपनी कुंजी, या अपना भुगतान वाला अपग्रेड चरण चाहिए, वह ठीक उस पल रुकावट जोड़ता है जब डेवलपर यह तय करने की कोशिश कर रहा होता है कि आपका API किसी भी रुकावट के लायक़ है या नहीं।
हम कोई अलग सैंडबॉक्स नहीं चलाते। टेस्टिंग और प्रोडक्शन एक ही मुफ़्त दैनिक सीमा इस्तेमाल करते हैं: किसी भी पते से बिना कुंजी के प्रतिदिन 2,500 अनुरोध, और कुंजी जोड़ने पर प्रतिदिन 2,500 और, जिनकी गिनती प्रति नेटवर्क होती है। सीखने के लिए अपनी सीमाओं वाला कोई अलग टेस्ट मोड नहीं है और गंभीर टेस्टिंग को ख़रीदारी के पीछे रोकने वाला कोई भुगतान स्तर नहीं है। मूल्यांकन के दौरान आप जिस पर भी निर्माण करते हैं, वह बिल्कुल वही सिस्टम है जिस पर आप डिप्लॉय करते हैं, बिल्कुल उसी मुफ़्त सीमा के साथ, एक भी यूरो ख़र्च करने से पहले।
यह इसलिए मायने रखता है क्योंकि जो सैंडबॉक्स प्रोडक्शन से थोड़ा भी अलग व्यवहार करता है, वह सैंडबॉक्स को टेस्ट कर रहा है, आपके इंटीग्रेशन को नहीं। अगर कोई अलग सैंडबॉक्स असली डेटासेट के बजाय सरलीकृत या नक़ली रिस्पॉन्स डेटा इस्तेमाल करता है, तो असल दुनिया के डेटा की विचित्रताओं का पता आपको लाइव होने के बाद ही चलता है, जो टेस्टिंग के मूल उद्देश्य के बड़े हिस्से को ही बेकार कर देता है। असली सिस्टम पर, असली डेटा के साथ, असली मुफ़्त सीमा का उपयोग करके टेस्ट करने का मतलब है कि मूल्यांकन के दौरान आप जो सीखते हैं, वह उस पर भी सच है जो आप प्रोडक्शन में चलाएँगे।
सैंडबॉक्स तक पहुँच को किसी अलग भुगतान वाले चरण के पीछे न रोकने की हमें एक क़ीमत चुकानी पड़ती है: उस मुफ़्त टेस्टिंग ट्रैफ़िक का कुछ हिस्सा कभी भुगतान वाले खाते में नहीं बदलेगा, वही सौदा जो किसी भी उदार मुफ़्त स्तर में होता है। हमें लगता है कि यह क़ीमत चुकाने लायक़ है, क्योंकि विकल्प ठीक ग़लत प्रोत्साहन उस डेवलपर पर डालता है जो यह तय कर रहा है कि आपके API पर कुछ बनाए भी या नहीं। भुगतान वाला या बहुत सीमित टेस्ट मोड किसी से यह जानने से पहले ही आर्थिक प्रतिबद्धता माँगता है कि प्रोडक्ट उसके उपयोग के लिए उपयुक्त है या नहीं। एक मुफ़्त, पूरी तरह काम करने वाला टेस्टिंग रास्ता यह फ़ैसला गुणों के आधार पर, वास्तव में आज़माने के बाद, लेने देता है।
इसका मतलब यह नहीं कि टेस्टिंग की कोई सीमा ही नहीं है। प्रतिदिन वही 2,500 अनुरोध जो हल्के प्रोडक्शन उपयोग को कवर करते हैं, टेस्टिंग को भी कवर करते हैं, और उस सीमा पर किया गया कोई बड़े पैमाने का लोड टेस्ट उसी छत से टकराएगा जिससे कोई छोटा प्रोडक्शन इंटीग्रेशन टकराता। यह जानबूझकर है। मुफ़्त स्तर असली मूल्यांकन के लिए काफ़ी उदार है, असीमित नहीं, और किसी हाई-वॉल्यूम प्रोडक्ट के लिए इसे अपना स्थायी टेस्ट एनवायरनमेंट मानना, भुगतान वाले उपयोग पर जाने से पहले यह पुष्टि करने के लिए इसका उपयोग करने से अलग बात है कि कोई इंटीग्रेशन काम करता है।
सैंडबॉक्स को एक सवाल का ईमानदारी से जवाब देना चाहिए: क्या यह असली चीज़ का उपयोग करते हुए वैसे ही काम करता है जैसी मुझे उम्मीद है। उस जवाब के लिए शुल्क लेना, या असली चीज़ के अलावा किसी और चीज़ से जवाब देना, दोनों ही सूरतों में उद्देश्य को बेकार कर देता है।