प्रोडक्शन के लिए बने ऐप्लिकेशन के लिए, आपको डेवलपमेंट का एक साफ़-सुथरा वर्कफ़्लो सेट अप करना होगा. खास तौर पर, तब जब आपके ऐप्लिकेशन पर एक से ज़्यादा लोग काम कर रहे हों. डेवलपमेंट के वर्कफ़्लो में आम तौर पर, कई एनवायरमेंट सेट अप और मैनेज किए जाते हैं.
Firebase, डेवलपर के वर्कफ़्लो और उनसे जुड़े एनवायरमेंट के लिए, अलग-अलग लेवल की सहायता उपलब्ध कराता है. इस पेज पर, डेवलपर के वर्कफ़्लो से जुड़ी शर्तों और मान्यताओं के बारे में जानने के बाद, Firebase प्रोजेक्ट और अपने ऐप्लिकेशन सेट अप करने के सबसे सही तरीके और सुरक्षा से जुड़ी सामान्य गाइडलाइन देखें.
एनवायरमेंट के बारे में जानकारी
सॉफ़्टवेयर डेवलपमेंट में, एनवायरमेंट का मतलब है, किसी ऐप्लिकेशन या ऐप्लिकेशन के सिस्टम का इंस्टेंस चलाने के लिए ज़रूरी सभी हार्डवेयर और सॉफ़्टवेयर.
एनवायरमेंट की सीरीज़, उपयोगकर्ताओं पर असर डाले बिना सॉफ़्टवेयर डेवलप और टेस्ट करने के लिए आइसोलेशन उपलब्ध कराती है. नीचे दिए गए डायग्राम में दिखाए गए तरीके के मुताबिक, हाई-लेवल पर एनवायरमेंट को प्री-प्रोडक्शन या प्रोडक्शन माना जाता है. साथ ही, ज़रूरत के हिसाब से कई प्री-प्रोडक्शन एनवायरमेंट बनाए जा सकते हैं. डायग्राम में, हर तरह के एनवायरमेंट से जुड़े सामान्य तरीकों और सुविधाओं के बारे में भी बताया गया है. common practices and features associated with each type of environment.
किसी सुविधा या रिलीज़ को इन एनवायरमेंट के ज़रिए प्रोडक्शन में ले जाने की प्रोसेस को डिप्लॉयमेंट पाइपलाइन कहा जाता है.

एनवायरमेंट के टाइप
किसी एनवायरमेंट में, वह बुनियादी इन्फ़्रास्ट्रक्चर शामिल होता है जिसकी ज़रूरत आपको अपने ऐप्लिकेशन, उसके कोड, और उसके डेटा को चलाने और सपोर्ट करने के लिए होती है. कुछ सामान्य एनवायरमेंट के ब्यौरे देखने के लिए, यहां दिए गए हर शब्द पर क्लिक करें. इनमें हर तरह के एनवायरमेंट में इस्तेमाल किए जाने वाले डेटा के टाइप के बारे में सुझाव भी शामिल हैं.
डेवलपमेंट (dev) एनवायरमेंट
हर डेवलपर को डेवलपमेंट एनवायरमेंट की ज़रूरत होती है. यह एक सुरक्षित और अलग जगह होती है, जहां बदलावों को बनाते समय उनकी जांच की जा सकती है. सबसे अच्छा यह होता है कि आपकी टीम में शामिल हर डेवलपर के पास अपना dev एनवायरमेंट हो. इसके अलावा, अगर dev एनवायरमेंट एक लोकल इंस्टेंस है, तो डेवलपर बहुत तेज़ी से बदलाव कर सकता है.
dev एनवायरमेंट में मौजूद डेटा, आम तौर पर प्रोडक्शन डेटा जैसा होता है. हालांकि, इसमें कभी भी असली उपयोगकर्ताओं का डेटा नहीं होना चाहिए. इसमें ऐसा डेटा भी हो सकता है जिसकी वजह से पहले बग आए हों. जैसे, बहुत लंबी स्ट्रिंग.
टेस्ट और QA एनवायरमेंट
अगर आपके पास ऑटोमेटेड टेस्ट हैं, तो आपको एक ऐसे एनवायरमेंट की ज़रूरत होगी जिसमें उन टेस्ट को चलाया जा सके. साथ ही, टेस्ट एनवायरमेंट बनाते समय, आपको हर बार डेटा रीसेट करना होगा.
अगर आपके पास QA इंजीनियर हैं, तो उन्हें एक ऐसे एनवायरमेंट की ज़रूरत हो सकती है जिसका इस्तेमाल वे सभी करें. इसके अलावा, उन्हें नए रिलीज़ कैंडिडेट की जांच करने के लिए, अलग-अलग एनवायरमेंट की ज़रूरत भी हो सकती है.
टेस्ट और QA एनवायरमेंट में मौजूद डेटा, अच्छी क्वालिटी का होता है. यह आम तौर पर प्रोडक्शन डेटा जैसा होता है. इसके अलावा, इसमें ऐसे डेटा भी शामिल होते हैं जो कॉर्नर केस और ऐसे डेटा के उदाहरण दिखाते हैं जिनकी वजह से पहले बग आए थे.
स्टेजिंग एनवायरमेंट
रिलीज़ के प्रोडक्शन में काम करने के तरीके की असल जांच करने के लिए, आपको एक स्टेजिंग एनवायरमेंट की ज़रूरत होती है. यह एनवायरमेंट, प्रोडक्शन इन्फ़्रास्ट्रक्चर जैसा होना चाहिए. अगर आपको अलग-अलग इंटिग्रेशन की जांच करनी है, तो स्टेजिंग के कई इंस्टेंस होना आम बात है.
स्टेजिंग और प्रोडक्शन के बीच सामान्य अंतर यहां दिए गए हैं:
ऐसा हो सकता है कि स्टेजिंग में कुछ सुविधाएं या इंटिग्रेशन मौजूद न हों. इनकी वजह से साइड इफ़ेक्ट हो सकते हैं. उदाहरण के लिए, ऐसा हो सकता है कि स्टेजिंग को ईमेल न भेजने के लिए सेट किया गया हो.
ऐसा हो सकता है कि स्टेजिंग में एनोनिमाइज़ किया गया डेटा हो. यह डेटा फ़ेक हो सकता है, लेकिन यह असल जैसा होना चाहिए. स्टेजिंग, समस्याओं को सुरक्षित तरीके से डीबग करने की जगह है. इसलिए, हो सकता है कि आप प्रोडक्शन डेटा के मुकाबले, स्टेजिंग डेटा का ऐक्सेस अपनी टीम के ज़्यादा सदस्यों को दें. इसलिए, उपयोगकर्ता की निजता को सुरक्षित रखने के लिए, आपको स्टेजिंग में असली उपयोगकर्ता डेटा का इस्तेमाल नहीं करना चाहिए.
प्रोडक्शन (prod) एनवायरमेंट
आपको हर उस ऐप्लिकेशन के लिए एक प्रोडक्शन एनवायरमेंट की ज़रूरत होती है जिसे आप बनाए रखते हैं. यह वह इंस्टेंस है जिससे आपके उपयोगकर्ता इंटरैक्ट करते हैं.
अन्य एनवायरमेंट में, डेटा को बदला, मिटाया, और/या फिर से बनाया जा सकता है. हालांकि, आपके प्रोडक्शन एनवायरमेंट में मौजूद डेटा बहुत अहम होता है. प्रोडक्शन डेटा के मिटने या उसमें बदलाव होने से, आपके उपयोगकर्ताओं पर सीधे असर पड़ेगा.
हमारा सुझाव है कि Firebase कंसोल में, अपने प्रोडक्शन एनवायरमेंट से जुड़े Firebase प्रोजेक्ट को "प्रोडक्शन" एनवायरमेंट टाइप के तौर पर टैग करें. इस टैग से आपको और आपकी टीम के सदस्यों को यह याद दिलाने में मदद मिल सकती है कि किसी भी बदलाव से, आपके जुड़े प्रोडक्शन ऐप्लिकेशन और उनके डेटा पर असर पड़ सकता है.
अगले चरण
Firebase प्रोजेक्ट सेट अप करने के सबसे सही तरीकों के बारे में हमारी सामान्य गाइडलाइन देखें. इस गाइड में, Firebase प्रोजेक्ट के क्रम, अपने ऐप्लिकेशन के वैरिएंट रजिस्टर करने के तरीके, और मल्टी-टेनेंसी के बारे में सवालों के जवाब दिए गए हैं.
अलग-अलग एनवायरमेंट के लिए, सुरक्षा से जुड़ी सामान्य गाइडलाइन देखें. आपको यह पक्का करना होगा कि हर एनवायरमेंट और उसका डेटा सुरक्षित हो.