ما علمتني إياه ست مؤسسات مختلفة عن CI/CD

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

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

النمط الأول: الجميع يبدأ من نفس الاحتياجات

بغض النظر عن المؤسسة، كل فريق يحتاج إلى ثلاثة أشياء:

  • طريقة لإرسال التغييرات إلى حيث يمكن للمستخدمين الوصول إليها
  • ثقة بأن هذه التغييرات لن تكسر شيئًا
  • طريقة لإصلاح المشكلات عندما تظهر حتمًا

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

هذه ليست نهجًا مختلفة. إنها نفس الإجابات لنفس الأسئلة، فقط بمستويات مختلفة من التعقيد.

النمط الثاني: المخاطر تحدد مقدار الأمان الذي تحتاجه

كلما كان تأثير الخطأ أكبر، زادت الضمانات التي تضيفها.

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

ملف المخاطر الخاص بك يحدد مدى إحكام عمليتك. لا تبنِ أمانًا أكثر مما تتطلبه مخاطرك الفعلية. ولا تبنِ أقل مما تتطلبه مخاطرك.

النمط الثالث: الأتمتة ليست الهدف

الأتمتة هي أداة لتقليل العمل اليدوي المتكرر. لا أحد يقوم بالأتمتة من أجل الأتمتة.

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

الأتمتة تحل ألمًا محددًا. إذا لم يكن لديك هذا الألم بعد، فلا تؤتمت بعد.

من أين تبدأ كل مؤسسة

الفرق ليس فيما يبنونه في النهاية. الفرق هو من أين يبدأون وماذا يعطون الأولوية أولاً.

شركة ناشئة تبدأ بأبسط خط أنابيب ممكن. تضيف الضمانات فقط عندما يبدأ شيء ما في التسبب بالألم.

شركة خاضعة للرقابة تبدأ بالامتثال. ثم تكتشف كيفية جعل العملية أسرع دون فقدان الامتثال.

شركة SaaS بعدة فرق تبدأ بالاتساق بين الفرق. ثم تضيف مرونة ضمن حدود متفق عليها.

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

فريق قواعد بيانات قديمة يبدأ بأنماط ترحيل آمنة. ثم يصلح عملية نشر التطبيق حولها.

فريق بنية تحتية يبدأ بالحوكمة. ثم يضمن أن تغييرات البنية التحتية لا تعطل التطبيقات التي تعمل فوقها.

كيفية تطبيق هذا على فريقك

لا يوجد نمط واحد يناسب كل مؤسسة. لكن هناك إطار عمل يمكنك استخدامه لمعرفة نقطة البداية الخاصة بك.

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

ثانيًا، ابحث عن دراسة الحالة التي تناسب حالتك أكثر. إذا كان فريقك صغيرًا، ابدأ بنمط الشركة الناشئة. إذا كنت تحت الرقابة التنظيمية، ابدأ بنمط الشركة الخاضعة للرقابة. إذا كان لديك عدة فرق، ابدأ بنمط SaaS متعدد الفرق.

ثالثًا، ابنِ طبقة أمان واحدة في كل مرة. ابدأ بخط أنابيب بسيط. أضف مراقبة أساسية. أضف خطوات الموافقة فقط للتغييرات عالية المخاطر. أضف الطبقة التالية فقط عندما تظهر الحاجة فعليًا.

قائمة مراجعة عملية سريعة

قبل أن تصمم خط الأنابيب التالي أو تضيف أداة أخرى، اسأل هذه الأسئلة:

  • ما هي المخاطرة الفعلية إذا فشل هذا التغيير؟
  • ما هي الخطوة اليدوية التي تسبب أكبر احتكاك الآن؟
  • هل يمكنني حل هذا بنهج أبسط قبل إضافة الأتمتة؟
  • هل هذه الضمانة تتطابق مع مستوى المخاطرة الفعلي، أم أنني أبالغ في الهندسة؟

الخلاصة الملموسة

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