1. परिचय
मोनोलिथिक आर्किटेक्चर से ढीले युग्मित माइक्रोसर्विसेज में क्लाउड एप्लिकेशन के परिवर्तन ने संसाधन प्रबंधन में महत्वपूर्ण जटिलता लाई है। डेवलपर्स को यह तय करना होता है कि प्रत्येक माइक्रोसर्विस को कितनी कंप्यूटेशनल संसाधन (जैसे, कंटेनर रेप्लिका, वर्चुअल मशीन) आवंटित की जाए। यह निर्णय डेवलपर्स की परिचालन लागत और एप्लिकेशन उपयोगकर्ताओं के एंड-टू-एंड विलंब अनुभव दोनों के लिए महत्वपूर्ण है। पारंपरिक स्वचालित स्केलिंग विधियाँ, जैसे कि Horizontal Pod Autoscaler (HPA), CPU उपयोग जैसे स्थानीय मेट्रिक्स के आधार पर प्रत्येक माइक्रोसर्विस को स्वतंत्र रूप से स्केल करती हैं। हालाँकि, यह दृष्टिकोण इष्टतम नहीं है क्योंकि यह एप्लिकेशन वर्कफ़्लो में माइक्रोसर्विसेज के बीच की अंतर्निर्भरता को नजरअंदाज करता है। COLA (Collective Autoscaling of Containers) को एक समाधान के रूप में प्रस्तावित किया गया है, जो एक वैश्विक लक्ष्य के तहत सभी माइक्रोसर्विसेज में संसाधनों का सामूहिक आवंटन करता है: एप्लिकेशन के एंड-टू-एंड विलंब को एक निर्दिष्ट लक्ष्य से नीचे सुनिश्चित करते हुए, डॉलर लागत को कम करना।
2. स्वतंत्र स्वचालित स्केलिंग की समस्या
वर्तमान उद्योग मानक ऑटो-स्केलिंग वितरित, प्रति-माइक्रोसर्विस तरीके से काम करता है। प्रत्येक सेवा अपने स्वयं के संसाधन उपयोग (सीपीयू, मेमोरी) के थ्रेसहोल्ड से अधिक होने पर स्केलिंग ऑपरेशन (वर्चुअल मशीन या पॉड जोड़ना/हटाना) ट्रिगर करती है। इसका मूल दोष यह है कि यह स्थानीय दृष्टिकोण एप्लिकेशन के वैश्विक प्रदर्शन पर विचार करने में विफल रहता है। यदि श्रृंखला में कोई अन्य सेवा अभी भी बॉटलनेक है, तो एक माइक्रोसर्विस के विलंब में सुधार करने से उपयोगकर्ता-अनुभव किए गए समग्र विलंब पर नगण्य प्रभाव पड़ सकता है। इससे अक्षम संसाधन आवंटन होता है - कुछ सेवाओं का अति-प्रावधान और महत्वपूर्ण बॉटलनेक सेवाओं का अल्प-प्रावधान - जिसके परिणामस्वरूप लागत बढ़ जाती है लेकिन वांछित विलंब सेवा स्तर उद्देश्य (SLO) प्राप्त नहीं हो पाता।
3. COLA: सामूहिक स्वचालित स्केलिंग विधि
COLA स्वचालित स्केलिंग समस्या को पुनः परिभाषित करता हैबाधा अनुकूलन समस्यायह कई स्वतंत्र ऑटोस्केलरों को एक एकल, केंद्रीकृत नियंत्रक से प्रतिस्थापित करता है, जिसे एप्लिकेशन के माइक्रोसर्विसेज टोपोलॉजी और प्रदर्शन की वैश्विक दृश्यता प्राप्त है।
3.1. मुख्य अनुकूलन ढांचा
उद्देश्य को निम्नानुसार औपचारिक रूप दिया गया है:
- लक्ष्य: कुल गणना लागत को न्यूनतम करें।
- बाधाएँ: एप्लिकेशन का अंत-से-अंत औसत या पुच्छ विलंब ≤ लक्ष्य विलंब।
- निर्णय चर: प्रत्येक माइक्रोसर्विस $i$ को आवंटित वर्चुअल मशीनों (या प्रतियों) की संख्या, जिसे $n_i$ से दर्शाया गया है।
यह एक जटिल अरेखीय अनुकूलन समस्या है, क्योंकि $n_i$ और अंत-से-अंत विलंब के बीच संबंध सीधा नहीं है, बल्कि यह वर्कलोड पैटर्न और सेवा-अंतर संचार पर निर्भर करता है।
3.2. Offline Search Process
संसाधन आपूर्ति और प्रदर्शन स्थिरता के लिए आवश्यक समय के कारण, इस अनुकूलन समस्या को ऑनलाइन हल करना अव्यावहारिक है। इसलिए, COLA ने अपनायाऑफ़लाइन खोज प्रक्रिया:
- वर्कलोड एप्लिकेशन: एप्लिकेशन पर एक प्रतिनिधि वर्कलोड लागू करें।
- बॉटलनेक पहचान: सबसे अधिक भीड़ वाले माइक्रोसर्विसेज की पहचान करें (लोड के तहत सीपीयू उपयोग में सबसे बड़ी वृद्धि)।
- मल्टी-आर्म्ड बैंडिट समस्या के माध्यम से संसाधन आवंटित करें: बॉटलनेक सेवा के लिए, इष्टतम वर्चुअल मशीनों की संख्या निर्धारित करने के लिए मल्टी-आर्म्ड बैंडिट सूत्र का उपयोग करें। "पुरस्कार" फ़ंक्शन विलंबता सुधार और लागत वृद्धि को संतुलित करता है।
- पुनरावृत्ति: अगले सबसे अधिक भीड़ वाले माइक्रोसर्विस के लिए चरण 2-3 दोहराएं, जब तक कि वैश्विक विलंब लक्ष्य पूरा न हो जाए।
- रणनीति निर्माण: परिणाम एक स्केलिंग रणनीति (कार्यभार विशेषताओं से संसाधन आवंटन का मानचित्रण) उत्पन्न करना है, जिसे ऑनलाइन तैनात किया जा सकता है।
COLA ज्ञात कार्यभारों के बीच इंटरपोलेशन कर सकता है, और यदि किसी अज्ञात कार्यभार पैटर्न का सामना करना पड़ता है, तो यह डिफ़ॉल्ट ऑटोस्केलर पर वापस आ जाता है।
4. Technical Details and Mathematical Formulas
मूल अनुकूलन समस्या को सार रूप में इस प्रकार व्यक्त किया जा सकता है:
$$\min_{\{n_i\}} \sum_{i=1}^{M} C_i(n_i)$$
- $M$: माइक्रोसर्विसेज की संख्या।
- $n_i$: माइक्रोसर्विस $i$ के संसाधन इकाइयों (उदाहरण के लिए, वर्चुअल मशीन) की संख्या।
- $C_i(n_i)$: माइक्रोसर्विस $i$ का लागत फ़ंक्शन जब उसके पास $n_i$ इकाइयाँ होती हैं।
- $L_{e2e}$: एंड-टू-एंड विलंबता फ़ंक्शन, जो सभी $n_i$ और वर्कलोड तीव्रता $\lambda$ पर निर्भर करता है।
- $L_{target}$: वांछित विलंब SLO।
5. प्रयोगात्मक परिणाम और मूल्यांकन
Google Kubernetes Engine (GKE) पर, COLA का कई बेसलाइन ऑटो-स्केलरों (उपयोग-आधारित और मशीन लर्निंग-आधारित) के साथ कठोर मूल्यांकन किया गया।
5.1. प्रयोगात्मक सेटअप
- एप्लिकेशन: 5 ओपन-सोर्स माइक्रोसर्विस एप्लिकेशन (उदाहरण के लिए, Simple WebServer, BookInfo, Online Boutique)।
- प्लेटफ़ॉर्म: GKE Standard (उपयोगकर्ता-प्रबंधित नोड्स) और GKE Autopilot (प्रदाता-प्रबंधित अवसंरचना)।
- बेसलाइन: मानक HPA (CPU-आधारित), मशीन लर्निंग-आधारित उन्नत स्वचालित स्केलिंग कंटेनर।
- वर्कलोड: 63 विभिन्न कार्यभार पैटर्न।
- लक्ष्य: निर्दिष्ट माध्यिका या पुच्छ (उदाहरणार्थ, p95) विलंबता SLO को पूरा करना।
5.2. प्रमुख प्रदर्शन संकेतक
SLO प्राप्ति दर
53/63
COLA द्वारा विलंब लक्ष्य प्राप्त करने वाले वर्कलोड की संख्या।
औसत लागत में कमी
19.3%
दूसरे सबसे सस्ते ऑटो-स्केलिंग कंटेनर की तुलना में।
सबसे लागत-प्रभावी रणनीति
48/53
53 सफल वर्कलोड में से, COLA 48 पर सबसे सस्ता था।
छोटे अनुप्रयोगों के लिए इष्टतमता
~90%
छोटे अनुप्रयोगों के लिए जहां संपूर्ण खोज संभव है, COLA ने लगभग 90% मामलों में इष्टतम कॉन्फ़िगरेशन पाया।
5.3. परिणाम सारांश
परिणामों ने COLA के महत्वपूर्ण लाभों को प्रमाणित किया। यह उन स्थितियों में भी लगातार वांछित विलंबता SLO प्राप्त करता है जहाँ अन्य विधियाँ विफल हो जाती हैं, और इसकी लागत में भारी कमी आती है। लागत बचत इतनी महत्वपूर्ण है कि COLA के ऑफ़लाइन खोज को चलाने की "प्रशिक्षण लागत" कुछ ही दिनों में वसूल हो जाती है। GKE Autopilot पर, COLA का लाभ और भी स्पष्ट है, क्योंकि यह लागत को न्यूनतम करने के लिए प्रदाता-प्रबंधित अमूर्तता परत का प्रभावी ढंग से उपयोग करता है।
चार्ट विवरण (कल्पना): बार ग्राफ़ का Y-अक्ष "प्रति सफल अनुरोध लागत" या "क्लस्टर कुल लागत" दिखा सकता है, X-अक्ष विभिन्न ऑटो-स्केलिंग कंटेनर (COLA, HPA, ML-A) हैं। COLA का बार ग्राफ़ काफ़ी कम होगा। दूसरा चार्ट "लेटेंसी SLO उल्लंघन दर" दिखा सकता है, जहाँ COLA का बार ग्राफ़ शून्य के करीब है, जबकि अन्य विधियाँ उच्च उल्लंघन दर दिखाती हैं।
6. विश्लेषण ढांचा और उदाहरण केस
विश्लेषक परिप्रेक्ष्य: चार-चरणीय विश्लेषण
मूल अंतर्दृष्टि: इस लेख की मूलभूत सफलता कोई नया अल्गोरिदम नहीं है, बल्कि एक महत्वपूर्ण दृष्टिकोण परिवर्तन है: संपूर्ण माइक्रोसर्विस एप्लिकेशन को एक एकल प्रणाली के रूप में देखना जिसे अनुकूलित करने की आवश्यकता है, न कि स्वतंत्र भागों के संग्रह के रूप में। यह कंप्यूटर विज़न के क्षेत्र मेंCycleGAN(Zhu et al., 2017) जैसे मॉडलों द्वारा लाया गया परिवर्तन, जिसने पूरे ट्रांसफॉर्मेशन डोमेन की चक्रीय स्थिरता पर विचार करके युग्मित छवि अनुवाद से आगे बढ़कर काम किया। COLA संसाधन प्रबंधन के लिए इसी तरह के "वैश्विक स्थिरता" सिद्धांत को लागू करता है।
तार्किक प्रवाह: तर्क प्रक्रिया अत्यंत प्रभावशाली और संक्षिप्त है: 1) स्थानीय इष्टतम (सेवा-वार स्केलिंग) का योग वैश्विक अक्षमता की ओर ले जाता है। 2) इसलिए, एक वैश्विक उद्देश्य (लागत) और वैश्विक बाधा (एंड-टू-एंड विलंबता) का उपयोग करें। 3) चूंकि ऑनलाइन हल करना बहुत धीमा है, ऑफ़लाइन खोज के माध्यम से हल करें और नीति को तैनात करें। इसकी सुंदरता यह है कि बॉटलनेक के इष्टतम आवंटन की कुशलतापूर्वक खोज के लिए बहु-बांह वाले डाकू समस्या का उपयोग किया जाता है, जो सिस्टम अनुकूलन में सुदृढ़ शिक्षण अनुसंधान (जैसे, UC Berkeley RISELab के कार्य) में व्यापक रूप से समर्थित एक तकनीक है।
लाभ और कमियाँ: लाभ: अनुभवजन्य परिणाम उत्कृष्ट हैं - 19.3% की लागत कमी बोर्ड-स्तरीय संख्या है। ऑफ़लाइन विधि व्यावहारिक है और रनटाइम अस्थिरता से बचती है। यह ढांचा प्लेटफ़ॉर्म-स्वतंत्र है।कमियाँ: इसकी घातक कमजोरी प्रतिनिधि ऑफ़लाइन वर्कलोड पर निर्भरता है। तेजी से विकसित हो रहे अनुप्रयोगों में या "ब्लैक स्वान" ट्रैफ़िक घटनाओं का सामना करने पर, पूर्व-गणित रणनीतियाँ पुरानी हो सकती हैं या यहाँ तक कि विनाशकारी परिणाम भी ला सकती हैं। इस पत्र में डिफ़ॉल्ट ऑटो-स्केलर पर वापस लौटने की प्रथा, इस तरह की मजबूती (रोबस्टनेस) की समस्या के लिए एक अस्थायी समाधान मात्र है, कोई मौलिक समाधान नहीं। इसके अलावा, खोज जटिलता संभवतः माइक्रोसर्विसेज की संख्या में वृद्धि के साथ तेजी से बढ़ सकती है, जो अत्यंत विशाल, जटिल अनुप्रयोगों में इसके उपयोग को सीमित कर सकती है।
क्रियान्वयन योग्य अंतर्दृष्टि: क्लाउड आर्किटेक्ट्स के लिए, संदेश स्पष्ट है: अलग-थलग CPU थ्रेशोल्ड सेट करना बंद करें। वैश्विक प्रदर्शन अवलोकनीयता और केंद्रीकृत निर्णय इंजन बनाने या अपनाने में निवेश करें। एक संकर दृष्टिकोण से शुरुआत करें: COLA के दर्शन का उपयोग करके महत्वपूर्ण सेवा श्रृंखलाओं को परिभाषित करें और वहां सामूहिक स्केलिंग लागू करें, जबकि कम महत्वपूर्ण, स्वतंत्र सेवाओं को पारंपरिक HPA का उपयोग जारी रखने दें। जैसा कि परिणाम दिखाते हैं, निवेश पर प्रतिफल जल्दी दिखाई दे सकता है। क्लाउड प्रदाताओं को ध्यान देना चाहिए; GKE Autopilot जैसे उपकरणों को "प्रबंधित" बुनियादी ढांचे के वादे को वास्तव में पूरा करने के लिए इस प्रकार की बुद्धिमान ऑर्केस्ट्रेशन परत की आवश्यकता होती है।
7. अनुप्रयोग संभावनाएं और भविष्य की दिशाएं
COLA के पीछे का सिद्धांत बुनियादी वर्चुअल मशीन स्केलिंग से परे व्यापक प्रयोज्यता रखता है:
- बहु-संसाधन और विषमांगी स्केलिंग: भविष्य के संस्करण लागत और लचीलेपन के अनुकूलन के लिए वर्चुअल मशीन विनिर्देश (मेमोरी-ऑप्टिमाइज्ड बनाम कंप्यूट-ऑप्टिमाइज्ड), GPU आवंटन, और यहां तक कि क्रॉस-एवेलबिलिटी ज़ोन या क्लाउड प्रदाता तैनाती पर सहयोगात्मक रूप से निर्णय ले सकते हैं।
- सेवा जाल (सर्विस मेश) एकीकरण: COLA को सेवा मेष (जैसे Istio) के साथ युग्मित करने से अधिक समृद्ध टेलीमेट्री डेटा (अनुरोध-स्तरीय ट्रेसिंग, निर्भरता ग्राफ) प्राप्त होगा, और यहां तक कि ट्रैफ़िक रूटिंग और सर्किट ब्रेकर को सीधे नियंत्रित करने में सक्षम होगा, जो अनुकूलन के एक हिस्से के रूप में कार्य करेगा।
- ऑनलाइन अनुकूलन और मेटा-लर्निंग: मुख्य शोध अग्रभाग ऑफ़लाइन सीमाओं को दूर करना है। मेटा-लर्निंग तकनीकें COLA को वास्तविक समय प्रतिक्रिया के आधार पर अपनी रणनीति को तेज़ी से ऑनलाइन समायोजित करने, या कम ट्रैफ़िक अवधि के दौरान नई कॉन्फ़िगरेशन का सुरक्षित रूप से अन्वेषण करने में सक्षम बना सकती हैं।
- ग्रीन कंप्यूटिंग लक्ष्य: से एकीकृत करकेCloud Carbon Footprint प्रोजेक्टजैसे स्रोतों के डेटा को शामिल करके, अनुकूलन लक्ष्यों को कार्बन फुटप्रिंट या ऊर्जा खपत को कम करने तक बढ़ाया जा सकता है, जो सस्टेनेबल कंप्यूटिंग पहल के अनुरूप है।
- रणनीति बाजार: सामान्य अनुप्रयोग पैटर्न (जैसे, ई-कॉमर्स, मीडिया स्ट्रीमिंग) के लिए, पूर्व-अनुकूलित COLA रणनीतियों को साझा या बेचा जा सकता है, जिससे अलग-अलग प्रशिक्षण रनों की आवश्यकता कम हो जाती है।
8. संदर्भ साहित्य
- Sachidananda, V., & Sivaraman, A. (2022). COLA: Collective Autoscaling for Cloud Microservices. arXiv प्रीप्रिंट arXiv:2112.14845v3.
- Zhu, J., Park, T., Isola, P., & Efros, A. A. (2017). Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks. Proceedings of the IEEE International Conference on Computer Vision (ICCV).
- Burns, B., Grant, B., Oppenheimer, D., Brewer, E., & Wilkes, J. (2016). Borg, Omega, and Kubernetes. क्यू, 14(1), 70–93.
- Hoffman, M., Shahriari, B., & Aslanides, J. (2020). Addressing Function Approximation Error in Actor-Critic Methods. Proceedings of the 37th International Conference on Machine Learning (ICML). (Example of advanced RL relevant for online adaptation).
- Cloud Carbon Footprint. (n.d.). An open source tool to measure and visualize the carbon footprint of cloud usage. Retrieved from https://www.cloudcarbonfootprint.org/.
- Verma, A., Pedrosa, L., Korupolu, M., Oppenheimer, D., Tune, E., & Wilkes, J. (2015). Large-scale cluster management at Google with Borg. Proceedings of the European Conference on Computer Systems (EuroSys).