كيف يتم تنفيذ إستراتيجية DevOps الناجحة؟

نشرت: 2022-06-29

مقدمة

DevOps هي إستراتيجية تطوير تركز على التعاون بين مطوري البرامج وموظفي عمليات تكنولوجيا المعلومات. ولكن هناك ما هو أكثر من تطبيق DevOps من مجرد مطالبة فرقك بالعمل معًا.

صاغ باتريك ديبوا مصطلح DevOps في عام 2009 المعروف أيضًا باسم "أبو DevOps". تتكون العملية من المراحل الرئيسية التالية:

  1. يخطط
  2. إنشاء / كود
  3. يبني
  4. اختبار
  5. إطلاق سراح
  6. نشر
  7. تعمل و
  8. مراقب

فيما يلي دليل لما يلزم لتنفيذ DevOps بنجاح والاستراتيجيات العديدة المختلفة للقيام بذلك.

لا تحاول أن تفعل كل شيء دفعة واحدة

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

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

افعل ما تستطيع عندما تستطيع

أول شيء عليك فعله هو جعل فريقك يستخدم الأدوات التي يحتاجونها. ابدأ بما هو متاح ، وأضف المزيد من الميزات كلما أصبحت أكثر راحة. لا تحاول أن تفعل كل شيء مرة واحدة ؛ ابحث عن شيء أو شيئين يناسبك ، ثم انتقل إلى التالي.

توظيف الأتمتة

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

ابدأ بالأدوات الموجودة لتطوير حلول مخصصة

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

  • إطار عمل أتمتة DevOps Jenkins Stack: مشروع مفتوح المصدر يدير دورة حياة تطوير البرامج بالكامل. يتضمن أدوات للتكامل المستمر (CI) والتسليم المستمر (CD) ، بالإضافة إلى مهام DevOps الشائعة الأخرى مثل الاختبار ، والبناء ، والتعبئة ، ونشر التعليمات البرمجية. يدعم العديد من أنظمة التشغيل بما في ذلك Linux و macOS.
  • Elasticsearch: محرك بحث يعتمد على Apache Lucene يوفر إمكانات بحث نص كامل لكميات كبيرة من البيانات غير المهيكلة في الوقت الفعلي عبر العديد من الخوادم. يتم استخدامه من قبل العديد من الشركات مثل Netflix أو PayPal حتى يتمكنوا من فهرسة جميع معاملاتهم التي تحدث داخل تلك الكيانات بسرعة كبيرة بسبب قدرتها على التوسع أفقيًا (وهذا يضيف المزيد من الحالات عند الحاجة).

ابدأ بالأدوات التي تندمج جيدًا مع ثقافتك

عندما تبدأ رحلة DevOps ، من المهم أن تفهم أنك لن تكون قادرًا على تغيير كل شيء مرة واحدة. لا يمكنك إجبار ثقافتك أو عملياتك أو أفرادك أو تقنيتك على التغيير ؛ إذا لم تتماشى مع أهداف DevOps و Agile التنمية ، فإنها ستعيق نجاحها.

بدلاً من محاولة فرض هذه العناصر في قالب ثابت لا يتناسب مع كيفية عمل عملك اليوم ، ابحث عن الأدوات المصممة خصيصًا لفرق البرامج التي تتبنى منهجيات Agile - واسمح لهم بمجال للنمو بينما ينمو الفريق قدراته بمرور الوقت .

ركز على التعاون والحصول على أفضل العقول عندما تستطيع

لكن العثور على هذه الموارد وتوظيفها ليس بالأمر السهل.

لحسن الحظ ، هناك العديد من الخيارات الرائعة للحصول على المساعدة:

  • ابحث عن المساعدة من الشركات الأخرى التي نفذت DevOps بالفعل. سيكونون قد تعلموا بالفعل بعض الدروس الصعبة ، ويمكن أن يقدموا لك النصيحة بناءً على تجربتهم الخاصة.
  • يمكن أن يكون المستشارون أيضًا خيارًا جيدًا إذا لم يكن لديك الوقت لتعلم خصوصيات وعموميات DevOps بنفسك. إنهم يميلون إلى معرفة الأسئلة التي يجب طرحها وأين يبحثون عن إجابات ؛ هم أيضًا أكثر احتمالية من الموظفين في الشركات الأخرى (الذين قد يركزون على وظائفهم اليومية) لأنهم مدفوعون بالمال بدلاً من مجرد مشاركة المعرفة. * توفر مجتمعات المصادر المفتوحة مثل GitHub موارد إضافية بعد تعلم كيفية عملهم معًا من خلال التعاون. * قد تكون الدورات التدريبية خيارًا آخر إذا كنت تريد خبرة شخص آخر بالإضافة إلى أو بدلاً من استخدام مستشار خارجي. * تقدم كتب مثل The Phoenix Project نظرة داخلية حول كيفية تنفيذ شركة واحدة DevOps بنجاح ؛ غالبًا ما يكتبها أفراد شاركوا في تنفيذها بأنفسهم بدلاً من مجرد المراقبة من بعيد.

المراقبة الآلية وإعداد التقارير

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

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

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

اجعل عملائك على اطلاع ، فقد لا يحبون المفاجآت

لنفترض أن مؤسستك تقوم بتنفيذ قاعدة تعليمات برمجية جديدة لتطبيق الويب بأكمله. أنت تعلم أن هذا سيؤثر على المستخدمين النهائيين وأنهم لن يعجبهم إذا فوجئوا بالتغيير.

يمكنك تحذيرهم ومنحهم الوقت للاستعداد للتغيير ، أو يمكنك الانتظار حتى يتم نشره ثم شرح ما حدث ، ولماذا حدث ، وكيف يمكنهم مساعدة أنفسهم على التعود على التغييرات.

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

ابدأ صغيرًا ، أتمتة ، راقب التقدم والتحسين

تتمثل أفضل إستراتيجية لتنفيذ DevOps في البدء على نطاق صغير وأتمتة ومراقبة التقدم بمرور الوقت.

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

أتمتة: هناك العديد من الأدوات المتاحة التي يمكن أن تساعد في أتمتة أجزاء من عملية التطوير الخاصة بك (خوادم التكامل المستمر مثل Jenkins أو TeamCity) ، ولكن قد تكون هناك بعض الأشياء التي ليس لديها أي أدوات متوفرة حتى الآن - مثل إعداد النسخ الاحتياطية للإنتاج الخوادم في قوالب AWS CloudFormation - لذا تأكد من تضمين هذه الأشياء في خطة التشغيل الآلي قبل المضي قدمًا في أي شيء آخر!

مراقبة التقدم بمرور الوقت: سيسمح وضع المقاييس لجميع المعنيين (بما فيهم أنت) بتقييم مدى سير الأمور بمرور الوقت حتى نتمكن من إجراء التعديلات حسب الحاجة في كل خطوة من رحلتنا نحو الأتمتة الكاملة!

استنتاج

نأمل أن يكون لديك الآن فهم أفضل لكيفية عمل DevOps لمؤسستك. كما رأينا ، فإن فريق DevOps مليء بالموارد والأدوات المفيدة التي يمكن أن تساعدك على البدء والاستمرار بمجرد إجراء النقل الأولي. مفتاح التنفيذ الناجح هو البدء بما تعرفه بالفعل ، ثم التكرار عليه حتى يتم إتقانه. من خلال القيام بذلك ، ستتمكن من تنفيذ إستراتيجية DevOps فعالة دون كسر ميزانيتك أو تحميل فريقك بمسؤوليات جديدة!

الصورة المميزة: سير عمل DevOps: المصدر: Pease ، 2017.

المؤلف السيرة الذاتية:

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