في الفترة من 4 إلى 6 سبتمبر ، في سانت بطرسبرغ ، في قاعة مؤتمرات Selectel ، سيتم عقد DevOps Slurm لمدة ثلاثة أيام.

لقد صممنا البرنامج على أساس فكرة أنه يمكن للجميع قراءة الأعمال النظرية على DevOps ، مثل أدلة الأدوات ، بشكل مستقل. الخبرة والممارسة فقط هما أمران مهمان: إن شرح كيفية القيام بذلك ضروري وغير ضروري ، وقصة حول كيفية القيام بذلك.
كل شركة ، كل مسؤول أو مطور لديه مستوى DevOps الخاص به. بعض سوء استخدام جيت ، والبعض الآخر تنفيذ SRE. تم تنظيم الدورة بحيث يجد الجميع شيئًا مناسبًا يمكن تنفيذه هنا والآن.
نبدأ بـ Git ، ثم ننظر إلى تطوير التطبيق ، وتفاعل الكود والبنية التحتية ، وبناء CI / CD ، ووصف البنية التحتية على أنها كود (IaC) ، واختبار الحل الناتج ، وإعداد المراقبة ، وجمع السجلات ودراسةها ، وأخيراً الوصول إلى SRE: تشغيل الموثوقية في قصة قابلة للقياس ويمكن التحكم فيها.
بوابة
الآن Geet لا يستخدم فقط من قبل الشخص الذي اشترى أول كمبيوتر محمول أمس. هذه أداة تافهة في كل مكان ، ومع ذلك ، فنحن غالباً ما نواجه سوء استخدامها: من الضغط القوي إلى الرئيسي ، وانتهاءً بنسخ الملفات من Gita إلى الخادم عبر Ctrl-C و Ctrl-V.
نخبرك بأن كيفية القيام بذلك ليس ضروريًا ، وكيفية القيام به ، وكيفية القيام به في ساوثبريدج.
نجتاز هذه الممارسة: أساسيات غيتا ، العمل الجماعي.
الموضوع رقم 1: أساسيات جيت
- الأوامر الأساسية git init ، التزام ، إضافة ، فرق ، سجل ، حالة ، سحب ، دفع
- بوابة التدفق والفروع والعلامات ، واستراتيجيات دمج
- العمل مع الريبو البعيد متعددة
الموضوع رقم 2: العمل الجماعي مع Git
- تدفق جيثب
- شوكة ، بعيد ، طلب سحب
- الصراعات ، الإصدارات ، مرة أخرى حول Gitflow وغيرها من التدفق فيما يتعلق بالفرق
يتم تنظيم المواد بحيث يمكن للمسؤولين والمطورين تنفيذ جميع الممارسات في العمل على الفور.
من وجهة نظر DevOps ، فإن العمل المناسب مع Git ينظم ويطور عمليات التطوير والإدارة ، ويزيل عددًا من المشكلات المتكررة ، ويحسن إنتاجية العمل.
مطور DevOps
نحن ننظر إلى DevOps من خلال أعين المطورين: نطلق البيئة المحلية ، ونكتب تطبيقًا ، ونهيئ المراقبة وتسجيل الدخول ، ونختبره محليًا ، وننظم تخزين المتغيرات / الأسرار واكتشاف الخدمة ، ومشاهدة التتبع (opentracing).
موضوع №3: العمل مع التطبيق من وجهة نظر التنمية
- إعداد بيئتك المحلية: أفضل الممارسات
- نكتب microservice في بيثون (بما في ذلك الاختبارات)
- باستخدام عامل ميناء يؤلف في التنمية
السمة رقم 4: التشغيل التفاعلي للبنية التحتية
نتيجةً لذلك ، سيرى المطورون كيف ينبغي أن يرسل الرمز السجلات ، وكيفية اختباره ، وكيف سيتم تصحيحه في المستقبل. سوف يفهم المسؤولون احتياجات المطورين: ما هي الأخطاء التي تحدث في التعليمات البرمجية ، وكيفية تنظيم الاختبار للمطورين ، وكيفية اختبار المشروع بنفسك.
في هذه المرحلة ، يتم حل المهمة الرئيسية لـ DevOps: يتم بناء التفاهم المتبادل والتعاون بين العذارى و ops. هذه خطوة أساسية في الانتقال من بدء المهمة إلى المشاركة المسؤولة.
نتيجة لذلك ، سرعة وجودة العمل في تزايد.
CI / CD
الأتمتة الحديثة تتضمن CI / CD. سنبدأ من خلال النظر في التشغيل الآلي اليدوي: makefiles ، githukes ، البرامج النصية. سنحلل عندما لا تزال هذه الأدوات ذات صلة ، ومتى لا ينبغي استخدامها.
ثم ، دعونا نلقي نظرة على أفضل ممارسات CI الحديثة باستخدام Gitlab كمثال.
الموضوع رقم 5: مقدمة CI / CD إلى الأتمتة
- مقدمة في الأتمتة
- أدوات (باش ، وصنع ، ومهد)
- باستخدام بوابة السنانير لأتمتة العمليات
- خطوط تجميع ناقل المصنع وتطبيقاتها في تكنولوجيا المعلومات
- مثال على بناء خط أنابيب "مشترك"
- برنامج CI / CD حديث: Drone CI ، خطوط أنابيب BitBucket ، ترافيس ، إلخ.
الموضوع رقم 6: CI / CD: العمل مع Gitlab
- Gitlab CI - عام
- Gitlab عداء ، وأنواعها والتطبيق
- Gitlab CI ، ميزات التخصيص ، أفضل الممارسات
- Gitlab CI مراحل
- متغيرات Gitlab CI
- التجميع والاختبار والنشر
- قيود الرقابة والتنفيذ: فقط ، متى
- العمل مع القطع الأثرية
- قوالب داخل .gitlab-ci.yml ، تعيد استخدام الإجراءات على أجزاء مختلفة من خط الأنابيب
- تشمل - أقسام
- الإدارة المركزية لـ gitlab-ci.yml (ملف واحد ودفع تلقائي إلى مستودعات أخرى)
ينتقل العمل المشترك للمسؤولين والمطورين إلى مستوى جديد: يكتب المسؤول قالب CI ، ويقوم المطورون بتصحيحه عن طريق إنشاء CI الخاص بهم بشكل مستقل عن المسؤول.
يتم تقليل اعتماد المطورين على المسؤولين ، ويتم تقليل مقدار العمل اليدوي ، ويتم حل مشكلة "الشخص الوحيد الذي يعرف كيفية العمل مع ملف الماكياج". تحدث النشرات بشكل موثوق وسريع.
IAC
سوف يخبر موضوع البنية التحتية ككود على مثال Terraform مسؤول السحابة Selectel Alexei Stepanenko. سيوضح لك كيفية نشر الخوادم وتوسيع نطاقها تلقائيًا وتلقائيًا ، وكيفية حزم الصور تلقائيًا ، وكيفية استخدام قوالب التكوين لتلقي الأجهزة المخصصة فورًا.
سيخبرك الشخص الذي صنع الآلاف من حلول IaC عن كيفية القيام بذلك بشكل صحيح وكيفية القيام بذلك.
يعد Minimal Edit Selectel Cloud Solution مناسبًا لسحب Google و Amazon.
سيستخدم موظف في Southbridge ، وهو Nikolai Mesropyan ، Ansible كمثال لإظهار كيفية نشر تطبيق يعمل دون تعطل واختبار وظائفه.
إذا قمت بتحرير البنية التحتية يدويًا (تكوين الخوادم ، تثبيت المكتبات ، الحزم حسب الحاجة) ، عندما تحاول رفع نسخة من البيئة ، فسوف تحتاج إلى تذكر جميع الإجراءات الخاصة بك وإعادة إنتاجها. هذه المهمة تستغرق بسهولة 3-5 أيام. يضمن العمل باستخدام البنية التحتية ككود أن يكون لديك وصف محدث للبيئة يمكن نشره في غضون دقائق.
سيخبرك نيكولاي بكيفية كتابة كتب اللعب ، وما هي الأخطاء التي تحدث ، ولماذا تعمل كتب اللعب أحيانًا ببطء أم لا كما هو متوقع. هذه هي تجربة سنوات عديدة من استخدام IaC في ساوثبريدج.
الموضوع رقم 7: البنية التحتية كرمز
- IaC: نهج للبنية التحتية كرمز
- سحابة مقدمي الخدمات البنية التحتية
- أدوات تهيئة النظام ، تجميع الصور (باكر)
- IaC على سبيل المثال من Terraform
- تخزين التكوين ، التعاون ، أتمتة التطبيقات
- تدرب على إنشاء كتب إرشادية
- العاطفة ، التصريح
- IaC Ansible
- قاعدة البيانات باعتبارها رمز / PostgreSQL الفشل
تصبح البنية التحتية تصريحية وعاطفية.
يتعلم المسؤول إدارة البنية الأساسية المعقدة: إنشاء بيئات جديدة بسرعة ، والحفاظ على وحدة جميع البيئات ، ومشاهدة تاريخ التغييرات ، وهو أمر بالغ الأهمية عندما تعمل عدة فرق في مشروع.
يمكن للمطور دراسة البنية التحتية ونشر بيئته بشكل مستقل.
مكافأة القسم - إنشاء وتكوين مجموعة قاعدة بيانات PostgreSQL متسامحة مع الأخطاء. سنقدم لك كتاب اللعب النهائي الذي نستخدمه في ساوثبريدج ، وسوف تقوم بنشر مجموعة في منصة التدريب ويمكنك استخدام هذا الحل في شركتك.
اختبار البنية التحتية ومراقبتها
يتيح لك التنفيذ التلقائي طرح الخطأ على الفور على ألف خادم. كل تغيير يتطلب الاختبار. من ناحية أخرى ، يستغرق الاختبار اليدوي الكثير من الوقت حتى ينفي فوائد الأتمتة.
سنعرض في الممارسة العملية كيفية كتابة اختبار الأدوار. نتيجة لذلك ، يمكنك كتابة اختبارات لشركتك. لم تعد بحاجة إلى تذكر الإعدادات التي تم إجراؤها ووصفها في الاختبارات والتحقق تلقائيًا من وجود جميع القرارات السابقة والعكازات.
ثم سنتعلم كيفية إضافة جميع الخوادم الجديدة تلقائيًا للمراقبة. النظر بشكل منفصل رصد البنية التحتية والتطبيقات. نظهر الممارسات السيئة والجيدة.
الموضوع رقم 8: اختبار البنية التحتية
- اختبار والتكامل المستمر مع جزيء و Gitlab CI
- تطبيق متشرد
الموضوع رقم 9: مراقبة البنية التحتية مع بروميثيوس
- لماذا هناك حاجة إلى الرصد
- أنواع المراقبة
- الإخطارات في نظام الرصد
- كيفية بناء نظام مراقبة صحي
- إشعارات الإنسان المقروءة ، للجميع
- تحقق الصحة: ما الذي تبحث عنه
- أتمتة على أساس بيانات الرصد
الرصد غير السليم هو عدم وجود مراقبة. لا يهم العمل أن تكون الصفحة الرئيسية لمتجر على الإنترنت متاحة إذا كانت طريقة الدفع تعطي خطأ.
يشارك المطورين والمسؤولون على قدم المساواة في إعداد المراقبة واستكشاف الأخطاء وإصلاحها. علاوة على ذلك ، تقليديا ، تقع مهام المراقبة على المسؤولين. ستوضح الدورة التدريبية للمطورين الدور الذي يلعبونه في إنشاء مراقبة فعالة. سوف يتلقى المسؤولون Southbridge أفضل الممارسات. نتيجة لذلك ، سينخفض بسرعة عدد الخسائر الناجمة عن تعطل الفرامل أو الموقع أو التطبيق.
مكافأة القسم: الأتمتة القائمة على المراقبة. على سبيل المثال ، مراقبة التقارير التي تفيد بأن هناك حملًا قد وصل إلى الموقع ، ويبدأ توسيع نطاق خوادم الويب تلقائيًا.
تسجيل
الخطأ الرئيسي في العمل مع السجلات هو أن المسؤولين والمطورين يشاهدونها مباشرة على الخوادم. إذا كان لديك أكثر من خادم ، فهذا وقت طويل. هذا ليس علمانيًا: المطور يدخل الخادم حيث لا ينبغي أن يكون.
يتطلب DevOps جمع السجلات المركزية ومعالجتها وتحليلاتها.
الموضوع رقم 10: تسجيل التطبيق باستخدام ELK
- أهم التطبيقات والميزات المرنة (البحث ، التخزين ، ميزات القياس ، مرونة التكوين)
- نظرة عامة على kibana (الميزات الرئيسية ، لغة الاستعلام ، إدارة لوحة القيادة ، الرسوم البيانية)
- نظرة عامة على المنتجات المرنة وتطبيقها
- جمع المقاييس في APM (تتبع التطبيق)
- إضافات: استعراض المنتجات الجديدة - SIEM
إن تنفيذ هذا النهج سيجعل السجلات أداة بسيطة ومفهومة لتحليل وتكوين وتعديل التطبيقات والبنية التحتية.
SRE
ونصل إلى الموضوع الذي تبحثه ساوثبريدج فقط والذي يرغب المتحدثون الآخرون في البقاء في اليوم الأخير من سلورم. يسعدنا موافقة إيفان كروغلوف من Booking.com على قراءته.
يعيش المشروع في العالم الواقعي ، حيث لا تكون الموثوقية أبدًا مطلقًا ، وكل حل يكلف مالًا.
ما هو جيش تحرير السودان لمشروع معقد؟ دعنا نقول كيفية تقييم أن الموقع متاح ، ولكن يتم تحميل الصور مع تأخير. ما هي مقاييس جيش تحرير السودان ، أين تطلق عليهم النار ، وكيف تطلق عليهم النار؟
كيفية تثبيت جيش تحرير السودان؟ كيف تقاومهم؟
الموضوع رقم 11: SRE
تعريف SLA و SLO و Error Budget وشروط مخيفة أخرى من عالم SRE
SRE: ممارسة مراقبة SLI و SLO
SRE: خطأ ممارسة الميزانية
SRE: إدارة الأحمال التشغيلية والتشغيلية (apigateway ، شبكة الخدمة ، دعامات الدائرة)
العمل يريد SRE. على الأقل على أبسط المستويات: خذ خادمًا احتياطيًا أو ارفع من نسخة احتياطية؟ قاعدة بيانات واحدة أو كتلة؟ هل حماية DDoS استباقية أم فقط وقت الهجوم؟
المديرون غير راضين عن القصة التي تفيد بأن "الموقع يعمل" عندما يتصل به العميل ويعلم أن نموذج الطلب لا يفتح.
لذلك ، من المهم لمهندس DevOps أن يفهم SRE بشكل سطحي على الأقل من أجل التحدث بشكل كافٍ مع الشركة حول احتياجاتها.
يؤدي
أثناء Slurm DevOps ، سيتعلم المسؤولون والمطورون:
- العمل بشكل صحيح مع جيت ؛
- تنظيم التنمية المحلية ؛
- تكوين (المسؤولين) واستخدام (المطورين) CI / CD ؛
- العمل مع البنية التحتية كرمز ؛
- اختبار البنية التحتية ؛
- مراقبة البنية التحتية والتطبيق ؛
- تكوين قطع الأشجار ؛
- فهم ، واستخدام مثالي SRE.
للقراء اليقظين - مع الرمز الترويجي habrapost ، خصم 15 ٪.
لجميع النقاط ، نحن نستعد الممارسة والأدوات. لذلك ، سيكون بإمكان كل مشارك عند عودته من Slurm نقل شركته إلى المستوى التالي من DevOps.
بالنسبة للأعمال ، فإن هذا يعني الإدارة والتطوير الأقل تكلفة ، وتقليل وقت التوقف عن العمل ، وزيادة الموثوقية ، وتقديم أسرع للميزات ، والتخلص من الأخطاء.