top aws devops tools
सर्वश्रेष्ठ अमेज़न AWS DevOps उपकरण: एक पाइपलाइन , स्रोत कोड भंडार, निर्माण और परिनियोजन अमेज़न वेब सेवा के साथ
जब मैंने अपने सॉफ़्टवेयर करियर की शुरुआत 20+ साल पहले की थी तो किसी भी तरह के विकास और तैनाती के लिए बुनियादी ढाँचे (सॉफ्टवेयर और हार्डवेयर) की खरीद की जानी थी।
इसमें सर्वर के लिए वेंडर के साथ ऑर्डर देना, एक निश्चित समय के लिए प्रतीक्षा करना, एक ही समय पर सर्वर का स्थान आरक्षित होना, सर्वर की स्थापना, ऑपरेटिंग सिस्टम, स्टोरेज कॉन्फ़िगरेशन आदि को शामिल करना था। प्रदर्शन, उपलब्धता (24 * 7), रखरखाव, नेटवर्क आदि।
विकास की गतिविधियों और अनुप्रयोगों की तैनाती के लिए सर्वर लाने में यह बहुत अधिक प्रयास था।
आप क्या सीखेंगे:
- क्लाउड कम्प्यूटिंग का विकास
- AWS टूल्स का उपयोग करके निर्माण और परिनियोजन
- AWS सेवाओं के साथ जेनकिंस एकीकरण
- अनुशंसित पाठ
क्लाउड कम्प्यूटिंग का विकास
क्लाउड कम्प्यूटिंग के विकास के साथ चीजों को बदलना पड़ा जिसका अर्थ है कि आप अपने सभी एप्लिकेशन और डेटाबेस को इंटरनेट पर एक्सेस करते हैं। इसलिए क्लाउड कंप्यूटिंग प्रदाता आपके वेब एप्लिकेशन को चलाने के लिए आवश्यक सभी हार्डवेयर को बनाए रखते हैं।
एक उपयुक्त कॉन्फ़िगरेशन वाले सभी संसाधन जिन्हें आपको अपने एप्लिकेशन को होस्ट करने की आवश्यकता है, एक क्लिक के भीतर उपलब्ध हैं। डेवलपर्स के लिए संसाधन उपलब्ध कराने के लिए समय बहुत कम हो गया है। सबसे महत्वपूर्ण बात आप केवल उसी चीज का भुगतान करते हैं जो आपको उपयोग करने की आवश्यकता है।
क्लाउड-आधारित सेवाओं का उपयोग करने वाले डेवलपर्स का ध्यान केवल इस बात पर है कि उन्हें हमारी परियोजनाओं पर काम करने की आवश्यकता है और बुनियादी सुविधाओं की उपलब्धता के बारे में चिंता करने की नहीं। मैं क्लाउड कंप्यूटिंग (IaaS, Paa, SaaS) के प्रकारों में नहीं आ रहा हूं, इंटरनेट पर उपलब्ध जानकारी के टन हैं कि वे क्या हैं इसका वर्णन करने के लिए।
कई क्लाउड प्रदाता हैं। लेकिन मैंने जिन 3 सबसे लोकप्रिय काम किए हैं वे हैं:
- अमेज़न वेब सेवाएँ
- Microsoft Azure
- Google मेघ
इस खंड में, मैं अपना ध्यान उपकरणों के लिए लगाऊंगा एक पाइपलाइन , स्रोत कोड भंडार, निर्माण और परिनियोजन साथ से अमेज़न वेब सेवाएँ । यह नहीं भूलना चाहिए कि टीमें अभी भी जेनकिन्स, गिट, मैवेन और अन्य जैसे DevOps टूल का उपयोग करती हैं।
इसलिए यह जरूरी है कि जहां टीमें अपनी परिसंपत्तियों और कलाकृतियों को क्लाउड इंफ्रास्ट्रक्चर में ले जाना चाहें, वहीं हमें जहाँ तक संभव हो एकीकरण / माइग्रेशन के साथ टूल और डेटा में अपने मौजूदा निवेश को अधिकतम करने की आवश्यकता है।
क्लिक यहां आर्किटेक्ट्स, डेवलपर्स और SysOPS के लिए AWS और विभिन्न सेवाओं के बारे में जानने के लिए। हम नि: शुल्क खाते का उपयोग किए गए उपकरणों के लिए करेंगे, लेकिन निश्चित रूप से, उत्पादन के माहौल में, आपको उपयोग के लिए सेवाओं की खरीद करने की आवश्यकता होगी।
AWS टूल्स का उपयोग करके निर्माण और परिनियोजन
निर्माण और परिनियोजन के दृष्टिकोण से, हम निम्नलिखित AWS सेवाओं को देखेंगे
एक अच्छा मुफ्त संगीत डाउनलोडर क्या है
- AWS कोडपिपलाइन
- AWS कोडकॉमिट
- एडब्ल्यूएस कोडबिल्ड
- AWS कोडडिप्लोय
1. एडब्ल्यूएस कोडिपलाइन
AWS कोडपिपलाइन जेनकिंस पाइपलाइन के समान है जो कि डिलीवरी की प्रक्रिया को समाप्त करने के लिए अंत के दृश्य को देखने में मदद करता है।
तो एक CodePipeline में, आप आम तौर पर निम्नलिखित को कॉन्फ़िगर करेंगे
- स्रोत कोड रिपोजिटरी - तो आपके सोर्स कोड को या तो AWS CodeCommit या GitHub रिपॉजिटरी में होना चाहिए।
- सेवा का निर्माण - AWS CodeBuild विवरण पाइपलाइन के हिस्से के रूप में कॉन्फ़िगर किया जाएगा।
- तैनाती - AWS CodeDeploy को पाइपलाइन में कॉन्फ़िगर किया जाएगा।
- विभिन्न वातावरण में तैनाती की प्रक्रिया के दौरान यदि किसी अनुमोदन की आवश्यकता होती है तो उन्हें भी कॉन्फ़िगर किया जा सकता है
इसलिए यदि डेवलपर द्वारा कोड परिवर्तन किया जाता है तो बिल्ड और डिप्लॉय के दृश्य प्रतिनिधित्व को स्वचालित होने के लिए देखा जा सकता है।
स्रोत कोड AWS CodePipeline में रिपॉजिटरी कॉन्फ़िगरेशन
एडब्ल्यूएस कोडपिपलाइन में कॉन्फ़िगरेशन का निर्माण करें जो मावेन बिल्ड का उपयोग करता है
AWS CodePipeline में परिनियोजन कॉन्फ़िगरेशन
पूर्ण निष्पादन AWS कोडपिपलीन में देखा जाता है
2. एडब्ल्यूएस कोडमाइट
AWS CodeCommit एक सुरक्षित ऑनलाइन संस्करण नियंत्रण सेवा है जो निजी Git रिपॉजिटरी को होस्ट करती है। एक टीम को अपने स्वयं के संस्करण नियंत्रण रिपॉजिटरी को बनाए रखने की आवश्यकता नहीं है, बजाय इसके कि वे अपने स्रोत कोड या यहां तक कि बायनेरिज़ जैसे कि WAR / JAR / EAR फ़ाइलों को संग्रहीत करने के लिए AWS CodeCommit का उपयोग करें।
AWS CodeCommit के साथ आप एक रिपॉजिटरी बनाते हैं और हर डेवलपर इसे अपने स्थानीय मशीन पर क्लोन करेगा, इसमें फाइल्स जोड़ेगा और इसे वापस AWS CodeCommit रिपॉजिटरी में धकेल देगा। AWS कोडकॉमिट रिपॉजिटरी के साथ मानक GIT कमांड का उपयोग करता है।
के लिये जैसे एक बार जब AWS CodeCommit रिपॉजिटरी को स्थानीय मशीन पर क्लोन कर दिया जाता है तो आप ‘git pull’,, git add ’, commit git कमिट’, push git push ’आदि जैसी कमांड का उपयोग करेंगे।
इलस्ट्रेटिव AWS कोडकमेट खाली रिपोजिटरी बनाया
स्थानीय मशीन में भंडार का क्लोन
फ़ाइलें AWS CodeCommit भंडार में जोड़ी गईं
3. एडब्ल्यूएस कोडबिल्ड
जैसा कि हमने देखा है कि स्रोत कोड और अन्य परियोजना कलाकृतियाँ AWS CodeCommit रिपॉजिटरी में संग्रहीत हैं।
सतत एकीकरण को लागू करने के लिए एडब्ल्यूएस कोडबील जैसे जेनकिंस एडब्ल्यूएस कोडमाइट या गिटहब रिपॉजिटरी से स्रोत कोड के नवीनतम परिवर्तनों को कॉन्फ़िगर करते हैं और निर्माण विनिर्देश के आधार पर करते हैं। YAML फ़ाइल (builddspec.yml के रूप में बनाया गया) कमांड चार चरणों जैसे इंस्टॉल, प्री-बिल्ड, बिल्ड और पोस्ट-बिल्ड के आधार पर चलाए जाते हैं।
निर्माण पूरा होने के बाद कलाकृतियों (WAR / ZIP / JAR / EAR) को AWS स्टोरेज में संग्रहीत किया जाता है जो S3 बाल्टी है।
नमूना builddspec.yml फ़ाइल
version: 0.2 phases: install: commands: - echo Nothing in the install phase... pre_build: commands: - echo Nothing in the pre_build phase... build: commands: - echo Build started on `date` - mvn clean install post_build: commands: - echo Build completed on `date` artifacts: files: - target/HelloWorld-Maven.war
नमूना AWS कोड प्रोजेक्ट
सफलता का निर्माण
कलाकृतियों (WAR फ़ाइल) को S3 बाल्टी में कॉपी किया गया
4. एडब्ल्यूएस कोडडाइप
जैसा कि नाम से पता चलता है कि एडब्ल्यूएस कोडेडप्लॉय तैनाती सेवा है जो आवेदन की तैनाती (इस मामले में डब्ल्यूएआर फाइल) को अमेज़ॅन ईसी 2 लिनक्स या विंडोज उदाहरणों में स्वचालित करती है।
चूँकि अब हमारे पास S3 बाल्टी में संग्रहित कलाकृतियाँ हैं जो AWS CodeBuild का उपयोग करके पूरी की गई थीं, फिर कलाकृतियों को S3 बाल्टी से उठाया गया और AWS EC2 उदाहरण प्रावधान में ऐप सर्वर Tomcat या JBoss आदि के लिए उचित रूप से तैनात किया गया।
AWS CodeDeploy एक YAML फ़ाइल पर निर्भर करता है जिसे appspec.yml कहा जाता है जिसमें EC2 इंस्टेंस पर तैनाती के निर्देश हैं।
नमूना appspec.yml फ़ाइल जहाँ index.html फ़ाइल की प्रतिलिपि बनाई जाती है और Apache सर्वर पर तैनात की जाती है
version:10.0 os:linux files: -source: /opt/deploy/index.html destination:/var/www/html/ hooks: BeforeInstall: -location:scripts/before_install runas:niranjan AfterInstall: -location:scripts/restart_server runas:niranjan
पहले_ स्थापना लिपि
पुनः आरंभ करें लिपि
AWS CodeDeploy को चलाने के लिए आवश्यक सभी फाइलों के GitHub रेपो
AWS कोडडाइप में तैनाती निष्पादन
AWS सेवाओं के साथ जेनकिंस एकीकरण
जैसा कि पहले उल्लेख किया गया है, आजकल टीमें जेनकिन्स को डीएक्टो सीआई उपकरण के रूप में ज्यादा इस्तेमाल कर रही हैं और ज्यादातर मामलों में, वे वास्तव में इससे दूर जाना पसंद नहीं करेंगे, बल्कि एडब्ल्यूएस सेवाओं के साथ एकीकृत करेंगे, जिसकी हमने चर्चा की थी। जबकि कुछ निश्चित प्रक्रियाएँ शामिल हैं और मैंने एकीकरण के स्क्रीनशॉट दिखाए हैं।
1. एडब्ल्यूसी कोडमीट के साथ जेनकिंस एकीकरण
2. एडब्ल्यूएस कोडबिल्ड के साथ जेनकिंस एकीकरण
3. एडब्ल्यूएस कोडडाइप के साथ जेनकिंस एकीकरण
AWS DevOps स्टैक के लिए यह सब एक साथ रखना:
ऊपर दिखाई गई AWS सेवाओं के लिए स्टैक नीचे दिखता है।
आशा है कि इस ट्यूटोरियल पर, के लिए उपकरण एक पाइपलाइन , स्रोत कोड भंडार, निर्माण और परिनियोजन अमेज़ॅन वेब सेवाओं के साथ, आपके लिए उपयोगी था।
अनुशंसित पाठ
- क्लाउड में DevOps कार्यान्वयन के लिए AWS कोडकॉमिट ट्यूटोरियल
- स्वचालित तैनाती के लिए AWS CodeDeploy DevOps टूल पर काम करना
- DevOps में निरंतर तैनाती
- सर्वश्रेष्ठ सॉफ्टवेयर परीक्षण उपकरण 2021 (क्यूए टेस्ट स्वचालन उपकरण)
- AWS CodeBuild ट्यूटोरियल: मावेन बिल्ड से कोड निकालना
- DevOps में निरंतर वितरण
- परफेक्ट क्लाउड मैनेजमेंट के लिए 10 बेस्ट क्लाउड मॉनिटरिंग टूल
- DevOps में निरंतर परीक्षण