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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

बिना सर्वर वाले किसी भी विकल्प का इस्तेमाल करने पर, इसे Firebase होस्टिंग के लिए सर्वर के साथ ढूंढना सबसे अच्छा होता है. इसके लिए, इन्हें नीचे दिए गए क्षेत्रों में से किसी एक में डिप्लॉय करें:

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

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

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

JavaScript और TypeScript

Express.js जैसे वेब फ़्रेमवर्क भी इस सुविधा के साथ काम करते हैं.

ऐसी सभी भाषाएँ जो Dockerfiles के साथ काम करती हैं, जैसे कि Go, Node.js, Python, Java वगैरह

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

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

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

Cloud Run का इस्तेमाल + कंटेनर रजिस्ट्री स्टोरेज

बिना किसी शुल्क के इस्तेमाल करने की सीमा, लेकिन क्लाउड बिलिंग खाता होना ज़रूरी है