← ब्लॉग
Engineering

Container as a Service (CaaS): यह कैसे काम करता है और इसकी लागत कितनी है

Yura Dubinin
इससे सारांश बनवाएँ:

कंटेनर एज़ अ सर्विस, या CaaS, का मतलब है कंटेनर में पैक किए गए एप्लिकेशन को ऐसे इंफ्रास्ट्रक्चर पर चलाना जिसे कोई प्रोवाइडर ऑपरेट करता है। आप एक इमेज देते हैं, या सोर्स कोड जिससे इमेज बनती है। सर्विस शेड्यूलिंग, नेटवर्किंग, स्केलिंग और होस्ट मेंटेनेंस में से कुछ या सभी काम संभालती है। आपका एप्लिकेशन, उसका कॉन्फ़िगरेशन और उसकी डेटा से जुड़ी ज़रूरतें फिर भी आपकी ज़िम्मेदारी रहती हैं।

यह शब्द कई ऑपरेटिंग मॉडल पर लागू होता है। मैनेज्ड Kubernetes क्लस्टर, सर्वरलेस HTTP कंटेनर और हमेशा चलने वाली एप्लिकेशन सर्विस — तीनों CaaS की तुलनाओं में दिख सकते हैं, लेकिन आपकी टीम के लिए वे बहुत अलग-अलग काम छोड़ते हैं।

यह गाइड Lizard ने तैयार की है। प्रोडक्ट की जानकारी 9 सितंबर 2026 को जांची गई थी।

जब आप कंटेनर डिप्लॉय करते हैं तो क्या होता है

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

आपकी इमेज को सही प्रोसेस शुरू करना चाहिए, तय इंटरफ़ेस और पोर्ट पर लिसन करना चाहिए, और कॉन्फ़िगरेशन उसी रूप में देना चाहिए जिसे एप्लिकेशन समझता है। प्लेटफ़ॉर्म यह अंदाज़ा नहीं लगा सकता कि सफल HTTP रिस्पॉन्स का मतलब यह भी है या नहीं कि एप्लिकेशन अपने डेटाबेस में लिख सकता है।

वर्कर के लिए शायद रूटिंग की ज़रूरत ही न हो। तब ज़रूरी जांचें होती हैं: क्यू एक्सेस, प्रोसेस लाइफटाइम, रीट्राई और ग्रेसफुल शटडाउन। वेब और वर्कर रनटाइम की ज़रूरतों को अलग-अलग देखें।

CaaS, PaaS, FaaS और IaaS की तुलना

मॉडलआप आम तौर पर क्या देते हैंआपको अब भी क्या तय करना है
IaaS: इंफ्रास्ट्रक्चर एज़ अ सर्विसवर्चुअल मशीन और उसका सॉफ़्टवेयर कॉन्फ़िगरेशनOS मेंटेनेंस, रनटाइम, रूटिंग, डिप्लॉयमेंट और रिकवरी
CaaS: कंटेनर एज़ अ सर्विसकंटेनर इमेज और रनटाइम सेटिंग्सएप्लिकेशन लाइफसाइकिल, डेटा, सीक्रेट्स और रिसोर्स साइज़िंग
PaaS: प्लेटफ़ॉर्म एज़ अ सर्विससोर्स कोड या इमेजऐप कॉन्फ़िगरेशन, डिपेंडेंसी, डेटा और रिलीज़ प्रोसेस
FaaS: फ़ंक्शन एज़ अ सर्विसहैंडलर या सपोर्टेड एप्लिकेशन एंट्री पॉइंटइवेंट सेमेंटिक्स, अवधि की सीमाएँ, स्टेट और रीट्राई

ये लेबल एक-दूसरे से ओवरलैप करते हैं। PaaS आपके लिए कंटेनर बिल्ड कर सकता है। फ़ंक्शन सर्विस कंटेनर इमेज ले सकती है। सिर्फ़ इमेज सपोर्ट से यह पता नहीं चलता कि कोई क्यू कंज़्यूमर लगातार चल सकता है या नहीं। हमारी PaaS गाइड पूरे एप्लिकेशन वर्कफ़्लो की तुलना करती है।

प्रोवाइडर आपकी इमेज को किन तीन तरीकों से चलाते हैं

एप्लिकेशन सर्विस

यह मॉडल तब अपनाएँ जब आप कोई सामान्य वेब प्रोसेस या वर्कर चलाना चाहते हों। Lizard एक विकल्प है; Railway और Render दूसरे विकल्प हैं। यह मानकर न चलें कि हर इम्प्लीमेंटेशन एक जैसा है — उनके लाइफसाइकिल, डिप्लॉयमेंट कंट्रोल और डेटा सर्विसेज़ की तुलना करें।

Lizard पर आप सोर्स से डिप्लॉय कर सकते हैं या अपना Dockerfile दे सकते हैं। कौन-सा तरीका चुनें, यह तय करने के लिए डिप्लॉयमेंट डॉक्यूमेंटेशन देखें। गैर-HTTP सर्विसेज़ को वर्कर गाइड की मदद से कॉन्फ़िगर करें।

रिक्वेस्ट-ड्रिवन कंटेनर

यह मॉडल आने वाले काम के हिसाब से इंस्टेंस शुरू या स्केल करता है। यह उन API के लिए ठीक हो सकता है जिनका ट्रैफ़िक ऊपर-नीचे होता रहता है। कॉन्करेंसी, रिक्वेस्ट टाइमआउट और आइडल सेटिंग्स जांचें, और यह भी देखें कि प्रोवाइडर CPU के साथ-साथ मेमोरी का बिल कैसे लेता है।

Cloud Run में Services, Jobs और worker pools अलग-अलग हैं। रिसोर्स टाइप को प्रोसेस के हिसाब से चुनें। काम पूरा करके बंद हो जाने वाले बैच प्रोग्राम और रिक्वेस्ट लेने वाले वेब सर्वर के लिए डिप्लॉयमेंट की एक जैसी धारणाएँ नहीं चलनी चाहिए।

मैनेज्ड शेड्यूलर या क्लस्टर

ECS और मैनेज्ड Kubernetes आपको इस पर ज़्यादा कंट्रोल देते हैं कि कई वर्कलोड कैसे चलें। फिर भी आपको नेटवर्किंग, परमिशन, डिप्लॉयमेंट पॉलिसी और ऑब्ज़र्वेबिलिटी डिज़ाइन करनी पड़ सकती है।

AWS में Fargate सपोर्टेड ECS या EKS वर्कलोड के लिए वर्कर मशीनों को मैनेज करने की ज़रूरत खत्म कर देता है। लेकिन आसपास के AWS रिसोर्स को समझने की ज़रूरत इससे खत्म नहीं होती। अगर आप क्लस्टर ऑपरेशन के झंझट से ही बचना चाहते हैं, तो Kubernetes के विकल्पों पर गाइड पढ़ें।

कंटेनर होस्टिंग में कौन-से काम आपके पास रहते हैं

डेटा: तय करें कि कौन-सा डेटा डेटाबेस में, ऑब्जेक्ट स्टोरेज में या अटैच्ड वॉल्यूम में रहना चाहिए। फ़ाइलसिस्टम में लिख पाने का मतलब यह नहीं है कि इंस्टेंस बदले जाने के बाद भी फ़ाइलें बची रहेंगी। जिस पर्सिस्टेंस व्यवहार पर आप निर्भर हैं, ठीक उसी को टेस्ट करें।

सीक्रेट्स: हर सर्विस को सिर्फ़ वही वैल्यू दें जिनकी उसे ज़रूरत है। जांचें कि एप्लिकेशन उन वैल्यू को पढ़ता है और कोई वैल्यू न मिलने पर साफ़ एरर के साथ फ़ेल होता है।

रिलीज़ की सुरक्षा: नई इमेज के लिए स्कीमा माइग्रेशन ज़रूरी हो सकता है। एप्लिकेशन और डेटाबेस के बदलावों का क्रम और उनकी कम्पैटिबिलिटी पहले से प्लान करें, रोलबैक समेत।

रिकवरी: रीस्टार्ट से प्रोसेस ठीक हो सकता है। लेकिन इससे खोया हुआ डेटाबेस वापस नहीं बनता और खराब माइग्रेशन ठीक नहीं होता। बैकअप और रिस्टोर को अलग से टेस्ट करें।

कैपेसिटी: रिसोर्स लिमिट किसी एक सर्विस को उसके लिए उपलब्ध सब कुछ खा जाने से रोकती हैं, लेकिन इनसे यह तय नहीं होता कि थ्रूपुट कितना मिलेगा। असली जैसे लोड पर लेटेंसी, एरर और क्यू डेप्थ मापें।

CaaS की लागत का अनुमान कैसे लगाएँ

हर उस घटक की सूची बनाएँ जिसका बिल आता है: रनटाइम CPU और मेमोरी, इमेज स्टोरेज, बिल्ड, पर्सिस्टेंट स्टोरेज, इंटरनेट ट्रांसफर, लोड बैलेंसिंग, लॉग और डेटाबेस। जहाँ लागू हो, प्लान या कंट्रोल-प्लेन की फ़ीस भी जोड़ें।

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

उदाहरण के लिए, एक घंटे तक एक साथ चलने वाले दस कंटेनर दस कंटेनर-घंटे बनाते हैं। एक-एक घंटे के दस रन एक के बाद एक चलाने पर भी कुल रनटाइम उतना ही होता है, लेकिन इनके लिए अलग कॉन्करेंसी लिमिट चाहिए। एप्लिकेशन में क्यू की देरी भी अलग हो सकती है। लागत के अनुमान में कुल रनटाइम और पीक कॉन्करेंसी, दोनों लिखें।

संबंधित मीटर के लिए AWS Fargate प्राइसिंग, Cloud Run प्राइसिंग, Railway बिलिंग और Lizard प्राइसिंग देखें। एक प्रोवाइडर में शामिल मेमोरी या ट्रांसफर कोटा को दूसरे प्रोवाइडर के हिसाब में न जोड़ें।

जांच का एक छोटा प्लान

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

अगर ऐप में वर्कर है, तो उसके लिए भी यही जांचें दोहराएँ। फिर देखे गए मीटर और उस प्लान के आधार पर बिल कैलकुलेट करें जिसे आपकी टीम इस्तेमाल कर सकती है। वह मॉडल चुनें जो लाइफसाइकिल और रिकवरी की ज़रूरतें ऐसे ऑपरेटिंग प्रोसेस के साथ पूरी करे जिसे आप समझते हैं।

आम सवाल

क्या CaaS के लिए Kubernetes ज़रूरी है? नहीं। Kubernetes कंटेनर शेड्यूल करने का एक तरीका है। एप्लिकेशन प्लेटफ़ॉर्म और ECS या Cloud Run जैसी सर्विसेज़ दूसरे इंटरफ़ेस के ज़रिए कंटेनर चला सकती हैं।

क्या CaaS और Docker होस्टिंग एक ही चीज़ हैं? ये शब्द अक्सर ओवरलैप करते हैं। रनटाइम कॉन्ट्रैक्ट पढ़ें: लेबल से ज़्यादा मायने रखते हैं इमेज सपोर्ट, प्रोसेस लाइफटाइम, नेटवर्किंग, पर्सिस्टेंट स्टोरेज और ऑपरेशनल ज़िम्मेदारी।

क्या कंटेनर अपलोड की गई फ़ाइलें रख सकता है? सिर्फ़ तभी, जब स्टोरेज सेटअप आपको उतनी ड्यूरेबिलिटी दे जितनी आपको चाहिए। डेटाबेस, ऑब्जेक्ट स्टोरेज या सही अटैच्ड वॉल्यूम का उपयोग करें और जांचें कि रीडिप्लॉय के दौरान और उसके बाद फ़ाइलों के साथ क्या होता है।

क्या मैं Dockerfile लिखे बिना डिप्लॉय कर सकता हूँ? कुछ प्रोवाइडर सोर्स से इमेज बिल्ड करते हैं। Lizard यह तरीका lizardpack के ज़रिए सपोर्ट करता है। सपोर्टेड भाषा और प्रोजेक्ट लेआउट मौजूदा डॉक्यूमेंटेशन में देखें।

AI के साथ बिल्ड करें। Lizard के साथ शिप करें।

लाइव जाने के लिए आपको प्लेटफ़ॉर्म टीम की ज़रूरत नहीं है। आपका पूरा क्लाउड, बस एक CLI कमांड की दूरी पर।

सर्विसेज़
—
ऐडऑन
—
डिप्लॉयमेंट्स
—
सैंडबॉक्स स्टार्ट्स
—

हम आवश्यक साइट कार्यक्षमता और विश्लेषण के लिए कुकीज़ का उपयोग करते हैं। हमारी कुकी नीति देखें।