التراجع والتعافي من الكوارث
صمّموا إجراءات فعّالة للتراجع وخططًا للتعافي من الكوارث وطبّقوها ضمن مسارات CI/CD.
التراجع والتعافي من الكوارث درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
تحدث مشكلات غير متوقعة!
لا تسير عملية تطوير البرامج بسلاسة دائمًا. ففي بعض الأحيان، تؤدي عمليات النشر الجديدة إلى ظهور أخطاء أو تعطيل ميزات موجودة. وهنا يأتي دور عمليات التراجع والتعافي من الكوارث.
وهما أمران بالغا الأهمية للحفاظ على استقرار النظام وثقة المستخدمين.
فهم عمليات التراجع
التراجع هو عملية إعادة نظام أو تطبيق إلى حالة سابقة ومستقرة بعد عملية نشر تتضمن مشكلة. وهو يشبه زر "التراجع" عن التغييرات الأخيرة.
عادةً ما تُفعَّل عمليات التراجع بسرعة لتقليل أثر الإصدار المعيب واستعادة العمليات الطبيعية.
أساليب التراجع الشائعة
توجد عدة طرق لتنفيذ التراجع، ويعتمد اختيار الطريقة على استراتيجية النشر لديكم:
- التراجع عن التعليمات البرمجية: نشر الإصدار السابق المعروف بسلامته من التعليمات البرمجية لتطبيقكم.
- تحويل حركة المرور: إعادة توجيه حركة مرور المستخدمين بعيدًا عن الإصدار الجديد المعيب إلى الإصدار القديم.
- التراجع عن قاعدة البيانات: إعادة مخطط قاعدة البيانات أو تغييرات البيانات إلى حالتها السابقة، وغالبًا ما يكون ذلك الجزء الأكثر تعقيدًا.
أتمتة عمليات التراجع باستخدام Actions
يمكن لـ GitHub Actions أتمتة إجراءات التراجع. ويمكنكم إنشاء مسارات عمل تُفعَّل عند وقوع أحداث محددة (مثل التشغيل اليدوي) لإعادة نشر إصدار سابق ومستقر أو التراجع عن تغييرات البنية الأساسية.
يضمن ذلك عملية تراجع سريعة ومتسقة وأقل عرضة للأخطاء، مما يقلل الأخطاء البشرية في المواقف العصيبة.
سير عمل للتراجع اليدوي
إليكم طريقة إعداد مشغّل يدوي لنشر إصدار سابق محدد (مثل وسم أو تجزئة commit). يستقبل سير العمل هذا إدخالًا باسم version من المستخدم.
name: Manual Rollback Deployment
on:
workflow_dispatch:
inputs:
version:
description: 'Tag or commit hash to deploy'
required: true
default: 'main'
jobs:
rollback:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.version }}
- name: Deploy previous version
run: |
echo "Deploying version: ${{ github.event.inputs.version }}"
# Add your specific deployment commands here
# e.g., helm upgrade, kubectl apply, etc.
ما بعد التراجع: التعافي من الكوارث
يُعد التعافي من الكوارث (DR) استراتيجية أوسع للتعافي من أنظمتكم وبياناتكم بعد وقوع حدث كارثي. وقد يكون ذلك انقطاعًا في مركز البيانات أو كارثة طبيعية أو هجومًا إلكترونيًا كبيرًا.
وعلى خلاف التراجع، الذي يعالج عملية نشر سيئة، يهدف التعافي من الكوارث إلى استعادة الخدمة كاملةً بعد فشل النظام بالكامل أو فقدان البيئة الأساسية.
تخطيط التعافي من الكوارث في CI/CD
عند التخطيط للتعافي من الكوارث في مسارات CI/CD لديكم، ضعوا الأمور التالية في الحسبان:
- النسخ الاحتياطية: إنشاء نسخ احتياطية دورية للبيانات والإعدادات والملفات الناتجة.
- التكرار: النشر عبر مناطق متعددة أو مناطق توافر متعددة.
- مسارات التعافي: تخصيص مسارات عمل لاستعادة الخدمات من النسخ الاحتياطية أو نشرها على بنية أساسية جديدة.
- الاختبار: اختبار خطة التعافي من الكوارث دوريًا للتأكد من عملها عند الحاجة.
تخزين نواتج الإنشاء للتعافي
يمكن لـ GitHub Actions تخزين نواتج الإنشاء، وهي عناصر بالغة الأهمية للتعافي من الكوارث. وقد تتضمن هذه العناصر الملفات الثنائية المترجمة أو صور Docker أو بيانات نشر البيان. ويمكنكم رفعها أثناء نجاح عملية الإنشاء.
بعد ذلك، يمكن تنزيل هذه النواتج ونشرها كجزء من سير عمل التعافي من الكوارث في بيئة جديدة.
name: Build and Archive Artifacts
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Build application
run: |
echo "Building app..."
mkdir -p build_output
echo "App version 1.0.0" > build_output/app.txt
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: application-build
path: build_output/
اختبار التراجع مقابل التعافي من الكوارث
تسبب نشر ميزة جديدة في حدوث خطأ حرج جعل تطبيقكم غير قابل للوصول. ما الاستراتيجية المستخدمة أساسًا لإصلاح هذه المشكلة المحددة بسرعة واستعادة الخدمة؟
التراجع والتعافي من الكوارث: أهم النقاط
استكشفنا في هذا الدرس المفاهيم الأساسية للتراجع والتعافي من الكوارث. وتعلّمنا أن عمليات التراجع تعيد عمليات النشر المعيبة بسرعة إلى حالتها السابقة، بينما يركز التعافي من الكوارث على استعادة الأنظمة بعد الأعطال الكبرى.
يمكن أن يؤدي GitHub Actions دورًا مهمًا في أتمتة كلتا العمليتين، مما يضمن مرونة تطبيقاتكم وتقليل انقطاع الخدمة الذي يواجهه المستخدمون.
الأسئلة الشائعة
هل درس «التراجع والتعافي من الكوارث» مجاني؟
نعم — نص درس «التراجع والتعافي من الكوارث» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ماذا ستتعلم في «التراجع والتعافي من الكوارث»؟
صمّموا إجراءات فعّالة للتراجع وخططًا للتعافي من الكوارث وطبّقوها ضمن مسارات CI/CD. تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟
لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «التراجع والتعافي من الكوارث»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟
نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- عمليات النشر الأزرق/الأخضر
- إصدارات Canary باستخدام Actions
- التراجع والتعافي من الكوارث
- علامات الميزات وعمليات الطرح التدريجي