Cloud Functions for Firebase के दो वर्शन हैं:
- Cloud Functions (दूसरी जनरेशन), जो आपके फ़ंक्शन को Cloud Run पर सेवाओं के तौर पर डिप्लॉय करता है. इससे आपको Eventarc और Pub/Sub का इस्तेमाल करके, उन्हें ट्रिगर करने की सुविधा मिलती है.
- Cloud Functions (पहली जनरेशन), फ़ंक्शन का ओरिजनल वर्शन है. इसमें इवेंट ट्रिगर और कॉन्फ़िगरेशन की सुविधा सीमित है.
हमारा सुझाव है कि जहां भी हो सके वहां नए फ़ंक्शन के लिए, Cloud Functions (दूसरी जनरेशन) को चुनें. हालांकि, हम Cloud Functions (पहली जनरेशन) के साथ काम करना जारी रखेंगे.
इस पेज पर, Cloud Functions में जोड़ी गई सुविधाओं के बारे में बताया गया है. साथ ही, प्रॉडक्ट के दोनों वर्शन की तुलना की गई है.
Cloud Functions (2nd gen)
Cloud Functions, Firebase की अगली जनरेशन की Functions-as-a-Service सुविधा है. Cloud Run और Eventarc पर आधारित Cloud Functions (दूसरी जनरेशन) में, बेहतर इन्फ़्रास्ट्रक्चर और इवेंट को ज़्यादा कवरेज देने की सुविधा मिलती है. इसमें ये शामिल हैं: Cloud Functions
- Cloud Run पर आधारित: फ़ंक्शन, Cloud Build की मदद से बनाए जाते हैं और डिफ़ॉल्ट Cloud Run एक्ज़ीक्यूशन एनवायरमेंट का इस्तेमाल करके, Cloud Run सेवाओं के तौर पर डिप्लॉय किए जाते हैं. इससे आपको अपने फ़ंक्शन को Cloud Run सेवा की तरह पसंद के मुताबिक बनाने की सुविधा मिलती है. अपनी सेवा को कॉन्फ़िगर करने के विकल्पों के बारे में जानने के लिए, Cloud Run दस्तावेज़ देखें. जैसे, मेमोरी की सीमाएं, एनवायरमेंट वैरिएबल वगैरह.
- अनुरोध प्रोसेस होने में ज़्यादा समय लगता है: ऐसे वर्कलोड चलाएं जिनमें अनुरोध प्रोसेस होने में ज़्यादा समय लगता है. जैसे, Cloud Storage या BigQuery से डेटा की बड़ी स्ट्रीम प्रोसेस करना.
- बड़े इंस्टेंस साइज़: मेमोरी में ज़्यादा जगह लेने वाले, कंप्यूटिंग के लिए ज़्यादा संसाधनों की ज़रूरत वाले, और पैरलल वर्कलोड चलाएं.
- एक साथ ज़्यादा अनुरोधों को प्रोसेस करने की बेहतर सुविधा: एक ही फ़ंक्शन इंस्टेंस से, एक साथ कई अनुरोधों को प्रोसेस करें. इससे कोल्ड स्टार्ट को कम करने और लेटेन्सी को बेहतर बनाने में मदद मिलती है.
- ट्रैफ़िक मैनेजमेंट: अलग-अलग फ़ंक्शन के वर्शन के बीच ट्रैफ़िक को बांटें या किसी फ़ंक्शन को पिछले वर्शन पर वापस ले जाएं.
- Eventarc इंटिग्रेशन: Eventarc ट्रिगर के लिए नेटिव सपोर्ट. इससे Eventarc के साथ काम करने वाले 90 से ज़्यादा इवेंट सोर्स, Cloud Functions के साथ काम करने लगते हैं.
- CloudEvents के लिए बेहतर सपोर्ट: सभी भाषा रनटाइम में, इंडस्ट्री स्टैंडर्ड वाले CloudEvents के लिए सपोर्ट उपलब्ध है. इससे डेवलपर को एक जैसा अनुभव मिलता है.
ज़्यादा जानकारी के लिए, तुलना करने वाली टेबल देखें.
Cloud Functions, Cloud Run पर सेवाओं के तौर पर फ़ंक्शन डिप्लॉय करता है. इसलिए, Cloud Functions, Cloud Run के साथ संसाधन कोटा और सीमाएं शेयर करता है. कोटा देखें.
तुलना करने वाली टेबल
| सुविधा | Cloud Functions (1st gen) | Cloud Functions |
|---|---|---|
| इमेज रजिस्ट्री | Container Registry या Artifact Registry | सिर्फ़ Artifact Registry |
| अनुरोध का समय खत्म | नौ मिनट तक |
|
| सेवा खाता* | Google App Engine सेवा खाता (PROJECT_ID@ |
Google Cloud का डिफ़ॉल्ट कंप्यूट सेवा खाता (PROJECT_NUMBER-compute@developer.gserviceaccount.com) |
| इंस्टेंस का साइज़ | दो वीसीपीयू के साथ 8 जीबी तक रैम | चार vCPU के साथ 16 जीबी तक रैम |
| एक साथ कई काम करने की सुविधा | फ़ंक्शन के हर इंस्टेंस के लिए, एक साथ किया जाने वाला एक अनुरोध | फ़ंक्शन के हर इंस्टेंस के लिए, एक साथ ज़्यादा से ज़्यादा 1,000 अनुरोध |
* यह डिफ़ॉल्ट सेवा खाता है. इसका इस्तेमाल, चालू फ़ंक्शन से Firebase या Cloud API को ऐक्सेस करने के लिए किया जाता है. इसका इस्तेमाल Firebase Admin SDK तब करता है, जब बिना किसी तर्क के शुरू किया जाता है.
कीमत
कीमत की जानकारी के लिए, Firebase के कीमत वाले प्लान देखें.
Cloud Functions से जुड़ी लागत देखने के लिए, यह तरीका अपनाएं:
- Google Cloud कंसोल में, Cloud Billing रिपोर्ट पेज पर जाएं.
- अगर कहा जाए, तो अपने Google Cloud प्रोजेक्ट से जुड़ा बिलिंग खाता चुनें.
- फ़िल्टर पैनल में, लेबल में जाकर, लेबल फ़िल्टर जोड़ें. इसके लिए, कुंजी
goog-managed-byऔर वैल्यूcloudfunctionsका इस्तेमाल करें.
सीमाएं
Cloud Functions for Firebase (2nd gen), Analytics इवेंट के साथ काम नहीं करता.
हालांकि, 1st gen और 2nd gen फ़ंक्शन, एक ही सोर्स फ़ाइल में साथ-साथ इस्तेमाल किए जा सकते हैं. इसलिए, 2nd gen फ़ंक्शन के साथ-साथ, 1st gen फ़ंक्शन में Analytics ट्रिगर को अब भी डेवलप और डिप्लॉय किया जा सकता है.