Firebase, Google Cloud के Application Design Center (ADC) के साथ इंटिग्रेट होता है. इससे एंटरप्राइज़ ग्राहकों को स्टैंडर्ड और गवर्नेंस से जुड़ी ज़रूरतों को पूरा करने में मदद मिलती है. साथ ही, ऐप्लिकेशन डेवलपर को तेज़ी से शिप करने की सुविधा मिलती है. ADC का इस्तेमाल करने से यह पक्का होता है कि इंफ़्रास्ट्रक्चर, संगठन के स्टैंडर्ड और सबसे सही तरीकों का पालन करता है. ऐसा पहले से तय किए गए टेंप्लेट की मदद से होता है. ये टेंप्लेट, संसाधन उपलब्ध कराने, आईएएम अनुमतियां देने वगैरह के लिए गार्डरेल तय करते हैं.
इस पेज पर, इनके बारे में जानें:
- ADC और Firebase की खास जानकारी. इसमें Firebase के साथ काम करने वाले प्रॉडक्ट भी शामिल हैं
- मुख्य पर्सोना और ऐक्सेस कंट्रोल करने के लिए ज़रूरी आईएएम भूमिकाएं
- सामान्य वर्कफ़्लो
ADC और Firebase के बारे में खास जानकारी
हमारा सुझाव है कि Google Cloud के बारे में खास जानकारी पाने के लिए, Google Cloud का दस्तावेज़ पढ़ें.ADC Google Cloud के दस्तावेज़ में, Google Cloud के बारे में कई गाइड भी दी गई हैं. इनमें मुख्य कॉन्सेप्ट और शुरुआती सेटअप गाइड शामिल हैं.ADC
ADC का इस्तेमाल करते समय, "ऐप्लिकेशन" को संसाधनों और सेवाओं के लॉजिकल ग्रुप के तौर पर परिभाषित किया जाता है. ये सभी मिलकर, कारोबार से जुड़ी कोई फ़ंक्शनैलिटी उपलब्ध कराते हैं. Firebase डेवलपर के लिए, ADC "ऐप्लिकेशन" को Firebase प्रोजेक्ट के बराबर माना जा सकता है. इसमें आपके रजिस्टर किए गए iOS, Android, और वेब ऐप्लिकेशन, प्रोजेक्ट के सभी एक जैसे संसाधनों और सेवाओं को शेयर करते हैं और उन तक उनकी पहुंच होती है.
शुरू करने के लिए, हमारा सुझाव है कि आप ADC का इस्तेमाल करें. इसमें आपको डिज़ाइन कैनवस नाम का जीयूआई मिलता है. यह Google Cloud कंसोल में उपलब्ध है. डिज़ाइन कैनवस की मदद से, आपको अपने ऐप्लिकेशन के लिए उपलब्ध कराए जाने वाले इन्फ़्रास्ट्रक्चर के आर्किटेक्चर डायग्राम को विज़ुअलाइज़ और बनाया जा सकता है.
ध्यान दें कि ADC को Terraform से मदद मिलती है. इसलिए, आपके पास हमेशा उस इन्फ़्रास्ट्रक्चर की कोड डेफ़िनिशन का ऐक्सेस रहेगा जिसे ADC का इस्तेमाल करके तय किया गया है.
Firebase के साथ काम करने वाले प्रॉडक्ट
यहां Firebase के उन प्रॉडक्ट की शुरुआती सूची दी गई है जिनका इस्तेमाल ADC के साथ किया जा सकता है:
- Firebase AI Logic
- Firebase Authentication
- Firebase App Check
- Cloud Firestore
- Firebase Security Rules
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 |
| टेंप्लेट बनाना और उन्हें मैनेज करना. साथ ही, ऐप्लिकेशन कॉन्फ़िगर और डिप्लॉय करना | प्लैटफ़ॉर्म इंजीनियर |
Application Design Center का उपयोगकर्ता ( roles/designcenter.user |
| ADC ऐप्लिकेशन डिप्लॉय करने के लिए सेवा खाता बनाना | ||
| सेवा खाते बनाना | प्लैटफ़ॉर्म इंजीनियर |
मैनेजमेंट प्रोजेक्ट पर सेवा खाते बनाने ( roles/iam.serviceAccountCreator |
| किसी सेवा खाते को ADC डिप्लॉयमेंट के लिए इस्तेमाल किए जाने वाले प्रोजेक्ट का ऐक्सेस देना | प्लैटफ़ॉर्म इंजीनियर |
प्रोजेक्ट IAM एडमिन ( roles/resourcemanager.projectIamAdmin |
| ADC ऐप्लिकेशन कॉन्फ़िगर और डिप्लॉय करना | ||
|
ऐप्लिकेशन के पूरे लाइफ़साइकल को कंट्रोल करना (इसमें सोर्स कोड और CI/CD सिस्टम के साथ इंटिग्रेशन शामिल है) |
ऐप्लिकेशन डेवलपर |
ऐप्लिकेशन एडमिन ( roles/designcenter.applicationAdmin |
| एडमिन की ओर से सेट अप किए गए मौजूदा टेंप्लेट और कनेक्शन के आधार पर, ऐप्लिकेशन कॉन्फ़िगर और डिप्लॉय करना | ऐप्लिकेशन डेवलपर |
ऐप्लिकेशन एडिटर ( roles/designcenter.applicationEditor |
1 इनमें से कई भूमिकाएं, मैनेजमेंट प्रोजेक्ट पर सेट की जानी चाहिए. यह Google Cloud के क्रम में टॉप-लेवल का संसाधन होता है.
सामान्य वर्कफ़्लो
इस सेक्शन में, ADC टेंप्लेट बनाने और इस्तेमाल करने के सामान्य वर्कफ़्लो के बारे में बताया गया है. हर चरण को उस पर्सोना के साथ टैग किया गया है जो आम तौर पर उस चरण को पूरा करता है.
- पहला चरण: ADC को सेट अप करना (प्लैटफ़ॉर्म इंजीनियर)
- दूसरा चरण: टेंप्लेट बनाना (प्लैटफ़ॉर्म इंजीनियर)
- तीसरा चरण: टेंप्लेट का इस्तेमाल करना (ऐप्लिकेशन डेवलपर)
- चौथा चरण: अपना ऐप्लिकेशन डेवलप करना (ऐप्लिकेशन डेवलपर)
पहला चरण: ADC (प्लैटफ़ॉर्म इंजीनियर) को सेट अप करना
ADC को सेट अप करने के लिए, प्लैटफ़ॉर्म इंजीनियर (या इससे ऊपर के लेवल) की भूमिका वाले व्यक्ति को ये टास्क पूरे करने होते हैं. ADC का इस्तेमाल करने के लिए, आम तौर पर इन टास्क को सिर्फ़ एक बार पूरा करना होता है.
शुरुआती ADC सेटअप.
Google Cloud के दस्तावेज़ में, ADC के लिए शुरुआती सेटअप गाइड में दिए गए निर्देशों और तरीके का पालन करें. ध्यान दें कि इस गाइड में यह माना गया है कि फ़ोल्डर-लेवल की सीमाएं सेट अप की जाएंगी.
इस सेटअप को पूरा करने के बाद, आपके पास एक स्पेस होना चाहिए. यह एक ऐसा खास एरिया होता है जहां टीम के सदस्य मिलकर काम कर सकते हैं, टेंप्लेट बना सकते हैं, और ऐप्लिकेशन डिप्लॉय कर सकते हैं. पक्का करें कि यह स्पेस (और फ़ोल्डर और कैटलॉग) उन सभी लोगों के साथ शेयर किया गया हो जिनके साथ आपको काम करना है ADC.
स्पेस के लिए ऐक्सेस और उपयोगकर्ताओं को सेट अप करें.
Google Cloud के दस्तावेज़ में, स्पेस के उपयोगकर्ताओं को मैनेज करना में दिया गया तरीका अपनाएं.ADC इस पेज पर, ऐक्सेस कंट्रोल करने के लिए ज़रूरी IAM भूमिकाओं के बारे में दिए गए दिशा-निर्देशों का पालन करें.
प्रोजेक्ट पहले से प्रोविज़न करें.
फ़ोल्डर में एक या उससे ज़्यादा नए Google Cloud प्रोजेक्ट बनाएं. पक्का करें कि आपने इन प्रोजेक्ट से Cloud Billing खाता लिंक किया हो. इन प्रोजेक्ट का इस्तेमाल आपका ऐप्लिकेशन डेवलपर करेगा. ऐसा तब होगा, जब वह टेंप्लेट में तय किए गए इन्फ़्रास्ट्रक्चर को डिप्लॉय करेगा.
डिप्लॉयमेंट सेवा खाता कॉन्फ़िगर करें.
ADC, सीमित स्कोप वाले सेवा खाते का इस्तेमाल करके संसाधनों की ऑटोमेटेड प्रोविज़निंग को मैनेज करता है. इससे ऐप्लिकेशन डेवलपर को, इन्फ़्रास्ट्रक्चर डिप्लॉय करने के लिए अपने खाते का इस्तेमाल करने से रोका जाता है.
ADC आपके बनाए गए टेंप्लेट को डिप्लॉय करने की जांच करते समय, आपकी ओर से सीमित स्कोप वाला सेवा खाता अपने-आप बना सकता है. आपके पास अपना ऐसा सेवा खाता इस्तेमाल करने का विकल्प भी है जिसके पास ऐप्लिकेशन डेवलपर के लिए ज़रूरी अनुमतियां हों.
दूसरा चरण: टेंप्लेट बनाना (प्लैटफ़ॉर्म इंजीनियर)
प्लेटफ़ॉर्म इंजीनियर, नया ADC टेंप्लेट बनाने के लिए डिज़ाइन कैनवस या Gemini Cloud Assist का इस्तेमाल करता है.
संसाधन तय करें.
डिज़ाइन कैनवस का इस्तेमाल करके, कॉम्पोनेंट को कैनवस पर खींचें और छोड़ें. इसके बाद, उनके बीच कनेक्शन बनाएं. इन कॉम्पोनेंट की मदद से, यह तय किया जाता है कि ऐप्लिकेशन डेवलपर को Firebase (और Google Cloud) की किन सेवाओं का इस्तेमाल करना है.
उदाहरण के लिए, टेंप्लेट में इस तरह के संसाधन तय किए जा सकते हैं:
- ऐप्लिकेशन डेवलपर, iOS, Android, और वेब ऐप्लिकेशन बना सकते हैं. ये सभी ऐप्लिकेशन, संसाधनों का इस्तेमाल करते हैं.
- ऐप्लिकेशन डेवलपर, अपने ऐप्लिकेशन में Firebase AI Logic, Firebase Authentication, Cloud Firestore, और Firebase Security Rules का इस्तेमाल कर सकते हैं. ADC के लिए, Firebase के सभी प्रॉडक्ट की सूची देखें.
- Firebase Security Rules को डिफ़ॉल्ट रूप से, ऐक्सेस के सभी अनुरोधों को अस्वीकार करने के लिए सेट किया जाता है. इसके बाद, जब ऐप्लिकेशन डेवलपर इस टेंप्लेट का इस्तेमाल अपने डिप्लॉयमेंट के लिए करता है, तब वह इन Security Rules को बदलकर, अपने ऐक्सेस मॉडल के मुताबिक बना सकता है.
नीतियों को तय करें.
अगर आपको नीतियां तय करनी हैं, जैसे कि डिप्लॉय किए गए इन्फ़्रास्ट्रक्चर के लिए आईएएम भूमिकाएं या संसाधनों के लिए अनुमति वाले क्षेत्र, तो आपको उन नीतियों के लिए, संबंधित इंटरफ़ेस में उन्हें सेट करना होगा. फ़िलहाल, ADC में टेंप्लेट-लेवल पर नीतियां तय करने की सुविधा उपलब्ध नहीं है.
प्रोजेक्ट के सदस्यों को Firebase IAM की खास भूमिकाएं असाइन की जा सकती हैं. यह इस बात पर निर्भर करता है कि आपको उनसे क्या काम करवाना है. उदाहरण के लिए, अगर उन्हें सिर्फ़ Firebase कंसोल में संसाधन देखने हैं, तो उन्हें Firebase व्यूअर की भूमिका (
roles/firebase.viewer) असाइन करें.फ़ोल्डर या संगठन लेवल पर, संसाधनों के लिए क्षेत्र से जुड़ी पाबंदियां सेट की जा सकती हैं.
टेंप्लेट को किसी कैटलॉग में जोड़ें.
अपने टेंप्लेट की जांच करने के बाद, उसे अपनी टीम के ADC कैटलॉग में जोड़ें. इस कैटलॉग को सही लोगों के साथ शेयर किया जाना चाहिए. खास तौर पर, ऐप्लिकेशन डेवलपर के साथ, ताकि वे टेंप्लेट का इस्तेमाल कर सकें. इसके लिए, ऊपर दिया गया पहला चरण: ADC सेट अप करें देखें.
तीसरा चरण: टेंप्लेट का इस्तेमाल करना (ऐप्लिकेशन डेवलपर)
ऐप्लिकेशन डेवलपर पर्सोना, पहले से तय किया गया कोई टेंप्लेट चुनता है. इसके बाद, उसे इस्तेमाल के अपने उदाहरण के हिसाब से कॉन्फ़िगर करता है. इसके बाद, वह इन्फ़्रास्ट्रक्चर को डिप्लॉय करता है.
कोई टेंप्लेट चुनें और उसे कॉन्फ़िगर करें.
ADC कैटलॉग से कोई टेंप्लेट चुनें और उसे कॉन्फ़िगर करके, आवेदन का ड्राफ़्ट बनाएं. उपलब्ध कॉन्फ़िगरेशन, जैसे कि संसाधनों के लिए संभावित क्षेत्र, सिर्फ़ उन कॉन्फ़िगरेशन तक सीमित होते हैं जिन्हें प्लैटफ़ॉर्म इंजीनियर ने टेंप्लेट बनाते समय सेट किया था.
इंफ़्रास्ट्रक्चर डिप्लॉय करें.
ऐप्लिकेशन का ड्राफ़्ट बन जाने के बाद, ADC ऐप्लिकेशन को पहले से उपलब्ध कराए गए किसी ऐसे प्रोजेक्ट में डिप्लॉय करें जिसे इंफ़्रास्ट्रक्चर डिप्लॉयमेंट के लिए बनाया गया है. इसके लिए, ऊपर दिया गया पहला चरण: ADC सेट अप करें देखें
Firebase कंसोल पर जाकर, अपने प्रोजेक्ट के लिए उपलब्ध कराए गए संसाधन और चालू की गई सेवाएं देखी जा सकती हैं.
चौथा चरण: अपना ऐप्लिकेशन डेवलप करना (ऐप्लिकेशन डेवलपर)
ADC की मदद से, Firebase और Google Cloud इंफ़्रास्ट्रक्चर (जैसे कि संसाधन उपलब्ध कराना और एपीआई चालू करना) सेट अप किया जा सकता है. हालांकि, यह उन संसाधनों और एपीआई का इस्तेमाल करने वाले ऐप्लिकेशन की कोडिंग नहीं करता है.
ऐप्लिकेशन डेवलपर को ये ज़रूरी काम करने होते हैं:
अपने ऐप्लिकेशन के कोडबेस को Firebase से कनेक्ट करें.
Firebase कॉन्फ़िगरेशन पाएं और फिर उसे हर ऐप्लिकेशन के कोडबेस में जोड़ें.
उदाहरण के लिए, अगर टेंप्लेट में Android ऐप्लिकेशन की अनुमति है, तो आपको अपने Android प्रोजेक्ट में सही डायरेक्ट्री में
google-services.jsonफ़ाइल जोड़नी होगी.कोड और संसाधनों को अलाइन रखें.
(Cloud Firestore का इस्तेमाल करने पर) पक्का करें कि आपने Firebase Security Rules को अपडेट और पब्लिश किया हो, ताकि यह ऐप्लिकेशन के Cloud Firestore डेटा मॉडल के मुताबिक हो.
तुम और क्या कर सकती हो?
- तैनात किए गए ADC "ऐप्लिकेशन" की निगरानी करें. ये ऐप्लिकेशन, App Hub में अपने-आप रजिस्टर हो जाते हैं. इससे, Google Cloud के बड़े पैमाने पर डिप्लॉयमेंट के संदर्भ में, Firebase संसाधनों की एक साथ निगरानी की जा सकती है. साथ ही, लागत का पता लगाया जा सकता है और समस्याओं को हल किया जा सकता है.