osFoundry / Platform
सर्वरलेस फ़ंक्शंस
प्रति ऐप Lambda-स्टाइल फ़ंक्शंस — 40ms में कोल्ड स्टार्ट, कोई प्रोविज़निंग नहीं, प्रति मिलीसेकंड बिल्ड।
यह क्या है
osFoundry में सर्वरलेस फ़ंक्शन Lambda-शैली के बैकएंड हैंडलर हैं जो किसी एक ऐप से जुड़े होते हैं। जब आप workspace में कोई ऐप बनाते हैं, तो आप ऐसे फ़ंक्शन जोड़ सकते हैं जो सर्वर-साइड लॉजिक चलाते हैं: फ़ॉर्म सबमिशन संभालना, संग्रहीत की से किसी बाहरी API को कॉल करना, क्लाइंट तक पहुँचने से पहले डेटा को रूपांतरित करना, और यह सब बिना खुद कोई सर्वर खड़ा किए या संभाले। प्रोविज़न करने के लिए कुछ नहीं है: आप हैंडलर लिखते हैं, ऐप डिप्लॉय करते हैं, और फ़ंक्शन का बैकएंड उसी के साथ खड़ा हो जाता है। कोल्ड स्टार्ट करीब 40ms रहता है, इसलिए निष्क्रियता के बाद की पहली रिक्वेस्ट लगभग वॉर्म रिक्वेस्ट जैसी व्यवहार करती है, और आपसे आरक्षित क्षमता के बजाय निष्पादन के प्रति मिलीसेकंड शुल्क लिया जाता है, यानी निष्क्रिय फ़ंक्शन की कोई लागत नहीं होती।\n\nosFoundry के भीतर, फ़ंक्शन एक साझा पूल के बजाय प्रति ऐप इंस्टॉल के आधार पर प्रोविज़न होते हैं, इसलिए हर ऐप को उसका अपना पृथक निष्पादन परिवेश मिलता है जो उस ऐप के डेटा और सीक्रेट्स तक सीमित रहता है। चूँकि हर ऐप के साथ प्रति-इंस्टेंस Postgres स्कीमा (CRUD, एक JSONB दस्तावेज़ स्टोर, key-value और pgvector) भी आता है, इसलिए कोई फ़ंक्शन नेटवर्क सीमा पार कर किसी अलग डेटाबेस सेवा तक पहुँचने के बजाय अपने ऐप की स्थिति सीधे पढ़-लिख सकता है। इससे ऐप का फ़्रंटएंड, उसका बैकएंड लॉजिक और उसका डेटा उसी workspace के भीतर एक ही डिप्लॉय-योग्य इकाई बने रहते हैं जहाँ आप चैट, एजेंट, कोड और नॉलेज चलाते हैं।\n\nयह इसलिए मायने रखता है क्योंकि एक छोटे ऐप में \"बैकएंड जोड़ने\" के अधिकांश क्षण ही महँगा हिस्सा होते हैं: होस्ट चुनना, रनटाइम जोड़ना, किसी चीज़ को वॉर्म रखना, और ट्रैफ़िक आए या न आए, उसका भुगतान करना। प्रति-ऐप सर्वरलेस फ़ंक्शन इस सब को केवल ऐप डिप्लॉय करने में समेट देते हैं। आप osFoundry की BYOK स्थिति बनाए रखते हैं (आपकी अपनी API की, आपके फ़ंक्शन जिन मॉडलों को कॉल करते हैं उन पर कोई रीसेलर मार्कअप नहीं) और आप केवल उतने ही कंप्यूट का भुगतान करते हैं जितना फ़ंक्शन वास्तव में उपयोग करता है, मिलीसेकंड तक मापा हुआ।
मुख्य क्षमताएँ
- कोल्ड स्टार्ट करीब 40ms, इसलिए बिना पूर्व-वॉर्मिंग या इंस्टेंस चालू रखे रिक्वेस्ट लगभग वॉर्म जैसी कम विलंबता पर आती हैं
- कोई प्रोविज़निंग नहीं: फ़ंक्शन अपने ऐप के लिए लिखें, डिप्लॉय करें, और osFoundry डिप्लॉय पर बैकएंड खड़ा कर देता है
- वास्तविक निष्पादन के प्रति मिलीसेकंड बिलिंग, और फ़ंक्शन के निष्क्रिय रहने पर शून्य लागत
- हर ऐप के लिए एक पृथक फ़ंक्शन परिवेश, जो साझा पूल के बजाय उस ऐप के डेटा और सीक्रेट्स तक सीमित है
- हर ऐप के साथ आए प्रति-इंस्टेंस Postgres स्कीमा के साथ जुड़ता है, ताकि फ़ंक्शन ऐप की स्थिति सीधे पढ़-लिख सके
उपयोग के मामले
- ऐप निर्माता: किसी अलग बैकएंड सेवा को खड़ा किए बिना room ऐप में फ़ॉर्म-सबमिशन हैंडलर और एक शेड्यूल्ड डेटा क्लीनअप जोड़ता है
- एकल डेवलपर: संग्रहीत की का उपयोग कर फ़ंक्शन से किसी थर्ड-पार्टी API को कॉल करता है, ताकि सीक्रेट कभी क्लाइंट बंडल तक न पहुँचे
- डेटा-केंद्रित टीम: एक फ़ंक्शन चलाती है जो ऐप के Postgres स्कीमा को पढ़-लिखकर रिकॉर्ड्स को एकत्रित करता है और फिर उन्हें UI को लौटाता है
सामान्य प्रश्न
osFoundry सर्वरलेस फ़ंक्शन की कोल्ड स्टार्ट विलंबता कितनी है?
कोल्ड स्टार्ट करीब 40ms है, इसलिए किसी निष्क्रिय फ़ंक्शन की पहली रिक्वेस्ट वॉर्म-पाथ के करीब की विलंबता पर लौटती है। यह हासिल करने के लिए आपको फ़ंक्शन पूर्व-वॉर्म करने या न्यूनतम संख्या में इंस्टेंस चालू रखने की ज़रूरत नहीं है।
सर्वरलेस फ़ंक्शन के लिए मुझसे कैसे शुल्क लिया जाता है?
आपसे वास्तविक निष्पादन समय के प्रति मिलीसेकंड शुल्क लिया जाता है। किसी फ़ंक्शन के लिए कोई निश्चित मासिक शुल्क नहीं है और निष्क्रिय रहने पर कोई शुल्क नहीं है: आप केवल उतने कंप्यूट का भुगतान करते हैं जितना एक रिक्वेस्ट खपत करती है। फ़ंक्शन द्वारा किए गए मॉडल कॉल आपकी अपनी BYOK की पर ही चलते हैं, इसलिए उस ओर कोई रीसेलर मार्कअप नहीं है।
क्या मुझे कोई सर्वर प्रोविज़न या प्रबंधित करना पड़ता है?
नहीं। प्रोविज़न, स्केल या चालू रखने के लिए कुछ नहीं है। आप अपने ऐप के लिए फ़ंक्शन लिखते हैं और ऐप डिप्लॉय करते हैं; osFoundry आपके लिए प्रति-ऐप पृथक बैकएंड खड़ा कर देता है। हर ऐप को उस ऐप के डेटा और सीक्रेट्स तक सीमित अपना फ़ंक्शन परिवेश मिलता है, और वह ऐप के साथ आए Postgres स्कीमा को सीधे पढ़-लिख सकता है।