DevOps - ما هو ولماذا وكم هو مطلوب؟



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



إذن ما هو DevOps بالضبط؟


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


ما الذي يجب أن يعرفه مهندس DevOps ويكون قادرًا على القيام به؟


وفقًا لأحد أشهر أتباع مفهوم DevOps ، يجب أن يكون لدى جو سانشيز ، ممثل المهنة ، فهمًا جيدًا للفروق الدقيقة للمفهوم نفسه ، ولديه خبرة في إدارة كل من أنظمة Windows و Linux ، وفهم رمز البرنامج المكتوب بلغات مختلفة ، وتشغيل Chef ، Puppet ، Ansible. من الواضح أنه لتحليل الكود تحتاج إلى معرفة العديد من لغات البرمجة ، وليس فقط المعرفة ، ولكن لديك أيضًا خبرة في التطوير. وتجربة اختبار منتجات وخدمات البرمجيات الجاهزة أمر مرغوب فيه للغاية. 
 
ولكن من الناحية المثالية ، فإن هذا المستوى من الخبرة والمعرفة بعيد كل البعد عن كل ممثل لمجال تكنولوجيا المعلومات. إليك مجموعة من الحد الأدنى من المعرفة والخبرة اللازمة لتطوير DevOps جيدًا:

  • نظام التشغيل غنو / لينكس ، ويندوز.
  • لغة برمجة واحدة على الأقل (Python ، Go ، Ruby).
  • لغة برمجة shell هي bash لنظام Linux و powershell لنظام Windows.
  • نظام التحكم في الإصدار - Git.
  • أنظمة إدارة التهيئة (Ansible ، Puppet ، Chef).
  • منصة واحدة على الأقل لتنسيق الحاويات (Kubernetes و Docker Swarm و Apache Mesos و Amazon EC2 Container Service و Microsoft Azure Container Service).
  • القدرة على العمل مع موفري الخدمات السحابية (على سبيل المثال: AWS و GCP و Azure وما إلى ذلك) باستخدام Terraform ، لمعرفة كيفية نشر التطبيق على السحابة.
  • القدرة على تكوين خط أنابيب CI / CD (Jenkins ، GitLab) ، مكدس ELK ، أنظمة المراقبة (Zabbix ، Prometheus).

وفيما يلي قائمة بالمهارات التي يشير إليها متخصصو DevOps غالبًا في Haber Career.

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



وماذا عن عتبة الدخول؟


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



أين يمكن أن يعمل DevOps؟


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

فيما يلي بعض الوظائف الشاغرة (يمكنك متابعة الوظائف الجديدة في Habr Career باستخدام هذا الرابط ):

صورة
 


راتب DevOps في روسيا والعالم


في روسيا ، يبلغ متوسط ​​راتب مهندس DevOps حوالي 132 ألف روبل شهريًا. هذه هي حسابات حاسبة الراتب لخدمة هبر كارير ، التي تم إجراؤها على أساس 170 استبيانًا للنصف الثاني من عام 2020. نعم ، العينة ليست بهذا الحجم ، لكنها مناسبة تمامًا مثل "متوسط ​​درجة الحرارة في المستشفى".  هناك رواتب من 250 ألف روبل ، وحوالي 80 ألفاً وأقل قليلاً. كل هذا يتوقف على الشركة والمؤهلات والأخصائي نفسه بالطبع.  أما بالنسبة للبلدان الأخرى ، فإن إحصاءات الرواتب معروفة أيضًا. قام أخصائيو Stack Overflow بعمل جيد في تحليل ملفات تعريف حوالي 90 ألف شخص - ليس فقط DevOps ، ولكن أيضًا ممثلين للتخصصات الفنية بشكل عام. اتضح أن مدير الهندسة و DevOps فقط يحققان أقصى استفادة. 
 
صورة


صورة

 
يتلقى DevOps-engineer حوالي 71 ألف دولار سنويًا ، ووفقًا لمورد Ziprecruiter.com ، فإن راتب المحترف في هذا المجال يبدأ من 86 ألف دولار سنويًا. حسنًا ، تُظهر خدمة Payscale.com أرقامًا ممتعة جدًا للعين - يتجاوز متوسط ​​راتب أخصائي DevOps ، وفقًا للخدمة ، 91 ألف دولار. وهذا هو راتب أخصائي صغير ، يمكن للأكبر الحصول على 135 ألف دولار. 
 
وفي الختام ، يجدر القول أن الطلب على DevOps يتدرج تدريجيًا تزايد الطلب على المتخصصين من أي مستوى يتجاوز العرض. لذا إذا أردت ، يمكنك تجربة نفسك في هذا المجال. صحيح ، يجب على المرء أن يتذكر أن الرغبة وحدها ليست كافية. أنت بحاجة إلى التطوير والتعلم والعمل باستمرار.

All Articles