सितंबर 4-6, सेंट पीटर्सबर्ग में, सेलेक्टेल कॉन्फ्रेंस रूम में, तीन-दिवसीय देव ऑप्स स्लम आयोजित किया जाएगा।

हमने इस विचार के आधार पर कार्यक्रम बनाया कि हर कोई स्वतंत्र रूप से उपकरण के मैनुअल की तरह, DevOps पर सैद्धांतिक कार्यों को पढ़ सकता है। केवल अनुभव और अभ्यास दिलचस्प हैं: यह कैसे करना है और कैसे आवश्यक है, और हम इसे कैसे करते हैं, इसके बारे में एक कहानी की व्याख्या।
प्रत्येक कंपनी, प्रत्येक व्यवस्थापक या डेवलपर का अपना DevOps स्तर होता है। कुछ दुरुपयोग Git, अन्य SRE को लागू करते हैं। पाठ्यक्रम का आयोजन किया जाता है ताकि सभी को कुछ प्रासंगिक मिल जाए जिसे यहां और अब लागू किया जा सके।
हम Git से शुरू करते हैं, फिर एप्लिकेशन डेवलपमेंट, कोड और इन्फ्रास्ट्रक्चर की बातचीत को देखते हैं, CI / CD का निर्माण करते हैं, कोड (IaC) के रूप में इन्फ्रास्ट्रक्चर का वर्णन करते हैं, परिणामी समाधान का परीक्षण करते हैं, मॉनिटरिंग सेट करते हैं और लॉग का अध्ययन करते हैं, और अंत में SRE में आते हैं: विश्वसनीयता एक औसत दर्जे का और प्रबंधनीय कहानी में।
Git
अब गीत केवल उस व्यक्ति द्वारा उपयोग नहीं किया जाता है जिसने कल पहला लैपटॉप खरीदा था। यह एक तुच्छ और सर्वव्यापी उपकरण है, और फिर भी, हम अक्सर इसके दुरुपयोग का सामना करते हैं: बल पुश से मास्टर तक, और गीता से सर्वर पर Ctrl-C, Ctrl-V के माध्यम से फ़ाइलों की प्रतिलिपि बनाने के साथ समाप्त होता है।
हम आपको बताते हैं कि यह कैसे करना है यह आवश्यक नहीं है, यह कैसे करना है, साउथब्रिज में कैसे करना है।
हम अभ्यास पास करते हैं: गीता की मूल बातें, टीमवर्क।
टॉपिक # 1: बेसिक्स
- बेसिक कमांड git init, कमिट, ऐड, डिफरेंट, लॉग, स्टेटस, पुल, पुश
- गेट फ्लो, शाखाएं और टैग, रणनीतियों का विलय
- कई रिमोट रेपो के साथ काम करें
टॉपिक # 2: गिट के साथ टीमवर्क
- गिथब प्रवाह
- कांटा, रिमोट, पुल अनुरोध
- टीमों के संबंध में एक बार फिर Gitflow और अन्य प्रवाह के बारे में संघर्ष, रिलीज
सामग्री को व्यवस्थित किया जाता है ताकि प्रशासक और डेवलपर्स काम में सभी प्रथाओं को तुरंत लागू कर सकें।
DevOps के दृष्टिकोण से, Git के साथ उचित कार्य विकास और प्रशासन प्रक्रियाओं को व्यवस्थित करता है और स्वचालित करता है, कई आवर्ती समस्याओं को समाप्त करता है, और श्रम उत्पादकता में सुधार करता है।
DevOps डेवलपर
हम डेवलपर की आंखों के माध्यम से DevOps को देखते हैं: हम स्थानीय वातावरण लॉन्च करते हैं, एक आवेदन लिखते हैं, इसकी निगरानी और लॉगिंग को कॉन्फ़िगर करते हैं, इसे स्थानीय रूप से परीक्षण करते हैं, चर / रहस्य और सेवा खोज के भंडारण को व्यवस्थित करते हैं, और अनुरेखण (ऑपेंटरिंग) देखते हैं।
थीम point3: विकास के दृष्टिकोण से एप्लिकेशन के साथ काम करना
- अपने स्थानीय पर्यावरण की स्थापना: सर्वोत्तम अभ्यास
- हम पाइथन (परीक्षण सहित) में एक microservice लिखते हैं
- विकास में डूकर-रचना का उपयोग करना
थीम # 4: कोड और इन्फ्रास्ट्रक्चर इंटरऑपरेबिलिटी
नतीजतन, डेवलपर्स देखेंगे कि कोड को लॉग्स कैसे भेजना चाहिए, इसका परीक्षण कैसे करना चाहिए, भविष्य में इसे कैसे डीबग किया जाएगा। प्रशासक डेवलपर्स की जरूरतों को समझेंगे: कोड में क्या त्रुटियां हैं, डेवलपर्स के लिए परीक्षण का आयोजन कैसे किया जाए, और स्वयं परियोजना का परीक्षण कैसे करें।
इस स्तर पर, DevOps का मुख्य कार्य हल किया जाता है: कुंवारी और ऑप्स के बीच आपसी समझ और सहयोग का निर्माण होता है। यह टास्क रोल-आउट से जिम्मेदार सगाई तक बढ़ने में एक महत्वपूर्ण कदम है।
नतीजतन, काम की गति और गुणवत्ता बढ़ रही है।
सीआई / सीडी
आधुनिक स्वचालन में CI / CD शामिल है। हम मैनुअल ऑटोमेशन को देखकर शुरू करेंगे: मेकफाइल्स, गिटुक, स्क्रिप्ट। हम विश्लेषण करेंगे कि ये उपकरण अभी भी प्रासंगिक हैं, और कब इनका उपयोग नहीं किया जाना चाहिए।
फिर, आइए उदाहरण के रूप में गिटलैब का उपयोग करते हुए आधुनिक सीआई की सर्वोत्तम प्रथाओं को देखें।
विषय # 5: स्वचालन के लिए CI / CD परिचय
- स्वचालन का परिचय
- उपकरण (बैश, मेक, ग्रेडल)
- प्रक्रियाओं को स्वचालित करने के लिए गिट-हुक का उपयोग करना
- फैक्टरी कन्वेयर विधानसभा लाइनों और आईटी में उनके आवेदन
- "आम" पाइपलाइन के निर्माण का एक उदाहरण
- आधुनिक सीआई / सीडी सॉफ्टवेयर: ड्रोन सीआई, बिटबकेट पाइपलाइन, ट्रैविस आदि।
विषय # 6: सीआई / सीडी: गिटलैब के साथ काम करना
- गिटलब सीआई - जनरल
- Gitlab धावक, उनके प्रकार और आवेदन
- Gitlab CI, अनुकूलन सुविधाएँ, सर्वोत्तम अभ्यास
- गिटलब सीआई चरणों
- गिटलब सीआई वेरिएबल्स
- विधानसभा, परीक्षण, तैनाती
- नियंत्रण और निष्पादन प्रतिबंध: केवल, जब
- कलाकृतियों के साथ काम करें
- अंदर। Temlab-ci.yml के टेम्पलेट, पाइप लाइन के विभिन्न भागों पर पुन: उपयोग करने वाले कार्य
- शामिल करें - अनुभाग
- Gitlab-ci.yml का केंद्रीकृत प्रबंधन (एक फ़ाइल और अन्य रिपॉजिटरी के लिए स्वचालित धक्का)
व्यवस्थापकों और डेवलपर्स का संयुक्त कार्य एक नए स्तर पर जाता है: व्यवस्थापक CI टेम्पलेट लिखता है, और डेवलपर्स अपने CI को स्वतंत्र रूप से व्यवस्थापक बनाकर इसे सही करते हैं।
प्रशासकों पर डेवलपर्स की निर्भरता कम हो जाती है, मैनुअल काम की मात्रा कम हो जाती है, "एकमात्र व्यक्ति जो मेकअप फ़ाइल के साथ काम करना जानता है" की समस्या समाप्त हो जाती है। रोलआउट मज़बूती से और जल्दी से होते हैं।
IAC
टेराफॉर्म के उदाहरण पर कोड के रूप में इन्फ्रास्ट्रक्चर का विषय क्लाउड चयनकर्ता अलेक्सई स्टीफनेंको के व्यवस्थापक को बताएगा। यह दिखाएगा कि कैसे सर्वर को जल्दी और स्वचालित रूप से तैनात और स्केल करना है, कैसे स्वचालित रूप से छवियों को पैक करना है, कैसे अनुकूलित मशीनों को तुरंत अनुकूलित मशीनें प्राप्त करना है।
जिस व्यक्ति ने हजारों IC समाधान बनाए हैं, वह आपको बताएगा कि यह कैसे करना है और इसे कैसे करना है।
Google और अमेज़ॅन बादलों के लिए न्यूनतम संपादित चयन चयन क्लाउड समाधान उपयुक्त है।
साउथब्रिज, निकोलाई मेसरोपियन में एक कर्मचारी, एक उदाहरण के रूप में दिखाएगा कि कैसे डाउनटाइम के बिना काम करने वाले एप्लिकेशन को तैनात किया जाए और इसकी कार्यक्षमता का परीक्षण किया जाए।
यदि आप हाथ से बुनियादी ढांचे को संपादित करते हैं (सर्वरों को कॉन्फ़िगर करें, लाइब्रेरी स्थापित करें, आवश्यकतानुसार पैकेज), जब आप पर्यावरण की एक प्रति जुटाने की कोशिश करते हैं, तो आपको अपने सभी कार्यों को याद रखने और पुन: पेश करने की आवश्यकता होगी। इस कार्य में आसानी से 3-5 दिन लगते हैं। एक कोड के रूप में बुनियादी ढांचे के साथ काम करना सुनिश्चित करता है कि आपके पास पर्यावरण का अद्यतित विवरण है जिसे मिनटों में तैनात किया जा सकता है।
निकोले आपको बताएंगे कि कैसे प्लेबुक लिखना है, क्या गलतियां होती हैं, कभी-कभी प्लेबुक धीरे-धीरे काम करती हैं या अपेक्षा के अनुरूप नहीं होती हैं। यह साउथब्रिज में IaC का उपयोग करने के कई वर्षों का अनुभव है।
टॉपिक # 7: इन्फ्रास्ट्रक्चर कोड के रूप में
- IaC: एक कोड के रूप में बुनियादी ढांचे के लिए एक दृष्टिकोण
- क्लाउड प्रदाताओं को बुनियादी ढांचा प्रदाता के रूप में
- सिस्टम इनिशियलाइज़ेशन टूल, इमेज असेंबली (पैकर)
- टेराफॉर्म के उदाहरण पर IaC
- कॉन्फ़िगरेशन संग्रहण, सहयोग, अनुप्रयोग स्वचालन
- Ansible playbooks बनाने का अभ्यास करें
- उदासीनता, घोषणापत्र
- IaC Ansible
- एक कोड / PostgreSQL विफलता के रूप में डेटाबेस
इन्फ्रास्ट्रक्चर घोषणात्मक और बेरोजगार हो जाता है।
व्यवस्थापक एक जटिल बुनियादी ढांचे का प्रबंधन करना सीखता है: जल्दी से नए वातावरण बनाते हैं, सभी वातावरणों की एकता बनाए रखते हैं, परिवर्तनों का इतिहास देखते हैं, जो महत्वपूर्ण है जब कई टीम एक परियोजना पर काम करती हैं।
डेवलपर बुनियादी ढांचे का अध्ययन कर सकता है, स्वतंत्र रूप से अपने पर्यावरण को तैनात कर सकता है।
अनुभाग बोनस - एक गलती-सहिष्णु PostgreSQL डेटाबेस क्लस्टर बनाना और कॉन्फ़िगर करना। हम तैयार प्लेबुक देंगे जो हम साउथब्रिज में उपयोग करते हैं, आप प्रशिक्षण स्टैंड पर एक क्लस्टर तैनात करेंगे और आप अपनी कंपनी में इस समाधान का उपयोग कर सकते हैं।
अवसंरचना परीक्षण और निगरानी
स्वचालन आपको एक हजार सर्वर में त्रुटि को तुरंत रोल आउट करने की अनुमति देता है। प्रत्येक परिवर्तन के लिए परीक्षण की आवश्यकता होती है। दूसरी ओर, मैनुअल परीक्षण में इतना समय लगता है कि यह स्वचालन के लाभों को नकार देता है।
हम अभ्यास में दिखाएंगे कि भूमिका परीक्षण कैसे लिखना है। नतीजतन, आप अपनी कंपनी के लिए परीक्षण लिख सकते हैं। आपको अब किए गए सेटिंग्स को याद रखने की आवश्यकता नहीं है, उन्हें परीक्षणों में वर्णन करें और स्वचालित रूप से जांचें कि पिछले सभी निर्णय और बैसाखी जगह पर हैं।
फिर हम सीखेंगे कि निगरानी के लिए सभी नए सर्वरों को स्वचालित रूप से कैसे जोड़ा जाए। बुनियादी ढांचे और अनुप्रयोगों की अलग से निगरानी करना। हम बुरे और अच्छे व्यवहार दिखाते हैं।
टॉपिक # 8: इंफ्रास्ट्रक्चर की टेस्टिंग
- अणु और गिटलैब सीआई के साथ परीक्षण और निरंतर एकीकरण
- वैराग्य अनुप्रयोग
विषय # 9: प्रोमेथियस के साथ निगरानी बुनियादी ढांचे
- निगरानी क्यों आवश्यक है
- निगरानी के प्रकार
- निगरानी प्रणाली में सूचनाएं
- स्वस्थ निगरानी प्रणाली का निर्माण कैसे करें
- सभी के लिए मानव पठनीय नोटिस
- स्वास्थ्य जाँच: क्या देखना है
- निगरानी डेटा पर आधारित स्वचालन
अनुचित निगरानी निगरानी की कमी है। व्यवसाय के लिए यह महत्वपूर्ण नहीं है कि ऑनलाइन स्टोर का मुख्य पृष्ठ उपलब्ध हो, यदि भुगतान का फॉर्म त्रुटि देता है।
डेवलपर्स और प्रशासक समान रूप से निगरानी और समस्या निवारण स्थापित करने में शामिल हैं। इसके अलावा, परंपरागत रूप से, निगरानी कार्य प्रशासकों पर पड़ता है। हमारा पाठ्यक्रम डेवलपर्स को दिखाएगा कि प्रभावी निगरानी बनाने में उनकी क्या भूमिका है। प्रशासकों को साउथब्रिज के सर्वोत्तम अभ्यास प्राप्त होंगे। परिणामस्वरूप, साइट या एप्लिकेशन के क्रैश और ब्रेक के कारण होने वाले नुकसान की संख्या में तेज़ी से गिरावट आएगी।
अनुभाग बोनस: निगरानी आधारित स्वचालन। उदाहरण के लिए, रिपोर्ट की निगरानी करना कि एक लोड साइट पर आ गया है, और वेब सर्वर का स्केलिंग स्वचालित रूप से शुरू होता है।
लॉगिंग
लॉग के साथ काम करने में मुख्य गलती यह है कि व्यवस्थापक और डेवलपर्स उन्हें सीधे सर्वर पर देखते हैं। यदि आपके पास एक से अधिक सर्वर हैं, तो यह एक लंबा समय है। यह धर्मनिरपेक्ष नहीं है: डेवलपर सर्वर में प्रवेश करता है जहां उसे नहीं होना चाहिए।
DevOps को केंद्रीकृत लॉग संग्रह, प्रसंस्करण और विश्लेषण की आवश्यकता होती है।
विषय # 10: ईएलके के साथ आवेदन लॉगिंग
- लोचदार के मुख्य अनुप्रयोग और विशेषताएं (खोज, भंडारण, स्केलिंग सुविधाएँ, कॉन्फ़िगरेशन लचीलापन)
- किबाना का अवलोकन (मुख्य विशेषताएं, क्वेरी भाषा, डैशबोर्ड प्रबंधन, चार्टिंग)
- लोचदार उत्पादों और उनके आवेदन का अवलोकन
- एपीएम (आवेदन अनुरेखण) में मैट्रिक्स एकत्रित करना
- एक्स्ट्रा कलाकार: नए उत्पाद की समीक्षा - सहकारिता
इस दृष्टिकोण के कार्यान्वयन से लॉग इन विश्लेषण, विन्यास और अनुप्रयोगों और बुनियादी ढांचे के समायोजन के लिए एक सरल और समझ में आने वाला उपकरण बन जाएगा।
एसआरई
और हम इस विषय पर पहुँचते हैं कि साउथब्रिज सिर्फ देख रहा है और जिसके लिए अन्य वक्ता स्लम के अंतिम दिन रहना चाहते हैं। हमें खुशी है कि Booking.com के इवान क्रुगलोव इसे पढ़ने के लिए सहमत हुए।
एक परियोजना वास्तविक दुनिया में रहती है, जहां विश्वसनीयता कभी भी निरपेक्ष नहीं होती है, और हर समाधान में पैसा खर्च होता है।
एक जटिल परियोजना के लिए SLA क्या है? आइए बताते हैं कि मूल्यांकन कैसे करें कि साइट उपलब्ध है, लेकिन चित्रों को देरी से लोड किया गया है। एसएलए मेट्रिक्स क्या हैं, उन्हें कहां शूट करना है, कैसे शूट करना है?
SLA कैसे स्थापित करें? उनका सामना कैसे करें?
थीम # 11: SRE
SRE की दुनिया से SLA, SLO, एरर बजट और अन्य डरावने शब्दों की परिभाषा
एसआरई: एसएलआई और एसएलओ की प्रैक्टिस मॉनिटरिंग
SRE: त्रुटि बजट अभ्यास
एसआरई: इंटरप्ट और ऑपरेशनल लोड मैनेजमेंट (एपेटवे, सर्विस मेश, सर्किट ब्रैकर्स)
बिज़नेस चाहता है SRE कम से कम सबसे सरल स्तर पर: एक बैकअप सर्वर लें या बैकअप से उठाएं? एक डेटाबेस या क्लस्टर? क्या डीडीओएस प्रोटेक्टिव प्रोएक्टिव है या केवल हमले के समय?
निर्देशक कहानी से संतुष्ट नहीं हैं कि "साइट काम कर रही है" जब कोई ग्राहक उसे फोन करता है और सूचित करता है कि ऑर्डर फॉर्म नहीं खुला है।
इसलिए, एक DevOps इंजीनियर के लिए यह आवश्यक है कि वह कम से कम सतही रूप से SRE को समझे ताकि वह अपनी आवश्यकताओं के बारे में व्यवसाय के साथ पर्याप्त रूप से बात कर सके।
परिणाम
स्लम देवओप्स के दौरान , प्रशासक और डेवलपर सीखेंगे:
- गिट के साथ सही ढंग से काम करें;
- स्थानीय विकास को व्यवस्थित करें;
- कॉन्फ़िगर (प्रशासक) और उपयोग (डेवलपर्स) CI / CD;
- एक कोड के रूप में बुनियादी ढांचे के साथ काम करना;
- बुनियादी ढांचे का परीक्षण;
- बुनियादी ढांचे और आवेदन की निगरानी;
- लॉगिंग कॉन्फ़िगर करें;
- समझें, और आदर्श रूप से - SRE का उपयोग करें।
चौकस पाठकों के लिए - हैबपोस्ट प्रोमो कोड के साथ, 15% की छूट।
सभी बिंदुओं के लिए, हम अभ्यास और उपकरण तैयार कर रहे हैं। इसलिए, स्लम से लौटने पर प्रत्येक प्रतिभागी अपनी कंपनी को देवो के अगले स्तर तक ले जाने में सक्षम होगा।
व्यापार के लिए, इसका अर्थ है सस्ता प्रशासन और विकास, डाउनटाइम कम होना, विश्वसनीयता में वृद्धि, सुविधाओं का तेजी से वितरण और बग्स का खात्मा।