نموذج توزيع التسليم المستمر
- 4 دقائق
لقد تعلمت عن العديد من عيوب "النشر الملحمي" كنموذج لتوصيل البرمجيات، لكن معرفة ما لا يعمل جيدا هي نصف المعركة فقط. في هذه الوحدة، تتعلم عن البديل لتلك الطريقة الأحادية، وكيف يمكن أن تعزز هدفك في تحسين الموثوقية.
ومن الجدير أيضا التمييز بين مصطلحين مرتبطين يستخدمان أحيانا بالتبادل:
- التسليم المستمر: كل تغيير يجتاز الاختبارات الآلية جاهز للنشر في الإنتاج، لكن الإصدار الفعلي للإنتاج يكون مقيدا بموافقة يدوية.
- النشر المستمر: كل تغيير يجتاز الاختبارات التلقائية يطلق تلقائيا إلى الإنتاج، بدون بوابة يدوية.
كلاهما يعتمد على نفس الأسس (التكامل المتكرر، الاختبارات المؤتمتة، خطوط الأنابيب القابلة للتكرار). تركز هذه الوحدة على تلك الأسس المشتركة.
ما المقصود بالتسليم المستمر؟
التسليم المستمر هو طريقة يتم من خلالها الحفاظ على كل تغيير في قاعدة الكود الخاصة بك قابلا للنشر بطريقة أسرع وأقل توترا وأقل خطورة وأكثر قابلية للتكرار. بدلا من جعل كل نشر أو تحديث برمجي حدثا ملحميا، يحوله التسليم المستمر إلى تجربة سريعة وروتينية ومتوقعة تحدث عند الطلب.
تكرار التوزيع: مع نموذج التسليم المستمر، تحدث عمليات التوزيع في كثير من الأحيان. يمكن أن يكون الإيقاع شهريا، أسبوعيا، يوميا، أو حتى بالساعة. يكمن الحل الأساسي في توزيع تغييرات أصغر وأكثر تركيزاً في كثير من الأحيان.
يتم تفعيله بواسطة التزام الشيفرة: بدلا من انتظار نافذة إصدار مجدولة مسبقا جدا، يبدأ خط التسليم عند الالتزام بالكود. يمكن أن تكون التعليمات البرمجية هذه برنامجًا أو بنية أساسية أو حتى أشياء أخرى مثل تكوينات البرامج. يتم بناء كل تغيير واختباره والاحتفاظ به جاهزا للإصدار. اعتمادا على ضوابط منظمتك، يمكن أن يتم الترقية إلى الإنتاج لاحقا، بعد الموافقة.
الاختبار التلقائي: يمكنك استخدام الاختبار التلقائي المتكامل ليس فقط لاختبار التعليمات البرمجية، ولكن أيضا لتقديم ملاحظات سريعة حول نتائج هذه الاختبارات. هذه الملاحظات السريعة هي التي تسمح لك بالتكرار والتعافي من الاختبارات الفاشلة بسرعة.
بمجرد اختبار التعليمات البرمجية الخاصة بك، يمكنك اختبار نهاية النشر إلى النهاية في سلسلة من البيئات المرحلية مثل الاختبار و QA وما إلى ذلك. يصبح طرح عمليات التوزيع لديك من خلال هذه البيئات جزءًا متكاملاً من تجربة التوزيع.
السجلات التاريخية: لا تريد سجلا تاريخيا لأنشطة النشر فحسب، بل تريد أيضا أن تكون قادرا على التوفيق بين بيئة الإنتاج في أي وقت. تريد معرفة التوزيع الذي أنشأ بيئة الإنتاج الحالية لديك. باستخدام هذه المعرفة، يمكنك تتبع أشياء مثل التكوينات ونتائج الاختبار والرمز نفسه وصولا إلى طلب السحب الفردي الذي أدى إلى النشر.
أهداف التوزيع
الآن بعد أن عرفت كيف يعمل التسليم المستمر، فكر في الأهداف التي تساعدك ممارسات التسليم المستمر وأخرى في DevOps على تحقيقها عند نشر حلول البرمجيات.
الهدف 1: تقليل الضغط الذي ينطوي عليه توزيع الخدمات مع زيادة موثوقية تلك الخدمات
يقلل الضغط الناتج عن نشر البرمجيات والبنية التحتية يحسن التجربة اليومية للمهندسين الذين يديرونها. كما أن زيادة الموثوقية الناتجة تفيد المستخدمين النهائيين، الذين يرون انقطاعات واضطرابات أقل.
الهدف 2: تقليل الوقت بين وقت معرفة أن التغيير مطلوب ووقت توزيع هذا التغيير في الإنتاج
على سبيل المثال، افترض أنك حددت عيب في الكود يؤثر على الإيرادات وتعرف بالضبط كيف تصلحه. مع ممارسات DevOps الناضجة، يكون الطريق من الالتزام إلى الإنتاج قصيرا ومتوقعا. يتم بناء التغيير، واختباره تلقائيا عبر البيئات المعنية، وتحضيره للإصدار خلال دقائق. بمجرد الحصول على الموافقة المطلوبة، يمكن ترقيته للإنتاج بدلا من الاحتفاظ به لنافذة إصدار مستقبلية.
الهدف 3: تقليل الوقت بين وجود فكرة وتقديم برامج قابلة للاستخدام
هذا الهدف مشابه للهدف السابق، لكنه يركز على الابتكار بدلا من الإصلاحات. كم من الوقت يستغرق منك تنفيذ فكرة جديدة؟ مع هذا النموذج النشري، يمكنك دمج مفهوم جديد في نظام الإنتاج بثقة أن الإضافة لن تكسر أو تعيق النظام الحالي. هذه الثقة تتيح لك تقديم ميزات جديدة بسرعة.
نتائج التوزيع
الأهداف التي نوقشت في هذه الوحدة ليست مجرد طموحات نظرية، بل هي قابلة للقياس. منذ عام 2014، ينشر فريق أبحاث وتقييم ديف أوبس (DORA) بحثا سنويا عن حالة عمليات الديفاوبس حول أداء تقديم البرمجيات. في السنوات الأخيرة، تم نشر هذا العمل تحت عنوان تقرير تسريع حالة DevOps. يتتبع نموذج DORA الحالي خمسة مقاييس للتوصيل:
- تكرار النشر
- تغيير وقت الانتظار
- معدل فشل التغيير
- فشل وقت الاسترداد في النشر
- معدل إعادة العمل في النشر
عاما بعد عام، تظهر الأبحاث أن الفرق ذات الأداء الأعلى تقدم التغييرات بشكل أكثر تكرارا، وتنتقل من الالتزام إلى الإنتاج أسرع، وتتعافى من عمليات النشر الفاشلة أسرع، وتقضي وقتا أقل في إصلاح المشكلات المتعلقة بالنشر. للحصول على أحدث الأبحاث وتعريفات المقاييس، راجع مقاييس تقديم البرمجيات الخاصة ب DORA.
تؤكد هذه النتائج فكرة أن ممارسات النشر مهمة.
اختبر معلوماتك
الملاحظات
هل كانت هذه الصفحة مفيدة؟
لا
هل تحتاج إلى مساعدة مع هذا الموضوع؟
هل تريد محاولة استخدام Ask Learn لتوضيح هذا الموضوع أو إرشادك خلاله؟