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 Run के बजाय Cloud Functions for Firebase का इस्तेमाल करने के बारे में कुछ बुनियादी बातें बताई गई हैं. कोटा, सीमाएं, और मेट्रिक की पूरी सूची देखने के लिए, हर प्रॉडक्ट के बारे में ज़्यादा जानकारी देने वाला दस्तावेज़ (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 usage
इसे बिना किसी शुल्क के एक सीमा तक ही इस्तेमाल किया जा सकता है. हालांकि, इसके लिए Cloud Billing खाता होना ज़रूरी है. Firebase के बारे में अक्सर पूछे जाने वाले सवाल देखें. |
Cloud Run इस्तेमाल +
Container Registry स्टोरेज
बिना शुल्क के इस्तेमाल करने का कोटा, लेकिन Cloud Billing खाता होना ज़रूरी है |