Cloud Functions के वर्शन की तुलना

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
अनुरोध का समय खत्म नौ मिनट तक
  • एचटीटीपी ट्रिगर किए गए फ़ंक्शन के लिए, 60 मिनट तक
  • इवेंट ट्रिगर करने वाले फ़ंक्शन के लिए ज़्यादा से ज़्यादा 9 मिनट
सेवा खाता* Google App Engine सेवा खाता (PROJECT_ID@appspot.gserviceaccount.com) Google Cloud का डिफ़ॉल्ट कंप्यूट सेवा खाता (PROJECT_NUMBER-compute@developer.gserviceaccount.com)
इंस्टेंस का साइज़ दो वीसीपीयू के साथ 8 जीबी तक रैम चार vCPU के साथ 16 जीबी तक रैम
कॉनकरंसी फ़ंक्शन के हर इंस्टेंस के लिए एक साथ किए जाने वाले अनुरोधों की संख्या: 1 हर फ़ंक्शन इंस्टेंस के लिए, एक साथ ज़्यादा से ज़्यादा 1,000 अनुरोध

* यह डिफ़ॉल्ट सेवा खाता है. इसका इस्तेमाल, चालू फ़ंक्शन से Firebase या Cloud API को ऐक्सेस करने के लिए किया जाता है. इसका इस्तेमाल Firebase Admin SDK तब करता है, जब बिना किसी तर्क के शुरू किया जाता है.

कीमत

कीमत की जानकारी के लिए, Firebase के कीमत वाले प्लान देखें.

Cloud Functions से जुड़ी लागत देखने के लिए, यह तरीका अपनाएं:

  1. Google Cloud कंसोल में, Cloud Billing रिपोर्ट पेज पर जाएं.
  2. अगर कहा जाए, तो अपने Google Cloud प्रोजेक्ट से जुड़ा बिलिंग खाता चुनें.
  3. फ़िल्टर पैनल में, लेबल में जाकर, लेबल फ़िल्टर जोड़ें. इसके लिए, कुंजी goog-managed-by और वैल्यू cloudfunctions का इस्तेमाल करें.

सीमाएं

Cloud Functions for Firebase (2nd gen), Analytics इवेंट के साथ काम नहीं करता.

हालांकि, 1st gen और 2nd gen फ़ंक्शन, एक ही सोर्स फ़ाइल में साथ-साथ इस्तेमाल किए जा सकते हैं. इसलिए, 2nd gen फ़ंक्शन के साथ-साथ 1st gen के Analytics ट्रिगर भी डेवलप और डिप्लॉय किए जा सकते हैं.