الملخص

مكتمل

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

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

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

كمكافأة، في هذه الوحدة النمطية، تعلمت أيضا كيفية إعادة توجيه تغيير غير مقصود عن طريق إعادة تثبيت Git ثم دفع التغيير المعاد عبر المسار.

كيف يقاس الفريق؟

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

تذكر أن نسبة النشاط، أو الكفاءة، هي وقت العملية مقسوما على إجمالي وقت العميل المتوقع:

$${Activity\ ratio\ =\ }{\dfrac{Process\ time}{Total\ lead\ time}}$$

استخدم فريق ويب Tailspin في البداية هذا المقياس لتحديد أنها كانت فعالة بنسبة 23 في المئة.

قام الفريق أولا بتقليص بعض أوجه القصور عند تنفيذ التكامل المستمر (CI). ومن خلال تطبيق التسليم المستمر (CD)، فقد خفضت الآن أوجه القصور إلى أبعد من ذلك.

في مسارات التعلم السابقة، خفض الفريق:

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

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

  • الوقت المستغرق لتسليم التعليمات البرمجية إلى أميتا، المختبر. الوقت المطلوب ذهب من يومين إلى صفر أيام.

    حقق الفريق هذا التحسين من خلال نقل عملية البناء الخاصة بهم إلى Azure Pipelines. تقوم Azure Pipelines بإعلام أميتا تلقائيا عند توفر بنية. لم يعد المطورون بحاجة إلى تحديث جدول بيانات أميتا لإعلامها.

  • الوقت الذي تستغرقه أميتا لاختبار الميزات الجديدة. وذهب الوقت المطلوب من ثلاثة أيام إلى يوم واحد.

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

خفضت البنية الأساسية لبرنامج ربط العمليات التجارية للإصدار الذي أنشأته أنت والفريق في مسار التعلم هذا:

  • الوقت المستغرق للحصول على البنية في مرحلة الاختبار . وذهب الوقت المطلوب من ثلاثة أيام إلى يوم واحد.

    حقق الفريق ذلك باستخدام مشغل مجدول للنشر إلى Test كل يوم في الساعة 3:00 صباحا.

  • الوقت المستغرق للحصول على البنية المختبرة في التقسيم المرحلي. الوقت المطلوب ذهب من يومين إلى صفر أيام.

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

  • الوقت المستغرق للحصول على البنية المعتمدة من التشغيل المرحلي للعيش. الوقت المطلوب انتقل من يوم واحد إلى أقل من يوم واحد.

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

تقلل هذه التغييرات إجمالي وقت المهلة من 22 يوما إلى 10 أيام. عندما نستبدل هذه الأرقام في المعادلة:

$${Activity\ ratio\ =\ }{\dfrac{5\ days}{10\ days}}{ = 0.50}$$

اضرب النتيجة بنسبة 100 في المئة، ونحصل على تخفيض بنسبة 50 في المئة .

على الرغم من أن هناك دائما مجالا للتحسين، فإن هذا التغيير يعد فوزا للفريق. ليس فقط العملاء يحصلون على القيمة بسرعة أكبر، بل يقضي فريق Tailspin الآن وقتا أقل في الانتظار والمزيد من الوقت في القيام بأكثر ما يستمتعون به: تقديم الميزات التي يعرفون أن عملائهم سيحبونها.

معرفة المزيد

استخدم هذه الموارد الإضافية لمعرفة المزيد حول App Service وفتحات التوزيع والتغييرات السابقة: