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
अनुरोध का समय खत्म नौ मिनट तक
  • HTTP ट्रिगर किए गए फ़ंक्शन के लिए, ज़्यादा से ज़्यादा 60 मिनट
  • इवेंट ट्रिगर करने वाले फ़ंक्शन के लिए, ज़्यादा से ज़्यादा 9 मिनट
इंस्टेंस का साइज़ दो vCPU के साथ 8 जीबी तक रैम चार vCPU के साथ 16 जीबी रैम तक
कॉनकरेंसी हर फ़ंक्शन इंस्टेंस के लिए एक साथ किया जाने वाला एक अनुरोध हर फ़ंक्शन इंस्टेंस के लिए, एक साथ किए जाने वाले ज़्यादा से ज़्यादा 1,000 अनुरोध

कीमत

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

अगर Cloud Functions का इस्तेमाल किया जाता है, तो सिर्फ़ Cloud Functions से जुड़ी लागत इस तरह देखी जा सकती है:

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

सीमाएं

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

Cloud Functions for Firebase (दूसरी जनरेशन) में पुष्टि करने की प्रोसेस को रोकने वाले इवेंट इस्तेमाल किए जा सकते हैं. हालांकि, इसमें पहली जनरेशन के Authentication के बुनियादी इवेंट का वही सेट इस्तेमाल नहीं किया जा सकता.

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