Application Design Center (ADC) और Firebase का इस्तेमाल शुरू करना

Firebase, Google Cloud के Application Design Center (ADC) के साथ इंटिग्रेट होता है. इससे एंटरप्राइज़ ग्राहकों को स्टैंडर्डाइज़ेशन और गवर्नेंस की ज़रूरतों को पूरा करने में मदद मिलती है. साथ ही, ऐप्लिकेशन डेवलपर को तेज़ी से ऐप्लिकेशन शिप करने की सुविधा मिलती है. ADC का इस्तेमाल करने से यह पक्का होता है कि इन्फ़्रास्ट्रक्चर, संगठन के स्टैंडर्ड और सबसे सही तरीकों का पालन करता है. इसके लिए, पहले से तय किए गए टेंप्लेट का इस्तेमाल किया जाता है. इनमें संसाधनों का प्रावधान करने, आईएएम की अनुमतियां देने वगैरह के लिए, सुरक्षा के उपाय तय किए जाते हैं.

इस पेज पर, इनके बारे में जानें:

ADC और Firebase के बारे में खास जानकारी

हमारा सुझाव है कि आप Google Cloud दस्तावेज़ पढ़ें. इससे आपको ADC के बारे में खास जानकारी मिलेगी. Google Cloud के दस्तावेज़ में, ADC के लिए कई गाइड भी उपलब्ध हैं. इनमें मुख्य कॉन्सेप्ट और शुरुआती सेटअप गाइड शामिल है.

ADC का इस्तेमाल करते समय, "ऐप्लिकेशन" को संसाधनों और सेवाओं के लॉजिकल ग्रुप के तौर पर परिभाषित किया जाता है. ये संसाधन और सेवाएं मिलकर, कारोबार से जुड़े फ़ंक्शन उपलब्ध कराती हैं. Firebase डेवलपर के लिए, ADC "ऐप्लिकेशन" को Firebase प्रोजेक्ट के बराबर माना जा सकता है. इसमें आपके रजिस्टर किए गए iOS, Android, और वेब ऐप्लिकेशन, प्रोजेक्ट के लिए एक जैसे संसाधनों और सेवाओं को शेयर करते हैं और उन्हें ऐक्सेस करते हैं.

शुरुआत करने के लिए, हमारा सुझाव है कि आप ADC के साथ काम करें. इसके लिए, उनके जीयूआई (ग्राफ़िकल यूज़र इंटरफ़ेस) अनुभव का इस्तेमाल करें. इसे डिज़ाइन कैनवस कहा जाता है. यह Google Cloud कंसोल में उपलब्ध है. डिज़ाइन कैनवस की मदद से, अपने ऐप्लिकेशन के लिए ज़रूरी इन्फ़्रास्ट्रक्चर के आर्किटेक्चर डायग्राम को विज़ुअलाइज़ किया जा सकता है और बनाया जा सकता है.

ध्यान दें कि ADC, Terraform पर काम करता है. इसलिए, आपके पास हमेशा उस इन्फ़्रास्ट्रक्चर के कोड की परिभाषा का ऐक्सेस होगा जिसे ADC का इस्तेमाल करके तय किया गया है.

इस्तेमाल किए जा सकने वाले Firebase प्रॉडक्ट

यहां Firebase के उन प्रॉडक्ट की शुरुआती सूची दी गई है जिनका इस्तेमाल ADC के साथ किया जा सकता है:

ADC का इस्तेमाल करने वाले मुख्य लोग

ADC को समझने और इस्तेमाल करने का एक आम तरीका यह है कि ADC से जुड़े टास्क को दो तरह के लोगों के हिसाब से बांटा जाए:

  • प्लैटफ़ॉर्म इंजीनियर: यह व्यक्ति, ADC कैटलॉग के लिए, फिर से इस्तेमाल किए जा सकने वाले और नीति के मुताबिक बनाए गए ADC टेंप्लेट डिज़ाइन करता है, उनकी पुष्टि करता है, और उन्हें पब्लिश करता है.

  • ऐप्लिकेशन डेवलपर: यह पर्सोना, इन्फ़्रास्ट्रक्चर को कॉन्फ़िगर और डिप्लॉय करने के लिए, पब्लिश किए गए ADC टेंप्लेट (जैसे, टीम के ADC कैटलॉग से) का इस्तेमाल करता है. वे ऐप्लिकेशन का असल कोड बेस और सुविधाएं भी डेवलप करते हैं.

ऐक्सेस कंट्रोल करने के लिए ज़रूरी IAM भूमिकाएं

आईएएम की भूमिकाएं असाइन करके, यह कंट्रोल किया जा सकता है कि प्रोजेक्ट के कौनसे सदस्य (या मुख्य खाते) कौनसे टास्क कर सकते हैं.

उदाहरण के लिए, हो सकता है कि आप उस प्लैटफ़ॉर्म इंजीनियर को ऐप्लिकेशन डिज़ाइन सेंटर एडमिन की भूमिका (roles/designcenter.admin) असाइन करें जिसे स्पेस बनाने और असाइन करने, कैटलॉग मैनेज करने, और टेंप्लेट डिज़ाइन करने की ज़रूरत है. हालांकि, हो सकता है कि आप किसी ऐप्लिकेशन डेवलपर को सिर्फ़ ऐप्लिकेशन एडिटर की भूमिका (roles/designcenter.applicationEditor) असाइन करें, ताकि वह टेंप्लेट इस्तेमाल कर सके, लेकिन टेंप्लेट बना न सके.

नीचे दी गई टेबल में, ADC से जुड़े टास्क, उनके लिए ज़रूरी भूमिकाएं, और उन्हें पूरा करने वाले व्यक्ति के बारे में बताया गया है:

टास्क पर्सोना IAM रोल 1
टेंप्लेट बनाना और उन्हें मैनेज करना
ADC की पूरी लाइफ़साइकल को मैनेज करना
(इसमें स्पेस, कैटलॉग, और टेंप्लेट मैनेज करना, ऐप्लिकेशन कॉन्फ़िगर करना, और उन्हें डिप्लॉय करना शामिल है)
प्लैटफ़ॉर्म इंजीनियर Application Design Center Admin
(roles/designcenter.admin) मैनेजमेंट प्रोजेक्ट पर
टेंप्लेट बनाना और मैनेज करना. साथ ही, ऐप्लिकेशन कॉन्फ़िगर और डिप्लॉय करना प्लैटफ़ॉर्म इंजीनियर ऐप्लिकेशन डिज़ाइन सेंटर उपयोगकर्ता
(roles/designcenter.user) मैनेजमेंट प्रोजेक्ट पर
ADC ऐप्लिकेशन डिप्लॉय करने के लिए, सेवा खाता बनाना
सेवा खाते बनाना प्लैटफ़ॉर्म इंजीनियर सेवा खाते बनाने
(roles/iam.serviceAccountCreator) की भूमिका, मैनेजमेंट प्रोजेक्ट पर
किसी सेवा खाते को ADC को डिप्लॉय करने के लिए इस्तेमाल किए गए प्रोजेक्ट का ऐक्सेस दें प्लैटफ़ॉर्म इंजीनियर डिप्लॉयमेंट प्रोजेक्ट पर प्रोजेक्ट IAM एडमिन
(roles/resourcemanager.projectIamAdmin)
ADC ऐप्लिकेशन कॉन्फ़िगर और डिप्लॉय करना
ऐप्लिकेशन की पूरी लाइफ़साइकल को कंट्रोल करें
(इसमें सोर्स कोड और सीआई/सीडी सिस्टम के साथ इंटिग्रेशन शामिल है)
ऐप्लिकेशन डेवलपर ऐप्लिकेशन एडमिन
(roles/designcenter.applicationAdmin) मैनेजमेंट प्रोजेक्ट पर
एडमिन के सेट अप किए गए मौजूदा टेंप्लेट और कनेक्शन के आधार पर, ऐप्लिकेशन कॉन्फ़िगर और डिप्लॉय करना ऐप्लिकेशन डेवलपर ऐप्लिकेशन एडिटर
(roles/designcenter.applicationEditor) मैनेजमेंट प्रोजेक्ट पर

1 इनमें से कई भूमिकाएं, मैनेजमेंट प्रोजेक्ट पर सेट करनी होंगी. यह Google Cloud की हैरारकी में टॉप-लेवल का संसाधन है.

सामान्य वर्कफ़्लो

इस सेक्शन में, ADC टेंप्लेट बनाने और उसका इस्तेमाल करने के लिए, सामान्य वर्कफ़्लो के बारे में बताया गया है. इन चरणों को उस व्यक्ति के साथ टैग किया गया है जो आम तौर पर यह चरण पूरा करता है.

  1. पहला चरण: ADC (प्लैटफ़ॉर्म इंजीनियर) को सेट अप करना
  2. दूसरा चरण: टेंप्लेट बनाना (प्लैटफ़ॉर्म इंजीनियर)
  3. तीसरा चरण: टेंप्लेट का इस्तेमाल करना (ऐप्लिकेशन डेवलपर)
  4. चौथा चरण: अपना ऐप्लिकेशन डेवलप करना (ऐप्लिकेशन डेवलपर)

पहला चरण: ADC (प्लैटफ़ॉर्म इंजीनियर) को सेट अप करना

ADC को सेट अप करने के लिए, प्लैटफ़ॉर्म इंजीनियर पर्सोना (या इससे ऊपर) इन टास्क को पूरा करता है. ADC का इस्तेमाल करने के लिए, आम तौर पर इन टास्क को सिर्फ़ एक बार पूरा करना होता है.

  1. ADC का शुरुआती सेटअप.

    Google Cloud दस्तावेज़ में ADC के लिए, शुरुआती सेटअप गाइड में दिए गए चरणों और निर्देशों का पालन करें. ध्यान दें कि इस गाइड में यह माना गया है कि आपको फ़ोल्डर-लेवल की सीमाएं सेट अप करनी हैं.

    यह सेटअप पूरा करने के बाद, आपके पास एक स्पेस होना चाहिए. यह एक ऐसी जगह है जहां टीम मिलकर काम कर सकती है, टेंप्लेट बना सकती है, और ऐप्लिकेशन डिप्लॉय कर सकती है. पक्का करें कि यह स्पेस (साथ ही, फ़ोल्डर और कैटलॉग) उन सभी लोगों के साथ शेयर किया गया हो जिनके साथ आपको ADC में काम करना है.

  2. स्पेस के लिए ऐक्सेस और उपयोगकर्ता सेट अप करें.

    Google Cloud दस्तावेज़ में ADC के लिए, स्पेस के उपयोगकर्ताओं को मैनेज करना लेख में दिया गया तरीका अपनाएं. ऐक्सेस कंट्रोल करने के लिए ज़रूरी आईएएम भूमिकाओं के बारे में, इस पेज पर पहले दिए गए दिशा-निर्देशों का इस्तेमाल करें.

  3. प्रोजेक्ट को पहले से सेट अप करना.

    फ़ोल्डर में एक या उससे ज़्यादा नए Google Cloud प्रोजेक्ट बनाएं. पक्का करें कि आपने इन प्रोजेक्ट से कोई Cloud Billing खाता लिंक किया हो. इन प्रोजेक्ट का इस्तेमाल, आपका ऐप्लिकेशन डेवलपर तब करेगा, जब वह टेंप्लेट में तय किए गए इन्फ़्रास्ट्रक्चर को डिप्लॉय करेगा.

  4. डिप्लॉयमेंट सेवा खाता कॉन्फ़िगर करें.

    ADC, सीमित दायरे वाले सेवा खाते का इस्तेमाल करके, संसाधनों की अपने-आप होने वाली प्रोविज़निंग को मैनेज करता है. इससे ऐप्लिकेशन डेवलपर, इन्फ़्रास्ट्रक्चर को डिप्लॉय करने के लिए अपने खाते का इस्तेमाल नहीं कर पाता.

    ADC आपके बनाए गए टेंप्लेट के डिप्लॉयमेंट की जांच करते समय, आपकी ओर से अपने-आप एक सीमित दायरे वाला सेवा खाता बना सकता है. आपके पास अपना सेवा खाता इस्तेमाल करने का विकल्प भी है. इस खाते में वे अनुमतियां होनी चाहिए जो आपके हिसाब से ऐप्लिकेशन डेवलपर के लिए सही हैं.

दूसरा चरण: टेंप्लेट बनाना (प्लैटफ़ॉर्म इंजीनियर)

प्लैटफ़ॉर्म इंजीनियर, डिज़ाइन कैनवस या Gemini Cloud Assist का इस्तेमाल करके, नया ADC टेंप्लेट बनाता है.

  1. संसाधन तय करें.

    डिज़ाइन कैनवस का इस्तेमाल करके, कॉम्पोनेंट को कैनवस पर खींचें और छोड़ें. इसके बाद, उनके बीच कनेक्शन बनाएं. इन कॉम्पोनेंट की मदद से यह तय किया जाता है कि ऐप्लिकेशन डेवलपर को Firebase (और Google Cloud) की कौनसी सेवाएं इस्तेमाल करने की अनुमति देनी है.

    उदाहरण के लिए, टेंप्लेट में इस तरह के संसाधन तय किए जा सकते हैं:

    • ऐप्लिकेशन डेवलपर, iOS, Android, और वेब ऐप्लिकेशन डेवलप कर सकते हैं. ये सभी ऐप्लिकेशन, संसाधनों का इस्तेमाल करते हैं.
    • ऐप्लिकेशन डेवलपर अपने ऐप्लिकेशन में Firebase AI Logic, Firebase Authentication, Cloud Firestore, और Firebase Security Rules का इस्तेमाल कर सकते हैं. ADC के साथ काम करने वाले सभी Firebase प्रॉडक्ट की सूची देखें.
    • Firebase Security Rules को शुरुआत में, ऐक्सेस के सभी अनुरोधों को डिफ़ॉल्ट रूप से अस्वीकार करने के लिए सेट किया जाता है. इसके बाद, जब ऐप्लिकेशन डेवलपर इस टेंप्लेट का इस्तेमाल अपने डिप्लॉयमेंट के लिए करेगा, तो वह इन Security Rules को बदल सकेगा, ताकि वे उसके ऐक्सेस मॉडल के मुताबिक हों.
  2. नीतियां तय करें.

    अगर आपको नीतियां तय करनी हैं, जैसे कि डिप्लॉय किए गए इन्फ़्रास्ट्रक्चर के लिए आईएएम भूमिकाएं या संसाधनों के लिए अनुमति वाले इलाके, तो आपको उन नीतियों के लिए संबंधित इंटरफ़ेस में उन्हें सेट करना होगा. फ़िलहाल, ADC में टेंप्लेट-लेवल पर नीतियां तय नहीं की जा सकतीं.

    प्रोजेक्ट के सदस्यों को उनकी ज़िम्मेदारियों के हिसाब से, Firebase IAM की भूमिकाएं असाइन की जा सकती हैं. उदाहरण के लिए, अगर उन्हें सिर्फ़ Firebase कंसोल में मौजूद संसाधन देखने हैं, तो उन्हें Firebase व्यूअर की भूमिका (roles/firebase.viewer) असाइन करें.

    फ़ोल्डर या संगठन के लेवल पर, संसाधनों के लिए क्षेत्र से जुड़ी सीमाएं सेट की जा सकती हैं.

  3. टेंप्लेट को किसी कैटलॉग में जोड़ें.

    टेंप्लेट की जांच करने के बाद, उसे अपनी टीम के ADC कैटलॉग में जोड़ें. इस कैटलॉग को सही लोगों के साथ शेयर किया जाना चाहिए. खास तौर पर, ऐप्लिकेशन डेवलपर के साथ, ताकि वे टेंप्लेट का इस्तेमाल कर सकें. इसके लिए, ऊपर दिया गया पहला चरण: ADC सेट अप करें देखें.

तीसरा चरण: टेंप्लेट का इस्तेमाल करना (ऐप्लिकेशन डेवलपर)

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

  1. कोई टेंप्लेट चुनें और उसे कॉन्फ़िगर करें.

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

  2. इन्फ़्रास्ट्रक्चर को डिप्लॉय करें.

    ऐप्लिकेशन का ड्राफ़्ट बनाने के बाद, ADC ऐप्लिकेशन को इन्फ़्रास्ट्रक्चर डिप्लॉयमेंट के लिए बनाए गए, पहले से उपलब्ध प्रोजेक्ट में से किसी एक में डिप्लॉय करें. इसके लिए, ऊपर दिया गया पहला चरण: ADC सेट अप करें देखें

    Firebase कंसोल पर जाकर, अपने प्रोजेक्ट के लिए उपलब्ध कराए गए संसाधन और चालू की गई सेवाएं देखी जा सकती हैं.

चौथा चरण: अपना असल ऐप्लिकेशन डेवलप करना (ऐप्लिकेशन डेवलपर)

ADC, Firebase और Google Cloud इंफ़्रास्ट्रक्चर को सेट अप करने में मदद करता है. जैसे, संसाधन उपलब्ध कराना और एपीआई चालू करना. हालांकि, यह उन संसाधनों और एपीआई का इस्तेमाल करने वाले असल ऐप्लिकेशन की कोडिंग नहीं करता.

ऐप्लिकेशन डेवलपर को ये ज़रूरी काम करने होंगे:

  1. अपने ऐप्लिकेशन के कोड बेस को Firebase से कनेक्ट करें.

    हर ऐप्लिकेशन के कोड बेस में, Firebase कॉन्फ़िगरेशन को जोड़ें.

    उदाहरण के लिए, अगर टेंप्लेट में Android ऐप्लिकेशन इस्तेमाल करने की अनुमति है, तो आपको अपने Android प्रोजेक्ट में सही डायरेक्ट्री में google-services.json फ़ाइल जोड़नी होगी.

  2. कोड और संसाधनों को अलाइन रखें.

    (अगर Cloud Firestore का इस्तेमाल किया जा रहा है) पक्का करें कि आपने Firebase Security Rules को अपडेट और पब्लिश किया हो, ताकि वह ऐप्लिकेशन के लिए Cloud Firestore डेटा मॉडल के मुताबिक हो.

तुम और क्या कर सकती हो?

  • डिप्लॉय किए गए ADC "ऐप्लिकेशन" को मॉनिटर करें. ये ऐप्लिकेशन, App Hub में अपने-आप रजिस्टर हो जाते हैं. इससे, Google Cloud के बड़े पैमाने पर डिप्लॉयमेंट के संदर्भ में, Firebase के संसाधनों की निगरानी, लागत पर नज़र रखने, और समस्या हल करने की सुविधा मिलती है.