
قبل بضع سنوات ، نظرت العديد من المؤسسات إلى DevOps كتجربة واعدة ، وليس كنهج أساسي لتطوير البرمجيات. Now DevOps هي مجموعة مجربة وقوية من ممارسات وأدوات التطوير والنشر التي تعمل على تسريع إصدارات المنتجات الجديدة وزيادة الإنتاجية. والأهم من ذلك ، أن تأثير DevOps يهدف إلى النمو العام للشركة وزيادة ربحيتها.
ترجم فريق
Mail.ru Cloud Solutions الأكثر إثارة للاهتمام من
تقرير تسريع حالة DevOps لعام 2019 ، الذي جمعه خبراء من DevOps Research & Evaluation (DORA). شملت الدراسة 31000 مهني من جميع أنحاء العالم. دعونا نرى ما الذي تغير في الصناعة في عام 2019 وكيف يمكن لرجال الأعمال زيادة كفاءة تسليم البرمجيات.
كيف تؤثر الصناعة وحجم الشركة على DevOps
لم تحدد الدراسة وجود صلة بين أداء DevOps وقطاع المؤسسة ، باستثناء البيع بالتجزئة ، حيث كان الأداء أفضل قليلاً. هذا ، على وجه الخصوص ، يرجع إلى حقيقة أن تجار التجزئة بحاجة إلى الاستجابة السريعة للتقلبات في الطلب واحتياجات العملاء. وفقًا للدراسة ، يمكن لأي شركة ، بما في ذلك القطاع المالي والقطاع العام ، تحقيق مستوى عالٍ في DevOps.
كانت مؤشرات أداء DevOps في الشركات التي يعمل بها أكثر من 5000 موظف أقل منها في الشركات التي يقل عدد موظفيها عن 5000 موظف. على الأرجح ، يرجع هذا إلى حقيقة أنه في المؤسسات الكبيرة ، العمليات الأكبر ، التحكم الأكثر صرامة ، بنية أكثر تعقيدًا لأنظمة تكنولوجيا المعلومات ، والتي تقدم تأخيرات في عملية تطوير التعليمات البرمجية وطرحها. في الوقت نفسه ، يعتقد الخبراء أن نطاق الشركة لا يعوق النجاح في بناء DevOps ، وقد يتطلب الأمر في بعض الحالات مزيدًا من الجهد.
كيفية تقييم مستوى DevOps في الشركة
قارن الخبراء بين عمليات DevOps ومعيار تقسم المشاركين في الاستقصاء إلى أربع مجموعات مع أفضل المؤشرات وجيدة ومتوسطة ومنخفضة.
تم اتخاذ أربعة مقاييس أساسية لتقييم فعالية DevOps للتقرير: الوقت المستغرق لإكمال التغييرات أثناء تطوير البرامج ، وتكرار النشر ، وتكرار حالات الفشل ، ووقت الاسترداد.
أربعة مستويات من DevOps - تقييم موقع شركتك:
كشفت الدراسة عن الاتجاه التالي: ارتفع عدد الفرق التي تتمتع بمستوى عالٍ من المؤشرات إلى ثلاثة أضعاف تقريبًا ، حيث ارتفعت من 7 ٪ من جميع المشاركين في عام 2018 إلى 20 ٪ في عام 2019.
توزيع فرق التطوير حسب مستويات الأداء.مقارنة بالفرق في المجموعة منخفضة الأداء ، فرق DevOps عالية الأداء:
- أكملت 208 مرات أكثر عمليات نشر الرمز.
- 106 مرات أقل من الوقت الذي يقضيه نشر الرمز.
- 7 مرات أقل عرضة لمواجهة الفشل.
- 2.604 مرات أسرع لاستعادة البرنامج بعد الفشل.
بالإضافة إلى ذلك ، من المرجح أن تحقق فرق DevOps ذات الدرجات العالية مرتين مقاييس الأداء التنظيمي أو تتجاوزها مقارنة بالفرق ذات الدرجات المنخفضة.
يعتقد العديد من الخبراء أنه من المستحيل تحقيق زيادة في جميع المؤشرات في نفس الوقت ، يجب علينا حل وسط. لذلك ، يعتقد بعض الناس أن زيادة سرعة نشر الإصدارات يمكن أن تؤثر سلبًا على موثوقية عملية تسليم البرامج وتوفير الخدمات. ومع ذلك ، فقد أظهرت الدراسات أن سرعة واستقرار النتائج لا يستبعد أحدهما الآخر.
في نمو عدد فرق DevOps ، لا أرى أي شيء يثير الدهشة ، إنه منطقي: فلسفة DevOps أصبحت الآن شعبية ، وعدد الشركات الناشئة ينمو.
ولكن ، في رأيي ، اختار الخبراء معايير غير صحيحة تمامًا لتقييم فعالية DevOps.
تقييمه بسرعة نشر الشفرة أمر غريب على الأقل. ينطبق هذا فقط على الشركات الناشئة ، حيث ستكون المعلمة الرئيسية هي السرعة التي يتم بها تقديم المنتج إلى السوق ، وغالبًا ما يتم عرض المنتج في شكل أولي. في مثل هذه الظروف ، فإن الآليات التي تسرع تطوير وتسليم الإنتاج تعتبر حيوية. ولكن بالنسبة للبرامج الراسخة ، مثل المالية أو الطبية ، فقد لا تكون معلمة تكرار الفشل - قد يكون الفشل غير مقبول.
وبالمثل ، مع وقت استرداد الخدمة: بالنسبة لأي خدمة مطورة ، يجب حسابها بالثواني ، وبالنسبة للعديد من الخدمات ، الخدمة البسيطة غير مقبولة ، ولهذا اخترعوا تقنيات التدحرج السلس (على سبيل المثال ، الأخضر / الأزرق).
أيضًا ، لا تركز على عدد عمليات نشر الشفرة - يعتمد ذلك على حاجة فريق التطوير وكفاءاته. إذا كان النشر يتضمن إضافة وظائف جديدة ، فهذا شيء واحد ، وإذا كان تصحيح الأخطاء التي ارتكبت أثناء عمليات النشر السابقة مختلفًا تمامًا.
دينيس رومانكو ، خبير مستقل Mail.ru Cloud Solutionsكيفية تحسين عمليات DevOps
يقدم التقرير مجالين من شأنه أن يساعد على تحسين DevOps: تحسين كفاءة تطوير البرمجيات وتقديمها وتحسين الإنتاجية.
يشتمل كل اتجاه على مكوناته الخاصة ، مما يمكنك من تحقيق الهدف المنشود.وفقا للتقرير ، فإن مفتاح التحول الرقمي هو ثقافة الشركات. تحتاج فرق DevOps عالية الفعالية إلى ثقافة الثقة والأمن النفسي وفهم نتائج العمل والأهداف الواضحة. مثل هذه البيئة تسمح لأعضاء الفريق باتخاذ قرارات مستنيرة ، والتعبير عن آرائهم وتكون أكثر إبداعًا.
كما ستساعد التقنيات السحابية ، والتسليم المستمر ، واختبار التعافي من الكوارث ، وإدارة التغيير في تحسين كفاءة تطوير البرمجيات وتقديمها. يمكن تحسين إنتاجية العمل من خلال الاستثمار في أدوات سهلة الاستخدام ، وخفض الديون الفنية ، أي تقليل نسبة الشفرات والتقنيات القديمة غير الفعالة ، وتنظيم قاعدة معرفية للشركات والوصول إلى الحلول الخارجية.
أعتقد أن منهجية وإيديولوجية DevOps هي بالتحديد أن هذه العمليات لا تعتمد على الظروف الخارجية ، مثل السحابة أو الأجهزة الخاصة بك. السحابة نفسها ليست أكثر من أداة ، في مكان ما سوف تساعد ، في مكان ما سوف تعيق أو لن تكون في حاجة إليها.
دينيس رومانكو ، خبير مستقل Mail.ru Cloud Solutionsأدناه ، سننظر في بعض مكونات تحسين كفاءة أوامر DevOps.
تساهم تقنية Cloud في نجاح DevOps
في عام 2019 ، اختارت المزيد والمزيد من المؤسسات الحلول السحابية التي تزيد بشكل كبير من إنتاجية فرق DevOps.
ما هي البنية التحتية التي تستخدم أوامر DevOps.وجدت DORA أن 80٪ من المشاركين يستضيفون
تطبيقات أو خدمات أساسية على نظام أساسي سحابي . ومع ذلك ، قام 29٪ فقط من المشاركين بتنفيذ الخصائص الخمس للحوسبة السحابية في المعهد الوطني للمعايير والتكنولوجيا - وهذا هو المعيار الأكثر أهمية لتقييم قيمة السحابة ضمن إطار DevOps.
ينتقل النظام الأساسي كخدمة (PaaS) بشكل متزايد نحو نموذج نشر متمركز حول الحاويات. تعمل الأنظمة الأساسية السحابية على تبسيط نشر البرامج ، لذلك لا تحتاج الفرق إلا إلى القلق بشأن تشغيل رمز التطبيق نفسه. توسيع نطاق وتخطيط الموارد ، وإدارة وصيانة البنية التحتية يذهب أيضا إلى جانب مقدمي الخدمات.
بالنسبة لموفري الخدمات السحابية ، يتمثل المعيار العالمي في توفير مجموعة متنوعة من الخدمات: شبكات الماكينات الافتراضية ، التحكم في الهوية والوصول (IAM) ، التخزين وقواعد البيانات ، التعلم الآلي ، إنترنت الأشياء (IoT) ، حلول الحاويات ، حلول الأمان وغيرها.
يدفع عملاء مزودي الخدمات السحابية فقط الموارد التي يستخدمونها ، والتي تضمن شفافية التكلفة ، على عكس مراكز البيانات التقليدية ، حيث يصعب أو يتعذر الحصول على معلومات حول تكلفة التطوير. يكون المستجيبون من الشركات التي تلبي الخصائص السحابية المذكورة أعلاه أكثر دقة بمقدار 2.6 مرة في تقدير تكلفة أعمال البرمجيات ، ويفهمون في كثير من الأحيان أكثر من التطبيقات التي تستهلك المزيد من الموارد ، وتبقى 1.65 مرة في حدود الميزانية المخصصة لتكنولوجيا المعلومات.
في بعض الأحيان ، يتضح أنه من المربح توظيف متخصص مختص واستيعاب القدرات المخصصة في مركز البيانات بدلاً من الدفع مقابل السحابة. الخيار الذي هو أفضل يعتمد على ملف الشركة وحجمها ، وتوافر موظفيها من المتخصصين في تكنولوجيا المعلومات والخبرة. على سبيل المثال ، تعتبر السحابة ملائمة للاستخدام في بداية النشاط التجاري أو إذا لم يكن لدى الشركة قسم تكنولوجيا معلومات خاص بها. عند القياس ، قد يكون احتواء كل أو جزء من البنية التحتية المحلية أكثر فعالية من حيث التكلفة.
دينيس رومانكو ، خبير مستقل Mail.ru Cloud Solutionsالممارسات الفنية DevOps
تبحث العديد من المنظمات التي ترغب في تطبيق DevOps عن مجموعة من التعليمات أو أفضل الممارسات. ومع ذلك ، لا توجد شركات متطابقة ، وبالتالي ، فإن ممارسات الاختيار تعتمد على الوضع الحالي للعمل وأهدافه.
في الوقت نفسه ، هناك اتجاهات عامة تساعد على تحسين كفاءة DevOps: تم تطوير بعضها على مستوى الفريق ، والبعض الآخر يحتاج إلى بذل الجهود على مستوى المنظمة.
ما هي اتجاهات النمو لفرق DevOps في عام 2019:
أكدت الدراسة التأثير الإيجابي للعمارة المزدوجة فضفاضة على أداء DevOps.
تتمثل البنية المزدوجة في إمكانية قيام الفرق باختبار ونشر وتعديل الأنظمة بشكل مستقل حسب الطلب ، بشكل مستقل عن الفرق الأخرى ، دون دعم إضافي ، موارد ، موافقة ، بتعليقات أقل. يتيح لك ذلك العمل بشكل أكثر كفاءة ، ولكنه يتطلب مستوى عالٍ من التنظيم والإدارة.
هذا النهج ممكن فقط للشركات الناشئة ومع بعض التحفظات. الشركات الأخرى قد يكون لها موقف مختلف. مثال جيد: المصرفية / المالية. يمكن استخدام حلول الملكية فقط هناك ، ولكن سيتم تطبيق ممارسات DevOps.
دينيس رومانكو ، خبير مستقل Mail.ru Cloud Solutionsفرق DevOps الناجحة تقوم بأتمتة كل شيء
يتيح لك
التكامل المستمر والتسليم (CI / CD) تقديم الخدمات والتطبيقات إلى المنتج بأقل تكلفة ومخاطر ، بالإضافة إلى الحفاظ على الإصدارات وفقًا لأهداف المنظمة.
يعني CI / CD الناجح أيضًا أنه يمكن للفرق تنفيذ التغييرات على الإنتاج عند الطلب ، ويمكنهم أن يروا على الفور ردود الفعل على جودة النشر ، ويمكن حلها بسرعة ويمكن تحسين دورة النشر التالية.
يوضح التقرير أن فرق DevOps الناجحة تستثمر في مجموعة واسعة من العمليات والممارسات والأدوات الداعمة:
- 92 ٪ استخدام أدوات التجميع الآلي.
- 87 ٪ استخدام اختبارات وحدة الآلي ؛
- 57 ٪ تمديد الأتمتة لاختبارات القبول ؛
- 72 ٪ أتمتة النشر في بيئات الاختبار ، 69 ٪ تفعل الشيء نفسه للنشر في الإنتاج ؛
- 69 ٪ دمج chatbots في عملية النشر ؛
- 57 ٪ تتكامل مع أدوات الرصد.
من المهم اختيار الأدوات والتكنولوجيا المناسبة.
عند بناء أنظمة معقدة وإدارة البنية التحتية الحيوية للأعمال ، من المهم اختيار التقنيات التالية:
- التي هي سهلة الاستخدام سواء أثناء الاتصال الأول وفي التشغيل المستمر ؛
- التي تساعد على تحقيق أهدافك.
فحص التقرير الأدوات المستخدمة لنشر البرامج عبر CI / CD ، واختبار أدوات التشغيل الآلي - هذه هي التقنيات التي تكمن وراء DevOps.
ما التقنيات التي تستخدم أوامر DevOps:
تؤثر ملاءمة الأدوات بشكل كبير على قدرة الفريق على زيادة قيمة مكدس التكنولوجيا المحدد: من المرجح أن ينتمي المهندسون الذين يمتلكون تقنيات سهلة الاستخدام بنسبة 1.5 مرة إلى فرق ذات معدلات عالية.
في رأيي ، يعطي هذا الجدول شعورًا بأنه من أجل أن يكون فريق DevOps ناجحًا ، فأنت بحاجة إلى متابعة التعديل وليس المهمة التقنية.
يختار الأخصائي المختص الأدوات اللازمة للمهمة ، وليس العكس. لحل أي مشكلة ، هناك دائما العديد من الأدوات والأساليب. يتم تحديد أداة محددة بواسطة: تفاصيل المهمة ؛ مدى معرفة الموظفين بهذه الأداة (ما مدى عتبة الإدخال إذا كانت الأداة جديدة) ؛ المكون المالي ، إن وجد.
دينيس رومانكو ، خبير مستقل Mail.ru Cloud Solutionsالتعافي من الكوارث
يجب أن يكون لدى كل مؤسسة يعتمد عملها على تشغيل البرنامج
خطة لاستعادة القدرة على العمل بعد الكوارث . يُظهر التقرير أنواع اختبارات تحمل الكوارث التي تستخدمها مختلف الشركات.
ما أنواع التجارب التي تستخدمها الشركات لاستعادة القدرة على العمل بعد الكوارث
يقوم 40٪ فقط من المشاركين بإجراء اختبارات التعافي من الكوارث سنويًا باستخدام واحد أو أكثر من هذه الطرق. في الوقت نفسه ، تتمتع الشركات التي تجري اختبارات التعافي من الكوارث بمستوى أعلى من توفر الخدمة. يوضح التقرير أن فرق DevOps ذات الأداء العالي تزيد على الأرجح 1.4 مرة في الاعتبار بيانات اختبار الاسترداد بعد عطل فادح في عمليات تطوير البرامج ونشرها.
من المهم أن تتمتع فرق DevOps بالوصول إلى المعلومات
إن الحفاظ على أداء أوامر DevOps على مستوى عالٍ سيساعد في استرجاع المعلومات بسهولة لحل المشكلات. هذا صحيح بشكل خاص في البيئة التكنولوجية الحديثة ، والتي تتكون من أنظمة معقدة.
يمكن تقسيم مصادر هذه المعلومات إلى مجموعتين:
- المصادر الداخلية : وثائق الشركة لإنشاء التعليمات البرمجية وصيانتها ، وقواعد معرفة الشركات ، والمستودعات ، والمزيد. كانت فرق DevOps التي استخدمت مصادر المعرفة الداخلية أكثر إنتاجية بمقدار 1.73 مرة.
- المصادر الخارجية : محركات البحث وتجديد المكدس. كانت فرق DevOps الخارجية أكثر إنتاجية بمقدار 1.67 مرة. توفر التقنيات الخارجية ميزة كبيرة للتعلم والنمو ، وخاصة استخدام السحب العامة وأدوات مفتوحة المصدر.
من المهم أن تخفض الشركات الديون الفنية
يشتمل الدين الفني على كود أو أنظمة بها أخطاء معروفة ولكنها ليست ثابتة ؛ تغطية اختبار غير كافية ؛ كود أو تصميم منخفض الجودة ؛ قطع أثرية غير مستخدمة ولكن غير محذوفة ؛ تطبيقات لا يمكن للفريق دعمها بفعالية ؛ التكنولوجيا التي عفا عليها الزمن. وثائق غير مكتملة أو قديمة.
لقد وجد الخبراء أن الدين التقني يؤثر سلبًا على أداء DevOps. الفرق ذات الديون التقنية العالية كانت أقل 1.6 مرة من الإنتاجية. وكانت الفرق ذات المعدلات المرتفعة أكثر عرضة للديون الفنية بنسبة 1.4 مرة.
النتائج الرئيسية من البحوث DevOps
- تضاعفت نسبة فرق DevOps عالية الأداء ثلاث مرات تقريبًا بنسبة 20٪. هذا يعني أن الأعمال تتفهم وعد الممارسات لتحسين تطوير البرامج وتسليمها ، وتقوم الشركات بإدخال DevOps بنشاط في أقسام تكنولوجيا المعلومات الخاصة بها.
- يقع التطبيق السريع وتقديم الخدمات في قلب التكنولوجيا والتحول التنظيمي. تزيد سرعة وثبات الإصدارات المتداولة من الأرباح ورضا العملاء.
- لا تزال تقنية Cloud هي المفتاح لتحقيق فرق DevOps عالية الأداء. يتيح لك استخدام السحب إمكانية تنظيم تسليم البرامج بالسرعة المناسبة ، ويوفر توفر البنية الأساسية وإمكانية تطويرها وإنتاجيتها.
- يمكن تحسين فعالية فرق DevOps إذا كنت تهتم بإنتاجية أعضاء الفريق وتوفر جوًا نفسيًا مريحًا واستخدام أدوات ملائمة.
- زيادة سرعة طرح الإصدارات مع النهج الصحيح لا يؤثر على استقرار خدمات الشركة وتطبيقاتها.