نحن نفهم ما هو جوهر المنهجية ولمن يمكن أن تستفيد.
سوف نتحدث أيضًا عن متخصصي DevOps: مهامهم ورواتبهم ومهاراتهم.
تصوير مات مور / فليكر / سي سي باي - ساما هو DevOps
DevOps هي منهجية لتطوير البرامج تتمثل مهمتها في إنشاء تفاعل المبرمجين ومسؤولي النظام في الشركة. إذا لم يفهم متخصصو تكنولوجيا المعلومات من مختلف الإدارات جوهر مهام بعضهم البعض ، فسيتم تأخير إصدار التطبيقات الجديدة والتحديثات الخاصة بهم.
تُشكل DevOps دورة تطوير "سلسة" ، مما يساعد على تسريع إصدار منتج البرنامج. يتم تحقيق التسارع من خلال إدخال أنظمة التشغيل الآلي. بالإضافة إلى ذلك ، يبدأ المبرمجون في المشاركة في إعداد الخوادم والبحث عن الأخطاء ، على سبيل المثال ، يمكنهم كتابة اختبارات تلقائية.
وبالتالي ، يتم تأسيس التفاعل بين الإدارات. يبدأ الموظفون في فهم المراحل التي يمر بها منتج البرنامج بشكل أفضل قبل الوقوع في أيدي المستخدم.
عندما يفهم المطور ما يواجهه المسؤول عند إعداد الخادم ، فسيحاول تخفيف "الزوايا الحادة" المحتملة في الكود. يؤدي ذلك إلى تقليل عدد الأخطاء عند نشر التطبيق - وفقًا للإحصاءات ،
يقل بمقدار خمس مرات تقريبًا.
الذي يحتاج ولا يحتاج إلى منهجية
يعتقد العديد من
خبراء تكنولوجيا المعلومات أن DevOps ستفيد أي مؤسسة تقوم بتطوير البرامج. هذا صحيح حتى إذا كانت الشركة مستهلكًا بسيطًا لخدمات تكنولوجيا المعلومات ولا تقوم بتطوير تطبيقاتها الخاصة. في هذه الحالة ، سيساعد تنفيذ ثقافة DevOps على التركيز على الابتكار.
الشركات الناشئة
هي استثناء ، ولكن هنا يعتمد كل شيء على حجم المشروع. إذا كان هدفك هو إطلاق منتج الحد الأدنى القابل للتطبيق (MVP) لاختبار فكرة جديدة ، فيمكنك الاستغناء عن DevOps. على سبيل المثال ، قام مؤسس Groupon في بداية العمل على الخدمة بنفسه يدويًا
بنشر جميع العروض على الموقع والطلبات المجمعة. لم يستخدم أي أدوات التشغيل الآلي.
تطبيق المنهجية وأدوات التشغيل الآلي لا معنى له إلا عندما يبدأ التطبيق في اكتساب شعبية. سيساعد ذلك في إنشاء عمليات تجارية وتسريع إصدار التحديثات.
كيفية تنفيذ DevOps
علاوة على ذلك ، بعض التوصيات للانتقال إلى منهجية جديدة.
تحديد المشاكل في العمليات التجارية. قبل تنفيذ المنهجية ، تسليط الضوء على أهداف ومشاكل المنظمة. تعتمد استراتيجية التحول إلى DevOps عليها. للقيام بذلك ، قم بعمل قائمة من الأسئلة ، على سبيل المثال:
- ما الذي يتطلبه الكثير من الوقت لتحديث البرنامج؟
- هل من الممكن أتمتة هذه العملية؟
- هل يؤثر هيكل المنظمة عليه؟
يمكن العثور على تفاصيل حول تحديد المشكلات في المؤسسة
في كتابي "
مشروع فينيكس" و "
دليل DevOps " من مؤلفي المنهجية.
تغيير الثقافة في الشركة. من المهم إقناع جميع الموظفين بتغيير طرقهم المعتادة في العمل وتوسيع نطاق كفاءاتهم. على سبيل المثال ، على Facebook ، يكون جميع المبرمجين
مسؤولين عن كامل دورة حياة التطبيق: من كتابة التعليمات البرمجية إلى التنفيذ. أيضًا على Facebook ، لا يوجد قسم اختبار منفصل - تتم كتابة الاختبارات بواسطة المطورين أنفسهم.
تبدأ صغيرة. اختر العملية التي تستغرق معظم الوقت والجهد عند إصدار التحديثات وأتمتة.
يمكن أن يكون هذا
عملية اختبار أو نشر تطبيق.
ينصح الخبراء أول شيء بتنفيذ أدوات التحكم في الإصدار الموزع. معهم أسهل لإدارة المصدر. من بين هذه الحلول ، أشهرها هي Git و Mercurial و Subversion (SVN) و CVS.
يجدر أيضًا الانتباه إلى أنظمة التكامل المستمر المسؤولة عن تجميع واختبار المنتج النهائي. أمثلة على هذه الأدوات هي Jenkins و TeamCity و Bamboo.
قياس التحسينات. تطوير مقاييس لفعالية الحلول المدمجة وإنشاء قائمة مرجعية. يمكن أن تكون المقاييس هي تكرار الإصدارات والوقت الذي تقضيه في العمل على وظائف البرنامج وعدد الأخطاء في التعليمات البرمجية. ناقش النتائج ليس فقط مع المديرين ، ولكن أيضًا مع بقية أعضاء الفريق المشاركين في المشروع. اسأل عن الأدوات المفقودة. ضع هذه الطلبات في الاعتبار عند زيادة تحسين عملياتك.
انتقاد DevOps
على الرغم من أن المنهجية
تساعد المؤسسات على اتخاذ القرارات المتعلقة بتطوير التطبيقات بشكل أسرع ،
وتقلل من عدد أخطاء البرامج وتشجع الموظفين على تعلم أشياء جديدة ، إلا أنها تضم نقادًا.
ويعتقد أن المبرمجين يجب أن لا يفهموا تفاصيل عمل مسؤولي النظام. يزعم ، DevOps يؤدي إلى حقيقة أنه بدلاً من المتخصصين في التنمية أو الإدارة ، يظهر الأشخاص في الشركة الذين يفهمون كل شيء ، ولكن بشكل سطحي.
ويعتقد أيضا أن DevOps
لا يعمل مع سوء الإدارة. إذا لم يكن لدى فرق المطورين والمسؤولين أهداف مشتركة ، فهذا هو خطأ المديرين الذين لا ينظمون التفاعل بين الفرق. لحل هذه المشكلة ، لا نحتاج إلى منهجية جديدة ، بل إلى نظام لتقييم المديرين استنادًا إلى تعليقات المرؤوسين. يمكنك هنا قراءة
الأسئلة التي يجب تضمينها في نماذج الاستبيان للموظفين .
Photo Ed Ivanushkin / Flickr / CC BY-SAمن هو مهندس DevOps
ينفذ مهندس DevOps منهجية DevOps. يقوم بمزامنة جميع مراحل إنشاء منتج برنامج: من كتابة التعليمات البرمجية إلى اختبار التطبيق وإصداره. يتحكم هذا المتخصص في أقسام التطوير والإدارة ، بالإضافة إلى أتمتة تنفيذ مهامهم من خلال تقديم أدوات برمجية متنوعة.
ميزة مهندس DevOps هو أنه يجمع بين العديد من المهن: المشرف ، المطور ، المختبر ، والمدير.
حدد جو سانشيز ، مبشر DevOps من شركة VMware ، وهي شركة برمجيات افتراضية ، عددًا من المهارات التي يجب أن يمتلكها مهندس DevOps. بالإضافة إلى المعرفة الواضحة بمنهجية DevOps ، يجب أن يتمتع هذا الشخص بخبرة في إدارة Windows و Linux وتجربة أدوات التشغيل الآلي مثل
Chef و
Puppet و
Ansible . يجب أن يكون قادرًا أيضًا على كتابة البرامج النصية والكود بلغتين وفهم تقنيات الشبكة.
مهندس DevOps مسؤول عن أي أتمتة المهام المتعلقة بتكوين ونشر التطبيقات. رصد البرمجيات تقع أيضا على كتفيه. لحل هذه المشكلات ، يستخدم أنظمة إدارة التكوين المختلفة ، حلول المحاكاة الافتراضية وأدوات السحابة لموازنة الموارد.
الذي يستأجر
يمكن لمهندسي DevOps الاستفادة من أي مؤسسة تتضمن أعمالها تطوير تطبيقات أو إدارة عدد كبير من الخوادم. يقوم عملاق تكنولوجيا المعلومات مثل Amazon و Adobe و Facebook
بتعيين مهندسي DevOps. كما أنها تعمل في Netflix و Walmart و Etsy.
الشركات الناشئة فقط
لا توظف مهندسي DevOps. مهمتهم هي إطلاق منتج قابل للتطبيق إلى الحد الأدنى لاختبار فكرة جديدة. في معظم الحالات ، يمكن للشركات الناشئة الاستغناء عن DevOps.
كم يدفعون؟
كسب المهندسين DevOps أكثر في هذه الصناعة. متوسط راتب هؤلاء المتخصصين في العالم يتراوح بين 100 و 125 ألف دولار في السنة.
في الولايات المتحدة الأمريكية
يحصلون على 90 ألف دولار في السنة (500 ألف روبل في الشهر). في كندا ،
يتم دفع 122 ألف دولار في السنة (670 ألف روبل في الشهر) ، وفي المملكة المتحدة - 67.5 ألف جنيه في السنة (490 ألف روبل في الشهر).
بالنسبة لروسيا ، فإن شركات موسكو
مستعدة لدفع رواتب المتخصصين في DevOps من 100 إلى 200 ألف روبل في الشهر. في سانت بطرسبرغ ، أرباب العمل أكثر كرمًا - حيث يقدمون ما بين 160 إلى 360 ألف روبل في الشهر. في المناطق ، الراتب 100-120 ألف روبل شهريا.
كيف تصبح أخصائي DevOps
DevOps هو اتجاه جديد نسبيًا في تقنية المعلومات ، لذلك لا توجد قائمة ثابتة لمتطلبات مهندسي DevOps. في الوظائف الشاغرة ، تشمل متطلبات هذا المنصب مهارات إدارة دبيان و CentOS والقدرة على العمل مع
صفائف RAID على القرص.
بناءً على ذلك ، يمكننا أن نستنتج أنه ، أولاً وقبل كل شيء ، يجب أن يكون لدى مهندس DevOps نظرة تقنية جيدة. من المهم لمثل هذا الشخص أن يتعلم باستمرار الأدوات والتقنيات الجديدة.
ستكون أسهل طريقة لتصبح مهندس DevOps هي مسؤول النظام أو المطور. لديهم بالفعل عدد من المهارات التي تحتاج فقط إلى تطوير. وتتمثل المهمة الرئيسية في تشديد الحد الأدنى من المعرفة حول DevOps ، وفهم كيفية العمل مع أدوات التشغيل الآلي وملء الثغرات في مهارات الإدارة والبرمجة والمحاكاة الافتراضية.
لفهم أين ما زالت المعرفة مفقودة ، يمكنك استخدام
mini-Wikipedia على GitHub أو
خريطة ذهنية .
يوصي سكان Hacker News أيضًا بقراءة كتب
Phoenix Project
ودليل DevOps (الذي ذكرناه أعلاه)
وفلسفة DevOps. فن إدارة تكنولوجيا المعلومات "تحت توقيع أورايلي ميديا.
يمكنك أيضًا الاشتراك في
النشرة الإخبارية لـ Devops Weekly وقراءة المقالات من
البوابة المواضيعية DZone والبدء في الدردشة مع مهندسي DevOps في
دردشة Slack . يجدر أيضًا استكشاف الدورات التدريبية المجانية على
Udacity أو
edX .
المشاركات من مدونتنا: