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

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

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