هناك الكثير من استراتيجيات النشر التي يمكنك الاختيار من بينها هذه الأيام، ومع مرور الوقت، لن يكون هناك سوى المزيد. ومع ذلك، فإن اثنتين من استراتيجيات النشر الأكثر شيوعًا التي تستخدمها بعض أكبر الشركات اليوم هما استراتيجيات النشر Canary وBlue-green.
عند مقارنة النشر باللونين الأزرق والأخضر مقابل إصدار Canary، فإن الأمر لا يتعلق فقط بالسرعة أو البساطة؛ أحد أهم العوامل التي يجب مراعاتها عند اختيار إحدى هذه الاستراتيجيات هو وقت توقف النشر.
لتقليل وقت توقف النشر وتوفير انتقال سلس عند نشر التحديثات أو التعديلات، يعد اختيار الخيار الأكثر ملاءمة من نشر Canary مقابل Blue-Green أمرًا بالغ الأهمية.
لذلك، دعونا نتناول ما تقدمه كل استراتيجية، بما في ذلك المقارنة المباشرة بين نشر Blue-Green مقابل Canary وتجربتنا الخاصة مع نشر Canary مقابل نشر Blue-Green.
ما هو النشر الأزرق والأخضر، وماذا يقدم؟
في استراتيجية النشر باللونين الأزرق والأخضر، يمكن نشر الإصدار الجديد من التطبيق على الفور بمجرد اختباره والتحقق من صحته. وهذا بفضل البيئتين المتطابقتين: البيئتين الزرقاء والخضراء، ومن هنا جاء اسم النشر الأزرق والأخضر.
يعمل هذا لأن إحدى هذه البيئات نشطة، والأخرى غير نشطة. وهذا يعني أنه يمكن نشر الإصدار الجديد من التطبيق في البيئة غير النشطة (على سبيل المثال، البيئة الخضراء). نظرًا لأن هاتين البيئتين متطابقتان تمامًا من حيث الموارد والبنية التحتية والتكوينات، فيمكن حل أي مكامن الخلل في التحديث قبل نشره بالكامل.
بمجرد اختبار التحديث واقتناع المطورين بأنه يعمل، يتم تحويل حركة المرور المباشرة إلى هذه البيئة غير النشطة. وهذا يجعل البيئة غير النشطة (البيئة الخضراء) هي البيئة النشطة والبيئة النشطة سابقًا (البيئة الزرقاء) غير نشطة.
الآن، تصبح البيئة الزرقاء غير النشطة هي وضع الاستعداد ويمكن استخدامها لاختبار التحديثات الأحدث بينما تكون البيئة الخضراء نشطة، وتقوم بتشغيل التحديث الذي تم نشره حديثًا. بهذه الطريقة، لا يوجد أي توقف فعليًا حيث يتم تغيير حركة المرور على الفور إلى البيئة غير النشطة.
بالإضافة إلى ذلك، إذا كان التحديث به أية مشكلات، فإن ميزة التراجع تسمح لك بالتبديل مرة أخرى إلى الإصدار الأقدم من التطبيق الخاص بك. ومع ذلك، إذا ظهرت مشكلات عندما بدأ المطورون العمل على تحديث جديد في البيئة غير النشطة، فلن يعد الرجوع إلى هذه البيئة قابلاً للتطبيق، حيث لم يعد الإصدار الأقدم متاحًا في هذه البيئة أيضًا.
في حين أن العديد من الشركات والمؤسسات تستخدم هذه الإستراتيجية، يمكن رؤية أحد الأمثلة على هذه الإستراتيجية أثناء العمل على Spotify. نظرًا لأن خدمات Spotify يجب أن تكون متاحة على مدار 24 ساعة طوال أيام الأسبوع، فهي تتمتع دائمًا بنسخة احتياطية وبيئة غير نشطة جاهزة عند إصدار تحديثات جديدة.
ما هو نشر Canary، وماذا يقدم؟
يتمثل الاختلاف الرئيسي بين نشر Canary مقابل Blue-Green في أنه بدلاً من وجود بيئتين حيث يتم نشر التحديثات مرة واحدة لجميع المستخدمين، في استراتيجية نشر Canary، يتم إصدار التحديثات أولاً لمجموعة صغيرة من المستخدمين.
إذا كان التحديث يحتوي على أية مشكلات، فلن يواجهها سوى جزء صغير من المستخدمين ويقدمون تعليقاتهم. بمجرد حل المشكلات، يتم إصدار التحديث لجزء أكبر من المستخدمين، حيث يتركون تعليقات للمطورين إذا واجهوا أي مشكلات.
يتم تكرار هذه الدورة مع أجزاء أكبر بشكل متزايد من المستخدمين، ويتم حل جميع مشكلات التحديث حتى يتم إصدار التحديث إلى 100% من المستخدمين. على سبيل المثال، في البداية، سيتم إصدار التحديث فقط لـ 2%، ثم 25%، ثم 75%، وأخيرًا 100% من المستخدمين.
يوفر هذا الإصدار التدريجي في نشر Canary مقابل Blue-Green طرحًا أكثر تحكمًا ومرونة، مما يسمح للمطورين باختبار الميزات والتحديثات في بيئة خاضعة للتحكم حيث يواجه جزء صغير فقط مشكلات محتملة.
وأخيرًا، يقدم Canary أيضًا ميزة التراجع المماثلة؛ ومع ذلك، نظرًا لأن النشر يتم بشكل تدريجي وعلى مراحل، فإن التراجع الذي يتم في Canary يتم أيضًا بشكل تدريجي وعلى مراحل حتى يتم الوصول إلى إصدار مستقر.
ومن الأمثلة المعروفة على استراتيجية النشر هذه استخدام Netflix لـ Canary جنبًا إلى جنب مع أداة تسمى Chaos Monkey، والتي تتسبب عن عمد في حدوث أعطال في نظامها. إذا أثر الفشل على بيئة الكناري، فيمكن لفريق Netflix تحليل كيفية استجابة النظام وتعديله وفقًا لذلك. بهذه الطريقة، يمكن لـ Netflix التحقق من أن التحديث يظل مستقرًا ومرنًا حتى في ظل الظروف المعاكسة.
النشر الأزرق والأخضر مقابل. كناري
توفر كل من استراتيجيات النشر هذه فوائد فريدة خاصة بها؛ ومع ذلك، لديهم أيضًا حدودهم. لهذا السبب من المهم الموازنة بين إيجابيات وسلبيات تطوير Blue-Green مقابل Canary قبل اتخاذ القرار.
إذا كنت لا تزال غير متأكد من أي واحدة يجب أن تذهب بعيدًا بعد هذا القسم، فقد قمت أيضًا بتضمين تجربتنا مع هاتين الاستراتيجيتين وما تعلمناه في نهاية هذه المقالة.
تقليل وقت التوقف عن العمل
أحد الاهتمامات الرئيسية وتركيز هذه المقالة هو تقليل وقت توقف النشر للنشر باللون الأزرق والأخضر مقابل نشر Canary. إحدى الميزات القوية لنشر Blue-Green هي سرعته، حيث يمكنك نشر تحديث التطبيق الخاص بك أو الميزة على الفور من خلال استخدام البيئتين الخاصتين به.
من ناحية أخرى، يتيح نهج النشر التدريجي لـ Canary الحد الأدنى من فترات التوقف عن العمل، حيث لا تواجه مجموعة فرعية صغيرة من المستخدمين المشكلات فحسب، بل نظرًا لتقديم التعليقات في كل مرحلة، يمكن إجراء استكشاف الأخطاء وإصلاحها بشكل أسرع بكثير ودون أي توقف عن العمل.
بالإضافة إلى ذلك، في حين أن كلا الخدمتين توفران ميزات التراجع، فإن ميزة التراجع في نشر Blue-Green تكون فورية، مما يمنح المطورين نسخة احتياطية موثوقة في حالة حدوث أي مشكلات كبيرة. ومع ذلك، كما ذكرت سابقًا، لن يكون الإصدار الاحتياطي متاحًا إذا كان العمل على إصدار أحدث يتم في بيئة غير نشطة.
لا يمكن استخدام ميزة التراجع في Canary إلا بشكل تدريجي، تمامًا مثل عملية النشر الخاصة بها. ومع ذلك، فهو متاح دائمًا نظرًا لأن الإصدار الأقدم والمستقر لا يعتمد على البيئة التي يتم فيها اختبار التحديثات الأحدث والعمل عليها.
فيما يتعلق بتقليل وقت توقف النشر، عند مقارنة نشر Canary مقابل Blue-Green، فإن Canary تتفوق من حيث التحكم في المخاطر والتحكم الدقيق؛ ومع ذلك، إذا كنا نفكر فقط في تقليل وقت التوقف عن العمل، فإن اللون الأزرق والأخضر هو الأفضل بين الاثنين نظرًا لأن التبديل يتم بشكل فوري.
ومع ذلك، عند مناقشة نشر اللونين الأزرق والأخضر مقابل نشر Canary، من المهم أيضًا مراعاة عوامل أخرى غير تقليل وقت التوقف عن العمل.
نوع التطبيق
بشكل عام، يمكننا تقسيم التطبيقات إلى تطبيقات كثيفة المعاملات أو تطبيقات تعتمد على المحتوى. في التطبيقات كثيفة المعاملات، يعد نشر Blue-Green خيارًا أفضل بكثير نظرًا لتوفر الخدمة العالية والحد الأدنى من وقت التوقف عن العمل باعتباره أولوية، ولهذا السبب فإن ميزات التبديل الفوري والتراجع الفوري لـ Blue-Green تضعه في مقدمة Canary.
ومن ناحية أخرى، لا تعتمد التطبيقات المبنية على المحتوى على المعاملات في الوقت الفعلي. نظرًا لأن هذه التطبيقات تُستخدم عادةً لمنصات الوسائط الاجتماعية وخدمات مشاركة المستخدم، فإن Canary تعد استراتيجية أفضل بكثير حيث يمكنك نشر التحديثات تدريجيًا وتلقي التعليقات باستمرار في كل مرحلة.
تكاليف البنية التحتية
هناك شاغل رئيسي آخر عند الاختيار بين نشر Blue-Green مقابل نشر Canary وهو التكاليف. وبطبيعة الحال، في النشر باللونين الأزرق والأخضر، ستكون التكاليف أعلى حيث يلزم الحفاظ على بيئتين فرديتين.
ولهذا السبب تعد بيئة الإنتاج الفردية في Canary خيارًا أكثر ملاءمة من حيث التكلفة، مما يجعلها خيارًا أكثر ملاءمة للفرق الصغيرة أو التطبيقات الأقل استهلاكًا للموارد.
قابلية التوسع والصيانة على المدى الطويل
وأخيرًا، على الرغم من إمكانية توسيع نطاق عمليات النشر باللونين الأزرق والأخضر، فإن الحفاظ على بيئتين كاملتين للتطبيقات واسعة النطاق يمكن أن يكون كثيف الاستخدام للموارد ومعقدًا. مع مرور الوقت، يمكن أن تؤدي إدارة البيئات المكررة وصيانتها إلى إضافة أعباء كبيرة، خاصة بالنسبة للتطبيقات ذات احتياجات البنية التحتية المعقدة.
وهذا يجعل نشر Canary مقابل Blue-Green من حيث قابلية التوسع والصيانة أمرًا سهلاً إلى حد ما. مع نشر Canary، غالبًا ما تكون قابلية التوسع أبسط وأكثر فعالية من حيث التكلفة، لأنها لا تتطلب بيئات مكررة.
وبدلاً من ذلك، فهو يركز على التوسع داخل البيئة الأساسية من خلال التوسع التدريجي لقاعدة المستخدمين المعرضة للتغييرات الجديدة. يعد هذا الإعداد أكثر قابلية للإدارة على المدى الطويل، لأنه يقلل من تعقيد البنية التحتية ويبسط الصيانة.
تجربة Cloudzy مع النشر الأزرق والأخضر مقابل. نشر الكناري
عند تقديم خدمات DevOps للعملاء، فإننا ندرك أن رضا العملاء والتوافر العالي والحد الأدنى من وقت التوقف عن العمل أمر بالغ الأهمية لنجاح أعمالهم. في إحدى الحالات المحددة، اتصل بنا أحد العملاء للمساعدة في ترقية البنية التحتية الرئيسية. تم تكليف الفريق بالاختيار بين نشر اللون الأزرق والأخضر ونشر نظام Canary لنظامهم.
بعد قدر كبير من التفكير، قررنا أولاً تجربة النشر باللونين الأزرق والأخضر نظرًا لأنه لا يوفر أي توقف فعليًا. لقد أنشأنا بيئة خضراء متطابقة واستعدنا لبدء الترقية. كان هناك الكثير من الضغط لأنه، بضغطة زر واحدة، سيتم تحويل كل حركة المرور إلى البيئة الخضراء، وكما يعلم المطورون، بغض النظر عن مدى اختبار هذه الأشياء، لا يزال الأمر بمثابة رمي النرد حول كيفية ظهور ذلك.
والحمد لله، كل شيء سار على ما يرام. كان الانتقال سلسًا كالزبدة، ولم نواجه أية مشكلات تقريبًا. بمرور الوقت، ومع نمو خدمات عملائنا ومستخدميهم، احتجنا إلى طرح ميزات جديدة، واندلع الجدل حول Blue-Green مقابل Canary مرة أخرى.
ومع ذلك، هذه المرة، لم يكن هناك الكثير من النقاش. كانت هذه ميزات أصغر نسبيًا وبالتأكيد ليست على نطاق تحديث البنية التحتية. لذلك، بطبيعة الحال، اخترنا Canary نظرًا لأنه يمكننا طرح الميزات لأجزاء صغيرة من قاعدة مستخدمي عملائنا وحل أي مشكلات لديهم من خلال تعليقات المستخدمين.
كان هذا بالتأكيد هو القرار الصحيح، فبينما لم نواجه أي مشكلات كبيرة، بدأت بعض المشكلات الصغيرة في الظهور، والتي أبلغ عنها 5% من قاعدة مستخدمي عملائنا الذين تم طرح الميزة لهم.
في Cloudzy، نحن نؤمن بقوة الحلول المخصصة. سواء كانت شركتك تحتاج إلى موثوقية نشر Blue-Green أو مرونة نشر Canary، فإن فريق DevOps لدينا يتمتع بالخبرة والمعرفة اللازمة لتنفيذ أفضل استراتيجية للبنية التحتية الخاصة بك. اتصل بنا هنا اليوم لنتعلم كيف يمكننا تحسين عملية النشر الخاصة بك والحفاظ على سير عملياتك بسلاسة.
عند الحديث عن VPS، فإننا نقدم بعضًا من أقل الأسعار في صناعة VPS مع ميزات تشمل أكثر من 12 موقعًا حول العالم، واتصالات إنترنت مخصصة تصل إلى 10 جيجابت في الثانية، وتخزين NVMe SSD للمؤسسات، ومعالجات AMD EPYC القوية بسرعة 3.23 جيجا هرتز، ووقت تشغيل بنسبة 99.95%. تحقق من لدينا تسعير VPS لمزيد من التفاصيل.
الأفكار النهائية
في نهاية المطاف، لا يمكنك القول حقًا أن أحدهما أفضل من الآخر بأي طريقة رئيسية عند مناقشة نشر Canary مقابل نشر Blue-Green. إنها مجرد مسألة حالات استخدام وأيها يناسب احتياجاتك المحددة.
الأسئلة الشائعة
ما هو الفرق الرئيسي بين عمليات النشر باللونين الأزرق والأخضر والكناري؟
يتمثل الاختلاف الرئيسي بين إستراتيجيات نشر Blue-Green وCanary في كيفية إصدار التحديثات. يستخدم النشر الأزرق والأخضر بيئتين متطابقتين، مع تطبيق التحديثات على البيئة غير النشطة، مما يسمح بالتبديل الفوري دون أي توقف فعليًا. في المقابل، يقوم نشر Canary بإصدار التحديثات تدريجيًا لمجموعة صغيرة من المستخدمين أولاً، ومراقبة المشكلات قبل نشرها تدريجيًا إلى قاعدة المستخدمين بأكملها.
هل النشر باللونين الأزرق والأخضر أم النشر الكناري أفضل لتقليل وقت التوقف عن العمل؟
يعد النشر باللونين الأزرق والأخضر أفضل بشكل عام لتقليل وقت التوقف عن العمل لأنه يسمح بالتبديل الفوري بين البيئات. وهذا يقلل من أي اضطرابات محتملة. في حين أن نشر Canary يهدف أيضًا إلى تقليل وقت التوقف عن العمل، فإنه يفعل ذلك من خلال الطرح التدريجي الذي قد يتضمن بعض المشكلات البسيطة والمحلية التي تؤثر فقط على مجموعة فرعية صغيرة من المستخدمين.
ما هي اعتبارات التكلفة لعمليات النشر باللونين الأزرق والأخضر مقابل نشر الكناري؟
عادةً ما تكون عمليات النشر باللونين الأزرق والأخضر أكثر تكلفة لأنها تتطلب صيانة بيئتين كاملتين. من ناحية أخرى، تعتبر عمليات نشر Canary أكثر فعالية من حيث التكلفة لأنها لا تتطلب بنية تحتية مكررة؛ يتم نشر التحديثات داخل البيئة الأساسية، مما يجعلها خيارًا أفضل للفرق الصغيرة أو التطبيقات الأقل استهلاكًا للموارد