Cloud Functions for Firebase के दो वर्शन हैं:
- Cloud Functions (2nd gen), जो आपके फ़ंक्शन को Cloud Run पर सेवाओं के तौर पर डिप्लॉय करता है. इससे आपको Eventarc और Pub/Sub का इस्तेमाल करके, उन्हें ट्रिगर करने की सुविधा मिलती है.
- Cloud Functions (1st gen), फ़ंक्शन का ओरिजनल वर्शन. इसमें इवेंट ट्रिगर और कॉन्फ़िगरेशन की सीमित सुविधाएं मिलती हैं.
हमारा सुझाव है कि जहां भी मुमकिन हो, नए फ़ंक्शन के लिए Cloud Functions (2nd gen) को चुनें. हालांकि, हम Cloud Functions (1st gen) के लिए सहायता देना जारी रखेंगे.
इस पेज पर, Cloud Functions में लॉन्च की गई सुविधाओं के बारे में बताया गया है. साथ ही, प्रॉडक्ट के दोनों वर्शन के बीच तुलना की गई है.
Cloud Functions (2nd gen)
Cloud Functions, Firebase की अगली पीढ़ी की सेवा है. यह सेवा, Functions-as-a-Service (FaaS) के तौर पर काम करती है. Cloud Run और Eventarc पर आधारित Cloud Functions (2nd gen), 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 |
| अनुरोध का समय खत्म | 9 मिनट तक |
|
| सेवा खाता* | Google App Engine सेवा खाता (PROJECT_ID@ |
Google Cloud का डिफ़ॉल्ट कंप्यूट सेवा खाता (PROJECT_NUMBER-compute@developer.gserviceaccount.com) |
| इंस्टेंस का साइज़ | 2 vCPU के साथ 8 जीबी तक रैम | 4 vCPU के साथ 16GiB तक रैम |
| एक साथ कई टास्क करने की सुविधा | हर फ़ंक्शन इंस्टेंस के लिए, एक साथ एक अनुरोध | हर फ़ंक्शन इंस्टेंस के लिए, एक साथ ज़्यादा से ज़्यादा 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 इवेंट की सुविधा नहीं है.
हालांकि, पहली और दूसरी जनरेशन के फ़ंक्शन, एक ही सोर्स फ़ाइल में साथ-साथ मौजूद हो सकते हैं. इसलिए, पहली जनरेशन में Analytics ट्रिगर को अब भी डेवलप और डिप्लॉय किया जा सकता है. साथ ही, दूसरी जनरेशन के फ़ंक्शन भी इस्तेमाल किए जा सकते हैं.