Firebase होस्टिंग का इस्तेमाल करके, डाइनैमिक कॉन्टेंट उपलब्ध कराएं और माइक्रोसर्विस होस्ट करें

Firebase Hosting, बिना सर्वर वाली कंप्यूटिंग के विकल्पों के साथ इंटिग्रेट होता है. इनमें Cloud Functions for Firebase और Cloud Run भी शामिल हैं. इन विकल्पों के साथ Firebase Hosting का इस्तेमाल करके, एचटीटीपीएस अनुरोधों को निर्देशित करके, माइक्रोसर्विस को होस्ट किया जा सकता है. इससे, आपके फ़ंक्शन और कंटेनर वाले ऐप्लिकेशन, मैनेज किए जा सकने वाले और सुरक्षित माहौल में चल पाएंगे.

Cloud Functions for Firebase: आपने कोई फ़ंक्शन लिखा और डिप्लॉय किया है. यह बैकएंड कोड होता है, जो किसी खास ट्रिगर का जवाब देता है. इसके बाद, Firebase Hosting का इस्तेमाल करके, एचटीटीपीएस अनुरोधों को अपने फ़ंक्शन को ट्रिगर करने के लिए निर्देशित किया जा सकता है.

Cloud Run: आपने कंटेनर इमेज में पैकेज किया गया ऐप्लिकेशन लिखा और डिप्लॉय किया है. इसके बाद, Firebase Hosting का इस्तेमाल करके, अपने कंटेनर वाले ऐप्लिकेशन को चलाने के लिए, एचटीटीपी अनुरोधों को निर्देशित किया जा सकता है.

इस्तेमाल के उदाहरण

Firebase Hosting के साथ, बिना सर्वर वाली कंप्यूटिंग के विकल्पों का इस्तेमाल कैसे किया जा सकता है?

  • डाइनैमिक कॉन्टेंट दिखाना — अपनी Hosting साइट पर स्टैटिक कॉन्टेंट दिखाने के अलावा, सर्वर साइड लॉजिक का इस्तेमाल करने वाले फ़ंक्शन या कंटेनर वाले ऐप्लिकेशन से, डाइनैमिक तरीके से जनरेट किए गए रिस्पॉन्स दिखाए जा सकते हैं.

    उदाहरण के लिए, किसी यूआरएल पैटर्न (जैसे कि /blog/<blog-post-id>) को ऐसे फ़ंक्शन पर ले जाया जा सकता है जो आपके डेटाबेस से डाइनैमिक तौर पर कॉन्टेंट पाने के लिए, यूआरएल के ब्लॉग पोस्ट आईडी पैरामीटर का इस्तेमाल करता है.

  • REST API बनाना — फ़ंक्शन का इस्तेमाल करके, माइक्रोसर्विस एपीआई बनाया जा सकता है.

    उदाहरण के लिए, फ़ंक्शन आपकी वेबसाइट के लिए साइन-इन की सुविधा को मैनेज कर सकते हैं. आपकी वेबसाइट / पर होस्ट की जाती है. इसलिए, /api पर किया गया कोई भी अनुरोध, आपके माइक्रोसर्विस एपीआई पर रीडायरेक्ट कर दिया जाता है. उदाहरण के लिए, ओपन-सोर्स वाला यह सैंपल देखें.

  • डाइनैमिक कॉन्टेंट को कैश मेमोरी में सेव करना — किसी ग्लोबल सीडीएन पर, अपने डाइनैमिक कॉन्टेंट को कैश मेमोरी में सेव करने की सुविधा कॉन्फ़िगर की जा सकती है.

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

  • अपने एक-पेज वाले ऐप्लिकेशन को पहले से रेंडर करना — डाइनैमिक meta टैग बनाकर, एसईओ को बेहतर बनाया जा सकता है और अलग-अलग सोशल नेटवर्क पर शेयर करने की सुविधा को ऑप्टिमाइज़ किया जा सकता है. ज़्यादा जानने के लिए, यह वीडियो देखें या ओपन-सोर्स का यह सैंपल देखें.

सर्वरलेस विकल्प चुनना

Cloud Functions for Firebase और Cloud Run, दोनों ही Firebase Hosting के साथ इंटिग्रेट होते हैं. साथ ही, ये पूरी तरह से मैनेज किए जाने वाले, अपने-आप स्केल होने वाले, और सुरक्षित सर्वरलेस प्लैटफ़ॉर्म उपलब्ध कराते हैं. हालांकि, इन दोनों विकल्पों का इस्तेमाल, अलग-अलग इस्तेमाल के उदाहरणों और पसंद के मुताबिक कॉन्फ़िगरेशन के लिए किया जा सकता है.

सर्वरलेस सुविधा के किसी भी विकल्प का इस्तेमाल करते समय, इसे Firebase Hosting के सर्वर के साथ एक ही जगह पर डिप्लॉय करना सबसे सही होता है. इसके लिए, इनमें से किसी एक क्षेत्र में डिप्लॉय करें:

  • us-west1
  • us-central1
  • us-east1
  • europe-west1
  • asia-east1

नीचे दी गई टेबल में, Cloud Functions for Firebase बनाम Cloud Run का इस्तेमाल करने के लिए कुछ बुनियादी बातों के बारे में बताया गया है. कोटा, सीमाओं, और मेट्रिक की पूरी सूची के लिए, हर प्रॉडक्ट के बारे में ज़्यादा जानकारी वाला दस्तावेज़ देखें (Cloud Functions for Firebase या Cloud Run).

इन बातों का ध्यान रखें Cloud Functions for Firebase Cloud Run
सेट अप Firebase CLI, कई टास्क को एक ही निर्देश में बंडल करता है. इनमें, शुरू करने से लेकर, बनाने और डिप्लॉय करने तक के टास्क शामिल हैं. कंटेनर में, पसंद के मुताबिक बनाने के ज़्यादा विकल्प मिलते हैं. इसलिए, सेटअप, बिल्ड, और डिप्लॉयमेंट टास्क में अलग-अलग चरण शामिल होते हैं.
रनटाइम एनवायरमेंट इसके लिए, Node.js की ज़रूरत होती है. हालांकि, आपके पास यह तय करने का विकल्प होता है कि Node.js के किस वर्शन का इस्तेमाल करना है. कंटेनर बनाते समय, आपको रनटाइम एनवायरमेंट की जानकारी देनी होती है.
भाषा और फ़्रेमवर्क के लिए सहायता

JavaScript और TypeScript

Express.js जैसे वेब फ़्रेमवर्क काम करते हैं.

Dockerfiles के साथ काम करने वाली कोई भी भाषा, जिसमें ये भी शामिल हैं Go, Node.js, Python, Java वगैरह

हर भाषा के लिए वेब फ़्रेमवर्क काम करते हैं.

Hosting अनुरोध के लिए टाइम आउट 60 सेकंड (नीचे दिया गया नोट देखें) 60 सेकंड (नीचे दिया गया नोट देखें)
एक साथ कई टास्क करना हर फ़ंक्शन इंस्टेंस के लिए एक अनुरोध
(हर इंस्टेंस के लिए एक साथ कई अनुरोध नहीं किए जा सकते)
हर कंटेनर इंस्टेंस के लिए, एक साथ ज़्यादा से ज़्यादा 1,000 अनुरोध
बिलिंग Cloud Functions का इस्तेमाल

बिना किसी शुल्क के इस्तेमाल करने का कोटा, लेकिन इसके लिए Cloud Billing खाता होना ज़रूरी है. Firebase के बारे में अक्सर पूछे जाने वाले सवाल देखें.

Cloud Run इस्तेमाल + Container Registry स्टोरेज

बिना किसी शुल्क के इस्तेमाल करने का कोटा, लेकिन Cloud Billing खाता होना ज़रूरी है