لماذا يجب على مسؤولي النظام والمطورين والمختبرين تعلم ممارسات DevOps؟



يقول ألكسندر تيتوف ، الشريك الإداري لـ Express 42 ومؤلف الدورة التدريبية عبر الإنترنت "DevOps Practices and Tools": أين تذهب بهذه المعرفة ، وماذا تفعل في المشروع ، وماذا تكسب ، وماذا تقول وتسأل في المقابلة .

مرحبا! على الرغم من وجود مصطلح DevOps منذ عام 2009 ، لا يوجد حتى الآن توافق في الآراء في المجتمع الروسي. بالتأكيد ، لاحظت أن البعض يعتبر DevOps تخصصًا ، والبعض الآخر - فلسفة ، والبعض الآخر تحت المصطلح يعني مجموعة من التقنيات. لقد قدمت بالفعل محاضرات عدة مرات حول تطوير هذا المجال ، لذلك لن أخوض في التفاصيل في هذه المقالة. لا يسعني إلا أن أقول إننا في Express 42 نضع ما يلي فيه:

DevOps - تقنية محددة ، ثقافة إنشاء منتج رقمي ، عندما يشارك جميع المتخصصين في الفريق في الإنتاج.

في تطوير الشركات الكلاسيكي ، كل شيء يسير بالتسلسل: البرمجة ، والاختبار ، وعندها فقط الاستغلال ، وسرعة هذه العملية من الفكرة إلى الإنتاج هي 3 أشهر. بالنسبة إلى المنتجات الرقمية ، تعد هذه مشكلة عالمية ، لأنه لا يمكنك تلقي تعليقات من العملاء على الفور.

في DevOps ، يتم شحذ الأدوات والأساليب بحيث يتم إطلاق عمليات التطوير والاختبار والتشغيل في وقت واحد.

ما يلي من هذا النهج؟


  • لا يمكنك تعيين "مهندس" معين سيأتي ويحل جميع مشاكل الإنتاج. يجب على الفريق بأكمله تطبيق التقنية.


  • DevOps ليس الشكل التالي من sysadmin الذي يمكنك الترقية إليه. يبدو مهندس DevOps إلى حد كبير مثل Agile Developer.



  • إذا كان الفريق يستخدم Kubernetes و Ansible و Prometheus و Mesosphere و Docker ، فهذا لا يعني أن ممارسات DevOps يتم تنفيذها هناك.





الحياة بعد DevOps لن تكون هي نفسها


نهج DevOps هو ، أولاً وقبل كل شيء ، طريقة تفكير مختلفة ، تصور التنمية ككل ومكانها في العملية. قمنا بتقسيم الدورة التدريبية عبر الإنترنت إلى مجموعتين:

1. تقرير المصير

أولاً ، نقوم بتحليل جوهر نهج DevOps بالتفصيل ، ويكتشف الطلاب أدوارًا جديدة في الفريق ، ويرون أيهم يستجيب أكثر ويحددوا بأنفسهم أي طريقة للتطوير.

2. الأدوات والممارسات

يتقن الطلاب تقنيات معينة من حيث طريقة DevOps.

يمكن استخدام أدوات DevOps في نهج DevOps وفي التطوير الكلاسيكي. المثال الأوضح هو استخدام أداة إدارة التكوين Ansible. تم إنشاؤه وتصميمه لتطبيق ممارسة DevOps "البنية التحتية ككود" ، مما يعني أنه يتم وصف حالات مختلفة من النظام من إعدادات نظام التشغيل إلى برنامج التطبيق. ينقسم الوصف إلى طبقات ويسمح لك بإدارة تكوين معقد يتغير باستمرار. ولكن غالبًا ما يستخدم المهندسون Ansible كطريقة لتنفيذ نصوص bash على أجهزة متعددة. هذا ليس سيئًا وليس جيدًا ، ولكن يجب أن تفهم أن وجود Ansible لا يضمن وجود DevOps في الشركة.

معنا خلال الدورةستغرق في عملية تطوير تطبيق مشابه لـ Reddit المعروف ، أولاً بنسخته المتجانسة ، والمتابعة خطوة بخطوة إلى الخدمات الصغيرة. خطوة بخطوة سنتعلم أدوات جديدة: Git و Ansible و Gitlab وإنهاء Kubernetes و Prometheus.

من خلال الممارسة ، سوف نتبع تكتيكات المسارات الثلاثة الموضحة في دليل DevOps - ممارسات التسليم المستمر ، وممارسات التغذية المرتدة ، وجوهر دورة التعليم المستمر بأكملها مع نظامك.

ماذا تعطي هذه المعرفة لكل من المتخصصين؟


مسؤولي النظام


ستسمح الممارسات بالابتعاد عن الإدارة نحو إنشاء خط أنابيب توصيل مستمر ومنصة تسليم برمجيات البنية التحتية. النقطة هي أنه يبتكر منتجًا - منصة بنية تحتية للمطورين ، مما يساعدهم على تعزيز تغييراتهم في الإنتاج بسرعة.

في السابق ، كان مسؤولو النظام المعقل الأخير ، وبعد ذلك بدأ كل شيء في الإنتاج. وأساسا كانوا يشاركون في الإطفاء المستمر للحريق - وفي ضوء ذلك من الصعب جدا الخوض في احتياجات العمل ، والتفكير في المنتج والفوائد للمستخدم.
بفضل طريقة DevOps ، يتغير التفكير. يفهم مسؤول النظام كيفية ترجمة التكوين إلى التعليمات البرمجية الموجودة لهذه الممارسة.

هذا مهم لأن الشركات تدرك بشكل متزايد أنها لا تحتاج فقط إلى أتمتة كل شيء وكل شيء ، أي في ما اعتاد مسؤولو النظام في المدرسة القديمة القيام به ، والذي ، بالإضافة إلى ذلك ، لم يتواصلوا كثيرًا ولم يبلغوا الفريق بكل التغييرات التي تم إجراؤها. تبحث الفرق الآن عن أولئك الذين سيصبحون مُصنِّعين لمنتج البنية التحتية الداخلية ويساعدون في دمج العمليات المقسمة في عملية واحدة.

للمطورين


يتوقف المطور عن التفكير فقط مع الخوارزميات. يكتسب مهارة العمل مع البنية التحتية ، مهارة الوعي المعماري للمناظر الطبيعية. يفهم مطور البرامج هذا كيفية عمل التطبيق ، وكيف يمر عبر خط توصيل مستمر ، وكيفية مراقبته ، وكيفية تأمينه ، بحيث يستفيد منه العميل. ونتيجة لذلك ، تتيح لك كل هذه المعرفة كتابة التعليمات البرمجية ذات الصلة.

المختبرين


لقد ذهب الاختبار إلى الوضع التلقائي لفترة طويلة ، نقول جميعًا إنه لا يجب إجراء العديد من الاختبارات ، ولكن مكتوب :) يصبح الاختبار جزءًا من خط الأنابيب بالكامل لتقديم منتجك. لا يحتاج المختبر فقط إلى تعلم كيفية كتابة التعليمات البرمجية ، ولكن أيضًا لفهم كيفية دمجها في أنظمة التسليم المستمر ، وكيفية تلقي التعليقات من الرمز في جميع مراحل التسليم ، وكيفية تحسين الاختبار باستمرار من أجل اكتشاف الأخطاء في أقرب وقت ممكن.

لذلك اتضح أن جميع المراحل الثلاث تحدث في وقت واحد . على سبيل المثال ، قد يبدو الأمر كما يلي:

يكتب المطور الرمز ، ويكتب اختباراته فورًا ويصف حاوية عامل الميناء للرمز الذي يجب تشغيله. كما يصف على الفور المراقبة التي ستراقب تشغيل هذه الخدمة في الإنتاج ، وكل هذا الالتزام.

عندما يبدأ التكامل المستمر ، تذهب العمليات في وقت واحد. تبدأ الخدمة ، شكلي. في الوقت نفسه ، تبدأ حاوية عامل الميناء ، ويتم التحقق من أنها تعمل. في نفس الوقت ، تذهب جميع المعلومات إلى نظام التسجيل. وهكذا في كل مرحلة من مراحل التطوير - يتبين العمل الجماعي الحقيقي لمسؤولي النظام والمطورين والمختبرين.

درس DevOps ، ثم ماذا؟


كما تعلمون ، واحد في الميدان ليس محاربًا. إذا لم تستخدم شركتك هذه الطريقة ، فستكون المهارات المكتسبة خاملة. وبعد الاجتماع مع مناهج DevOps ، على الأرجح ، لن ترغب في أن تكون مساعدًا في تطوير الشركة. يمكن أن يكون هناك استثناء واحد: أنت مسؤول النظام في الفريق ويمكنك إعادة بناء جميع العمليات بطريقة جديدة. هنا تجدر الإشارة إلى أن هناك مجموعة من الشركات التي تستخدم هذا النهج ، ولا تتأثر بالإغلاق وتبحث عن متخصصين. لأن DevOps يدور حول إنشاء منتجات عبر الإنترنت.
والآن عن المتعة: امتلاك ممارسات وأدوات DevOps هو ما يقرب من 30 ٪ من قيمتك في سوق العمل. تبدأ الرواتب من 140 ألف روبل ، ولكن يتم تحديدها ، بطبيعة الحال ، حسب تخصصك ووظيفتك الرئيسية.

يمكنك إلقاء نظرة على الوظائف الشاغرة التي تحمل علامة "مع التركيز على البنية التحتية" ، حيث توجد أتمتة الاختبار ، وتطوير تطبيقات الخدمات الصغيرة باستخدام التقنيات السحابية ، والشواغر لمهندسي البنية التحتية وجميع أنواع المراجع إلى DevOps. فقط تذكر أن كل شركة تعني شيئًا مختلفًا بموجب هذا التعريف - اقرأ الوصف بعناية.

أثناء إطلاق دورتنا ، جاءتني نظرة ثاقبة - العديد من الأشخاص بعد الدورة وقعوا في فخ مهندس DevOps. يجدون شاغرًا بالاسم المذكور أعلاه ، ويحصلون على عرض جيد ، ثم يأتون للعمل ويفهمون أنه سيتعين عليهم دعم نص باش من ثلاث صفحات في جينكينز. وأين Kubernetes و ChatOps وإصدارات الكناري ، وهل هذا كل شيء؟ ولا يوجد شيء ، لأن الشركة لا تحتاج إلى DevOps ، كمنهجية ، ولكنها تستخدم ابتكارات منفصلة.

هذه مناسبة لتجد بشكل مكثف من الشركة كيف يتم ترتيب عملية تسليم البرامج ، والمكدس التكنولوجي والمسؤوليات التي ستقوم بها.

إذا أجاب صاحب العمل على أسئلتك بشكل تجريدي ، كما هو الحال في كتاب ، بدون تفاصيل ، فمن المرجح أن الشركة لم يكن لديها عملية DevOps حتى الآن ، ولكن هذا ليس سببًا لرفض الشركة ودراستها ومنتجاتها ، هل هناك أي خدمات عبر الإنترنت تطورها الشركة بنفسها ، وتطبيقات الهاتف المحمول ، أفكار المنتج.

إذا كانت الإجابة بنعم ، فحدد ما إذا كان عليك العمل مباشرة مع هذه الأنظمة أم أنه من الممكن الانتقال أفقيًا إلى فرق هذه الخدمات مع إظهار نتائج جيدة في ممارسات DevOps. إذا كان الأمر كذلك ، فمن الجدير أن تكون نشطًا ومفيدًا ، وإذا أنهيت دورتنا ، فهذا الأخير مضمون.

من المهم ملاحظة أن القيمة الحقيقية لممارسات Devops تكتسب فقط إذا كانت لديك خبرة في التطوير / الإدارة / الاختبار. عندها فقط لن تكون المعرفة مجردة ، ولكنها تثري المتخصص (بكل معنى الكلمة). لذلك ، فإن فكرة "تعلم ابتكار من نقطة الصفر" هي نفسها فكرة تعلم "استخدام العدسات من نقطة الصفر" إذا لم تمسك كاميرا بين يديك أو وجهت جلسة تصوير. لمساعدتك في تحديد ما إذا كانت الدورة التدريبية مناسبة لك أم لا ، قمنا باختبار تمهيدي لاختبار مستوى كاف من المعرفة.

أعتقد أن واحدة من رقائق الدورة- حقيقة أنه خلال دورة التدريب يحدد كل طالب لنفسه الطريقة التي يريد تطويرها. غالبًا ما نلاحظ التحولات عندما يصبح المطور مهندس بنية تحتية ، ويدرك المسؤول أنه مهتم بكتابة التعليمات البرمجية - ثم يتعلم اللغة بالإضافة إلى ذلك ويكملها بمهارات DevOps التي اكتسبها. لذلك ، نحن نتطلع بشكل خاص لأولئك الذين يشعرون أن حياته المهنية عالقة في مفترق طرق. تبدأ الدورة في 28 مايو ، ولكن يمكنك الانضمام بعد أسبوعين من بدء الفصول الدراسية. يمكنك مشاهدة البرنامج وإجراء الاختبار هنا . نراكم في OTUS!

All Articles