paint-brush
5 चरणों में नाटकीय AWS लागत अनुकूलन (हमने 80% की बचत कैसे की)द्वारा@oqtacore
461 रीडिंग
461 रीडिंग

5 चरणों में नाटकीय AWS लागत अनुकूलन (हमने 80% की बचत कैसे की)

द्वारा OQTACORE8m2023/08/11
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

यह कहानी है कि कैसे हमने केवल दो सप्ताह से कम समय में अपनी AWS लागत में 80% की कटौती की।
featured image - 5 चरणों में नाटकीय AWS लागत अनुकूलन (हमने 80% की बचत कैसे की)
OQTACORE HackerNoon profile picture
0-item
1-item

यह कहानी है कि कैसे हमने केवल दो सप्ताह से कम समय में अपनी AWS लागत में 80% की कटौती की।

AWS डेवलपर्स के लिए एक कैंडी शॉप है

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

सीएफओ के साथ नए सर्वर खरीदने पर बातचीत करें? नहीं! AWS पर अनियंत्रित रूप से हजारों खर्च करें? अपनी गतिविधि या योजना में मुझे शामिल करें!


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


तो, मूल रूप से, समस्या का आधार यह है कि AWS के साथ, डेवलपर्स संसाधनों को केवल उस मात्रा में खरीद सकते हैं जब वे चाहें और जब चाहें।

AWS लागत में कटौती के लिए हमने क्या किया?

हम कोई बहुत बड़ी कंपनी नहीं हैं, और हमारी AWS लागत सभी AWS खातों में प्रति माह $7k से थोड़ी अधिक है। इसके अलावा, यह उल्लेखनीय है कि हम केवल DEV और QA स्टैंड की मेजबानी करते हैं, क्योंकि PROD स्टैंड का भुगतान हमारे ग्राहकों द्वारा किया जाता है। हमारे संसाधन ज्यादातर व्यक्तिगत देव मशीनें, परीक्षण डेटाबेस और अनुसंधान परियोजनाओं के लिए विभिन्न कस्टम संसाधन हैं जैसे कि काइनेसिस फायरहोज, सेज मेकर, आदि। इसलिए हमारे पास बहुत सारे यादृच्छिक संसाधन हैं जिन्हें वर्गीकृत करना, संरचना करना, भविष्यवाणी करना और नियंत्रित करना कठिन है।


तो, हमने अपनी AWS लागतों को कम करने से कैसे निपटा?


सबसे पहले , हमने कॉस्ट एक्सप्लोरर पर गौर करना शुरू किया और सबसे महंगी वस्तुओं की पहचान की:

  • हमें एक बिटकॉइन नोड मिला जो पिछले चार महीनों से चल रहा था और हमारी लागत $600/माह थी क्योंकि इसके लिए अतिरिक्त प्रावधानित गति के साथ एक बड़े एसएसडी की आवश्यकता थी। हमने बिटकॉइन ऑर्डिनल्स पर एक छोटा सा शोध किया था और मशीन को नहीं हटाया।

    रिज़ॉल्यूशन: हमने वॉल्यूम संग्रहीत किया (लागत $6/माह) और वीएम को समाप्त कर दिया।

    बचत: $594/माह


  • हमें एक एनवीडिया टेस्ला जीपीयू मशीन मिली जिसकी कीमत $531/माह है। हम आज तक इसका उपयोग जेनेरिक एआई प्रयोगों के लिए करते हैं। हम अपना स्वयं का ऐप बनाने के बारे में सोच रहे हैं जो टेक्स्ट-टू-वीडियो उत्पन्न करता है, इसलिए हमें इस मशीन की आवश्यकता है।

    रिज़ॉल्यूशन: वॉल्यूम को स्पॉट इंस्टेंस पर ले जाया गया।

    बचत: $360/माह


  • सबसे महंगी नहीं, लेकिन सबसे आश्चर्यजनक खोज यह थी कि हम उन अप्रयुक्त क्षेत्रों में से एक में डेमो-प्रोड स्टैंड को हटाना भूल गए जहां हमने "स्क्रैच से" PROD के रोलआउट का परीक्षण करने के लिए अपनी टेराफॉर्म स्क्रिप्ट तैनात की थी।

    बचत: $340/माह।


  • कई छोटी वस्तुएं.
    संकल्प: भिन्न-भिन्न।
    बचत: $1700/माह


दूसरा , हमने घटनाओं का पता लगाने के लिए हर संभव प्रयास करना शुरू कर दिया। यह एक सरल प्रक्रिया है. एक व्यक्तिगत मशीन के लिए, आपको इसे बंद करना होगा, वॉल्यूम अलग करना होगा (माउंट पथ लिखना याद रखें), और फिर मशीन को बंद करना होगा। फिर आप एक नया स्पॉट इंस्टेंस बनाते हैं (कोई फर्क नहीं पड़ता कि एएमआई क्या है, बस यह सुनिश्चित करें कि सीपीयू आर्किटेक्चर आपके पिछले वॉल्यूम के साथ संगत है)। एक बार स्पॉट इंस्टेंस बन जाने के बाद, नए वॉल्यूम को अलग करें (और हटाना न भूलें!) और पिछले वॉल्यूम को उसी माउंट पथ पर संलग्न करें जैसा कि यह मूल मशीन पर था। बीनस्टॉक परिवेश के लिए, यह आसान है - हमने केवल स्पॉट इंस्टेंस का उपयोग करने के लिए क्षमता सेटिंग्स को बदल दिया है।


बचत: $1000/माह


तीसरा , हमने अप्रयुक्त S3 बकेट को साफ़ कर दिया (हमने कुछ ऑटो-ट्रेडिंग बॉट किए, जिन्होंने बहुत सारा स्ट्रीमिंग डेटा जमा किया)। और कई S3 बकेट में डेटा को ऑटो-रिमूवल करने की व्यवस्था करें, ताकि हम ट्रेडिंग डेटा को एक वर्ष से अधिक समय तक संग्रहीत न करें क्योंकि यह पूरी तरह से अप्रचलित और अनुपयोगी हो जाता है।


बचत: $300/माह


चौथा , हमने कुछ संसाधनों को कम किया। यह खपत किए गए सीपीयू और रैम की जांच करने का मामला है, और यदि हम 50% से कम निरंतर उपयोग देखते हैं, तो हम स्तर कम कर देते हैं।


बचत: $300/माह (ऑन-डिमांड उदाहरणों पर 3 गुना अधिक)


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


बचत: $500/माह


इसके अलावा, हमने आगे की बचत के लिए कुछ छोटे समाधान भी लागू किए हैं, लेकिन वे इस आलेख में शामिल नहीं हैं।


अब तक, हमने अपने $7000 मासिक बिल में से लगभग $5500 बचा लिए हैं, जो सभी लागतों का लगभग 80% है! मुझे पता था कि हम AWS पर जरूरत से ज्यादा खर्च कर रहे हैं, लेकिन यह कभी नहीं पता था कि यह इतना ज्यादा होगा। वर्ष के दौरान, इसका अर्थ है लगभग $66,000 की बचत।

संगठन क्लाउड लागत अनुकूलन को कैसे अपनाते हैं?

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


चूंकि यह सवाल से परे है कि क्लाउड लागत अनुकूलन एक अत्यंत आवश्यक प्रयास है, कंपनियां इसे कैसे अपनाती हैं? आइए सबसे सरल से लेकर सबसे उन्नत तक, क्लाउड अपशिष्ट प्रबंधन को लागू करने के तरीकों के बारे में सोचें।

1. केवल वर्चुअल मशीनें ख़रीदना

आप समस्या को यथासंभव सबसे पारंपरिक तरीके से हल कर सकते हैं। AWS द्वारा प्रदान की गई अनगिनत संभावनाओं को नकारें और अपने डेवलपर्स को EC2 मशीनें खरीदने से रोकें।


एसक्यूएस? नहीं. DynamoDB? नहीं, बस EC2 वर्चुअल मशीनों का उपयोग करें और उन पर सब कुछ इंस्टॉल करें।


पेशेवर:

  • आप खर्च का बहुत अच्छी तरह से अनुमान लगा सकते हैं, क्योंकि प्रत्येक प्रकार के EC2 VM के लिए एक समान दर है

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


दोष:

  • आप ऑटो-स्केलिंग के फ़ायदों से चूक जाते हैं

  • आपके डेवलपर उन चीजों को लागू करने में समय बर्बाद करते हैं जो पहले से मौजूद हैं

  • आप सॉफ़्टवेयर के ऑटो-अपडेट से चूक जाते हैं जो स्वचालित रूप से लागू होंगे


कुल मिलाकर, क्लाउड के साथ काम करना एक अच्छी रणनीति नहीं है जैसे कि आप GoDaddy पर होस्टिंग किराए पर लेते हैं।

2. प्रत्येक अनुरोध की समीक्षा करें

क्या होगा यदि आप डेवलपर्स को किसी भी संसाधन का उपयोग करने और स्केल करने की अनुमति देते हैं, लेकिन उन्हें लागत को नियंत्रित करने वाले विशेष विभाग के साथ बातचीत करनी होगी? डेवलपर्स के पास संसाधनों को खरीदने/स्केल करने का अपना अधिकार नहीं है, लेकिन वे किसी विशेष व्यक्ति से उनके लिए संसाधन खरीदने/स्केल करने के लिए कह सकते हैं।


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


एक विशिष्ट उदाहरण प्रदान करने पर, कोई यह देख सकता है कि यह इस तरह से काम नहीं करता है। यह तभी काम कर सकता है जब लागत प्रबंधन टीम में विशेषज्ञ शामिल हों।


और यह तो बस हिमशैल का सिरा है। अब विचार करें:


  • वास्तु परिवर्तन के कारण एक संसाधन अनावश्यक होता जा रहा है

  • एक डेवलपर नौकरी छोड़ रहा है और अपने व्यक्तिगत विकास उद्देश्यों के लिए उपयोग किए गए संसाधनों को नहीं हटा रहा है

  • एक आपातकालीन स्थिति जब व्यावसायिक परेशानी से बचने के लिए किसी संसाधन को शीघ्रता से बढ़ाने की आवश्यकता होती है


पेशेवर:

  • डेवलपर्स को AWS-प्रबंधित संसाधनों का अधिकतम लाभ उठाने की अनुमति है

  • खर्च अच्छी तरह नियंत्रित है


दोष:

  • क्लाउड कचरा अभी भी न हटाए गए अनावश्यक संसाधनों से आ सकता है
  • लागत प्रबंधन टीम को उच्च स्तर के AWS ज्ञान की आवश्यकता है
  • नौकरशाही का स्तर व्यवसाय को नुकसान पहुंचा सकता है

3. एक फिनऑप्स टीम को किराए पर लें

एक अधिक उन्नत तरीका वास्तव में AWS में विशेषज्ञों को ढूंढना और नियुक्त करना होगा जो खर्च को नियंत्रित करेंगे। वे उन उपकरणों का उपयोग कर सकते हैं जो AWS बॉक्स से बाहर खर्च को नियंत्रित करने के लिए प्रदान करता है। यह है:


  • एक लागत अन्वेषक

  • एक टैगिंग सबसिस्टम

  • आरक्षित उदाहरण

  • बचत योजनाएँ

  • लागत विसंगतियाँ

  • बहुत अधिक


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


एक टीम जो मूल रूप से वित्तीय-सचेत दृष्टिकोण वाली DevOps है, उसे FinOps कहा जाता है।


पेशेवर:

  • डेवलपर्स के पास AWS की पूरी शक्ति है

  • डेवलपर्स के लिए छोटी नौकरशाही ओवरहेड

  • वित्तीय टीम का विभिन्न पहलुओं में खर्च पर पूर्ण नियंत्रण होता है: प्रति परियोजना, प्रति टीम, आदि।

  • डेवलपर्स संसाधनों का उपभोग सचेत तरीके से करते हैं


दोष:

  • उच्च शिक्षित कर्मचारियों की आवश्यकता है जो अधिकतर अभी तक मौजूद नहीं हैं, इसलिए आपको एक को प्रशिक्षित करने की आवश्यकता है
  • मानवीय कारक के प्रति संवेदनशील
  • प्रतिक्रिया का समय चेक-अप के बीच की अवधि जितना तेज़ होता है - एक अप्रयुक्त EC2 मशीन 1-2 सप्ताह या उससे अधिक समय तक चालू रह सकती है

4. क्लाउड अपशिष्ट प्रबंधन सॉफ़्टवेयर का उपयोग करें

एक बार जब आप फिनऑप्स टीम को काम पर रखने (या अपनी खुद की वृद्धि करने) के बारे में गंभीरता से सोचते हैं, तो आपको इन्फिनॉप्स जैसे तीसरे पक्ष के क्लाउड लागत अनुकूलन सॉफ़्टवेयर पर भी विचार करना चाहिए। यह आपकी स्वचालित फिनऑप्स टीम का सदस्य है जो 24/7 काम करता है और मानवीय त्रुटि के प्रति संवेदनशील नहीं है। ऐसा सॉफ़्टवेयर आपके क्लाउड को कम उपयोग किए गए संसाधनों और बचत के अन्य ज्ञात तरीकों के लिए स्वचालित रूप से नियंत्रित करता है, जैसे:


  • स्पॉट उदाहरणों का उपयोग करना

  • आरक्षित उदाहरणों का उपयोग करना

  • QA परिवेश में OpenSearch क्लस्टरों की संख्या कम करना

  • रात के लिए व्यक्तिगत वीएम को अक्षम करना

  • ज्यूपिटर के साथ महंगे सेजमेकर वीएम को स्वतः बंद करना

  • वगैरह


वे सभी युक्तियाँ स्वचालित रूप से आती हैं, क्योंकि आपके सिस्टम को परिवर्तनों के लिए लगातार स्कैन किया जाता है। और ऐसी सलाह आपके मासिक बिल का 80% तक बचा सकती है। इसका मतलब आम तौर पर वर्ष के दौरान कम से कम दसियों हज़ार डॉलर की बचत करना है।


पेशेवर:

  • फिनऑप्स टीम के लिए बढ़िया टूल

  • अनुकूलन तकनीकों के साथ शुरुआती फिनऑप्स की मदद करता है

  • मानवीय कारक को कम करता है

  • संसाधन खपत की आवधिक समीक्षा लागू करता है

  • टैग, जीवनचक्र प्रबंधन आदि लागू करता है

  • एक साथ कई AWS खातों को ट्रैक करने की अनुमति देता है


दोष:

  • इसकी अपनी लागत होती है (आमतौर पर यह जितनी बचत करती है उससे बहुत कम)


अंत में , मैं कहना चाहूंगा कि AWS लागतों का प्रबंधन करना मुश्किल हो सकता है। कंपनी की 80% बचत दर्शाती है कि सही कदमों के साथ कम खर्च करना संभव है। चाहे आप संसाधनों पर सीमा निर्धारित कर रहे हों, अनुमोदन प्राप्त कर रहे हों, विशेषज्ञ टीमों या स्वचालित उपकरणों का उपयोग कर रहे हों, खर्चों पर कड़ी नज़र रखना आवश्यक है। आख़िरकार, क्लाउड का उपयोग चीज़ों को आसान बनाने के बारे में होना चाहिए, न कि महँगा बनाने के लिए।