जावास्क्रिप्ट पर सर्वरलेस फ़ंक्शन: AWS Lambda और डेवलपर के लिए समान विकल्प

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

जावास्क्रिप्ट पर Serverless: सर्वरों के बारे में सोचना कैसे बंद करें और कोड लिखना शुरू करें

\n\n

कल्पना करें: आपने एक बेहतरीन सेवा लिखी, लॉन्च की, और एक महीने बाद किसी को इसकी ज़रूरत नहीं है। आप उस सर्वर के लिए भुगतान कर रहे हैं जो बेकार पड़ा है। या इसके विपरीत — आप पर हब्राएफ़ेक्ट टूट पड़ा, सर्वर क्रैश हो गया, और आप रात के 3 बजे nginx को ठीक कर रहे हैं। परिचित लगता है? इस सिरदर्द से छुटकारा पाने का एक तरीका है — जावास्क्रिप्ट पर सर्वरलेस फ़ंक्शन।

\n\n

Serverless (या सर्वर रहित कंप्यूटिंग) कोई जादू नहीं है, बल्कि एक मॉडल है जहाँ आप केवल कोड लिखते हैं, और प्रदाता (AWS, Google, Yandex) खुद तय करता है कि कब, कहाँ और कितने संसाधन आवंटित करने हैं। आप केवल निष्पादन समय और अनुरोधों की संख्या के लिए भुगतान करते हैं। कोई "हमेशा चालू" वर्चुअल मशीन नहीं। जावास्क्रिप्ट डेवलपर के लिए यह विशेष रूप से सुविधाजनक है: Node.js AWS Lambda, Google Cloud Functions और Yandex Cloud Functions के लिए मूल वातावरण है।

\n\n

इस लेख में हम केवल सिद्धांत नहीं बताएंगे। हम वास्तविक फ़ंक्शन लिखेंगे, प्रदाताओं की तुलना करेंगे और एक चेकलिस्ट देंगे ताकि आप गलतियों से बच सकें। चलिए शुरू करते हैं!

\n\n

सर्वरलेस फ़ंक्शन क्या है और JS डेवलपर को इसकी आवश्यकता क्यों है?

\n\n

सर्वरलेस फ़ंक्शन कोड का एक टुकड़ा (आमतौर पर एक फ़ंक्शन) होता है जो किसी घटना के जवाब में निष्पादित होता है। घटना HTTP अनुरोध, S3 में फ़ाइल अपलोड, डेटाबेस में लेखन, या टाइमर (cron) से सिग्नल भी हो सकती है।

\n\n

यह जावास्क्रिप्ट के लिए क्यों सुविधाजनक है:

\n
    \n
  • त्वरित शुरुआत — सर्वर सेट अप करने की आवश्यकता नहीं, बस कोड अपलोड करें।
  • \n
  • स्वतः स्केलिंग — फ़ंक्शन लोड के अनुसार स्वयं गुणा हो जाएगा।
  • \n
  • बचत — जब तक कोई फ़ंक्शन तक नहीं पहुँचता, आप एक पैसा भी नहीं देते।
  • \n
  • पारिस्थितिकी तंत्र — Node.js सभी प्रमुख प्रदाताओं द्वारा समर्थित है।
  • \n
\n\n

सामान्य परिदृश्य: वेबहुक प्रसंस्करण, छवि पूर्वावलोकन जनरेशन, ईमेल भेजना, फ़ॉर्म सत्यापन, डेटा पार्सिंग, माइक्रोसर्विसेज़ बनाना। वह सब कुछ जो मांग पर चलाया जा सकता है।

\n\n

AWS Lambda — सर्वरलेस जावास्क्रिप्ट का राजा

\n\n

Amazon Web Services Lambda सबसे लोकप्रिय सेवा है। यह सबसे पहले आई और अभी भी मानक स्थापित करती है। आइए एक सरल फ़ंक्शन लिखें जो JSON प्राप्त करता है और प्रतिक्रिया लौटाता है।

\n\n

Node.js 20 पर AWS Lambda के लिए कोड:

\n\n
export const handler = async (event) => {\n  try {\n    const { name } = JSON.parse(event.body || '{}');\n    const message = `नमस्ते, ${name || 'अतिथि'}! आपने सफलतापूर्वक सर्वरलेस फ़ंक्शन को कॉल किया।`;\n    \n    return {\n      statusCode: 200,\n      headers: {\n        'Content-Type': 'application/json',\n        'Access-Control-Allow-Origin': '*',\n      },\n      body: JSON.stringify({ message, timestamp: Date.now() }),\n    };\n  } catch (error) {\n    return {\n      statusCode: 400,\n      body: JSON.stringify({ error: 'अमान्य JSON' }),\n    };\n  }\n};
\n\n

ध्यान दें: फ़ंक्शन का नाम handler है। यह प्रवेश बिंदु का मानक नाम है। पैरामीटर event में वह सब कुछ होता है जो API Gateway से आया है — हेडर, बॉडी, अनुरोध पैरामीटर। आप statusCode और body के साथ एक ऑब्जेक्ट लौटाते हैं।

\n\n

यह कैसे काम करता है: आप AWS कंसोल में एक फ़ंक्शन बनाते हैं, कोड अपलोड करते हैं (या SAM/Serverless Framework का उपयोग करते हैं), एक ट्रिगर कॉन्फ़िगर करते हैं — उदाहरण के लिए, API Gateway के माध्यम से HTTP एंडपॉइंट। बस। दुनिया सरल हो गई।

\n\n

कोल्ड स्टार्ट और इसके साथ कैसे जीना है

\n\n

Lambda का मुख्य नुकसान कोल्ड स्टार्ट है। यदि फ़ंक्शन को लंबे समय तक कॉल नहीं किया गया, तो पहले अनुरोध पर वातावरण फिर से लोड होता है। इसमें 200-500 ms लग सकते हैं। उच्च-लोड API के लिए यह महत्वपूर्ण है। समाधान:

\n
    \n
  • CloudWatch Events के साथ फ़ंक्शन को "गर्म" रखें (हर 5 मिनट में पिंग करें)।
  • \n
  • पैकेज का आकार कम करें — अनावश्यक npm पैकेज न लाएँ।
  • \n
  • Provisioned Concurrency का उपयोग करें (लेकिन यह अधिक महंगा है)।
  • \n
\n\n

अधिकांश माइक्रोसर्विसेज़ के लिए, कोल्ड स्टार्ट कोई समस्या नहीं है। लेकिन यदि आप एक चैटबॉट लिख रहे हैं जहाँ गति महत्वपूर्ण है, तो इसे ध्यान में रखें।

\n\n

Google Cloud Functions — सरलता और Firebase के साथ एकीकरण

\n\n

Go

ब्लॉग

पुस्तक अनुशंसाएँ