مشاركة عبر


سلسلة أدوات DevOps

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

تعمل الأدوات التي تتضمنها سلسلة أدوات DevOps كوحدة متكاملة للتخطيط والتكامل المستمر والتسليم المستمر والعمليات والتعاون والملاحظات. يمكنك مراجعة بعض الأمثلة على تقنيات DevOps عبر مراحل DevOps المختلفة في تحديد النظام البنائي لتقنية DevOps.

اعتبارات سلسلة أدوات DevOps

  • يمكن أن تكون عمليات DevOps قيد الاستخدام بالفعل عبر مؤسستك عند تحديد سلسلة أدوات. يجب أن تجد التوازن الصحيح بين اعتماد التقنيات المناسبة لاحتياجات فريقك وهدف توحيد وتجنب أنظمة DevOps البيئية غير المتجانسة عبر مؤسستك.

  • يمكنك اعتماد أنواع مختلفة من سلاسل أدوات DevOps:

    • الكل في واحد: يوفر حلا كاملا قد لا يتكامل مع أدوات الجهات الخارجية الأخرى. يمكن أن تكون سلاسل الأدوات الكل في واحد مفيدة للمؤسسات التي تبدأ رحلة DevOps الخاصة بها. مثال: سلسلة أدوات Azure DevOps المكدس الكامل.
    • مخصصه: يسمح للفرق بإحضار ومزج الأدوات الموجودة التي يعرفونها ولديهم بالفعل قيد الاستخدام في سلسلة أدوات DevOps الأوسع. التكامل ضروري لهذه الأنواع من سلاسل الأدوات لتجنب قضاء وقت غير ضروري في التبديل بين الشاشات، وتسجيل الدخول إلى أماكن متعددة، وتحدي مشاركة المعلومات بين الأدوات. مثال: Azure DevOps وسلسلة أدوات GitHub.
  • ضع في اعتبارك استخدام سلاسل الأدوات التي يتم تحديثها بانتظام والتي تتوفر لها المساعدة كلما احتجت إليها من خلال البريد الإلكتروني أو المدخل عبر الإنترنت. هذا شرط لأي منتج أو خدمة على المسار الحرج إلى السوق.

التخطيط

  • ضع في اعتبارك اعتماد أداة تدعم ممارسات التخطيط المستمر :
    • تخطيط الإصدار
    • التعريف الملحمي والميزات
    • تحديد الأولويات
    • تقدير
    • تعريف قصة المستخدم
    • تحسين التراكم
    • تخطيط الدورة المتكررة
    • Scrum اليومي
    • مراجعة الدورة المتكررة
    • اثر رجعي

التكامل المستمر والتسليم المستمر

  • عند تنفيذ التكامل المستمر (CI)/التسليم المستمر (CD)، ضع في اعتبارك اعتماد أداة تدعم:
    • أنظمة التحكم بالإصدار. يجب إيداع كل شيء في مشروعك في مستودع تحكم إصدار واحد مثل Git: التعليمات البرمجية والاختبارات والبرامج النصية لقاعدة البيانات والبرامج النصية للإنشاء والتوزيع وأي شيء آخر مطلوب لإنشاء التطبيق وتثبيته وتشغيله واختباره.
    • استراتيجية التفريع.
    • البنيات التلقائية.
  • لاحظ أن اختيارك للمستودع يتأثر أيضا بسيادة البيانات/متطلبات الإقامة. إذا كنت بحاجة إلى استضافة بياناتك محليا في بلد/منطقة أخرى غير الولايات المتحدة، فستحتاج إلى مستودعات Azure DevOps عندما لا يمكن استخدام GitHub Repos.
  • لتقليل مقدار التكوين اليدوي المطلوب لتوفير الموارد، ضع في اعتبارك اعتماد البنية الأساسية كتعليق برمجي (IaC). يتيح لك IaC تطبيق ممارسات هندسة البرامج مثل الاختبار وتعيين الإصدار، ما يجعل البنية الأساسية وعمليات التوزيع تلقائية ومتسقة وقابلة للتكرار. احتفظ بالنصوص والقوالب تحت التحكم بالمصادر مثل أي تعليمات برمجية أخرى تحتفظ بها.
  • اعتماد أدوات فحص التعليمات البرمجية لمساعدتك في اكتشاف عيوب التعليمات البرمجية في أقرب وقت ممكن. قم بتضمين فحوصات ما قبل التوزيع للتحقق من صحة التغييرات وتأكيدها قبل أي وظيفة توزيع (مثال: "ماذا لو").
  • تسرع أدوات CI/CD من وقت تسويق منتجك. تعمل الأدوات التي تسمح لك بتوازي المهام والاستفادة من قابلية التوسع المرنة على البنية الأساسية المستضافة على السحابة على تحسين أداء عملية CI/CD.
  • ضع في اعتبارك استخدام ميزات أداة CI/CD التي تدعم مقياس أداء DevOps. يمكن للوحات المعلومات وإعداد التقارير تتبع جوانب عملية التطوير الخاصة بك مثل وقت العميل المتوقع ووقت الدورة وسرعة العمل وما إلى ذلك.

العمليات المستمرة

العمليات المستمرة هي التركيز الذي يساعد المؤسسات على الحفاظ على استمرارية الإخراج بين الأنظمة الداخلية والعملاء من خلال تقديم الخدمات أو الوظائف الهامة دون انقطاع. أهداف العمليات المستمرة هي:

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

استخدم أدوات السحابة الأصلية من أجل:

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

التعاون والملاحظات

  • توجد حلقات الملاحظات السريعة في صميم عملية CI/CD. تستخدم أداة CI/CD الملاحظات لحل الشروط في منطق سير عمل CI/CD وتعرض المعلومات مرة أخرى للمستخدمين، عادة من خلال لوحة معلومات.

  • يضمن دعم إعلامات البريد الإلكتروني والتكامل مع IDEs أو منصات الاتصال إمكانية البقاء على اطلاع بما يحدث دون الحاجة إلى التحقق من لوحة المعلومات. تأكد من أن لديك المرونة لتكوين التنبيهات التي تتلقاها، نظرا لأن الحصول على عدد كبير جدا من التنبيهات يحولها إلى ضوضاء في الخلفية.

  • يجب أن تدعم أي أداة تختارها للتعاون ممارسات التعاون التالية:

    • تعاون كانبان
    • التعاون في محتوى Wiki
    • تعاون ChatOps
    • غرفة الفريق

توصيات سلسلة أدوات DevOps لمناطق Azure المنتقل إليها

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

  • التخطيط
  • CI/CD (بما في ذلك قدرات الأتمتة مثل البنية الأساسية كتعلم برمجي)
  • العمليات
  • التعاون والملاحظات

راجع إرشادات نشر المنطقة المنتقل إليها واعتبارات اختيار خيار تنفيذ في اختيار اعتماد المنطقة المنتقل إليها.

بغض النظر عن المنهجية المحددة (البدء صغير ومتوسع أو على نطاق المؤسسة)، هناك بعض الطوبولوجيا الشائعة التي تميل المؤسسات إلى اتباعها أثناء تصميم مهام سير عمل DevOps وسلسلة الأدوات الخاصة بها.

  • سلسلة أدوات Azure DevOps المكدس الكامل: بالنسبة للمؤسسات التي استثمرت بالفعل بشكل كبير في النظام البنائي ل Microsoft، يسمح لها هذا المخطط بالاستفادة الكاملة من عمليات التكامل الأصلية بين منتجات وخدمات Microsoft وتبسيط العمليات الرئيسية.
  • سلسلة أدوات Azure DevOps وGitHub: يسمح لك هذا المخطط باستخدام نقاط القوة لكل من Azure وGitHub كجزء من حل متكامل جيدا.

سلسلة أدوات Azure DevOps المكدس الكامل

رسم تخطيطي لمكدس كامل من سلسلة أدوات Azure DevOps.

مرحلة DevOps الأدوات
التخطيط توفر Azure Boards إمكانات تخطيط قوية ومرنة للمطورين والشخصيات الأخرى، بما في ذلك التراكمات الهرمية ولوحات Kanban القابلة للتخصيص وتخصيص العمليات الغنية ولوحات معلومات الفريق وإعداد التقارير المخصصة.
CI/ CD يسمح لك Azure Repos بإنشاء مستودعات Git خاصة، ويدعم عملاء Git المختلفين واستراتيجية التفريع والحماية. يوفر Azure Repos أيضا موقع بيانات مترجما في السحابة لتمكين الامتثال للوائح الأوروبية. تسمح Azure Pipelines للعملاء بإعداد مسارات تلقائية ل CI/CD، بما في ذلك لتقارير الاختبار المتقدمة، وتوفر دعما قويا للبنية الأساسية لبرنامج ربط العمليات التجارية متعددة المراحل. تساعدك الأذونات الدقيقة والبوابات والفحوصات المخصصة وإعداد تقارير نتائج الاختبار التلقائية في Azure Pipelines على فرض أفضل ممارسات الأمان والتوافق والنشر الآمن في مؤسستك ودعم تنفيذ الخطوات المتوازية وقابلية التوسع. توفر Azure Artifacts موجزا لتخزين الحزم ومراجعة كل حزمة والتحقق من صحتها لأغراض الأمان، كما توفر التحكم في الأذونات الدقيقة والتدقيق. توفر خطط اختبار Azure في Azure DevOps حلا لإدارة الاختبار المستند إلى المستعرض لاختبار قبول المستخدم واليدوي والاستكشافي. يستخدم مستخدمو Azure Test Plans أيضا عادة لوحات Azure للتخطيط وإدارة المشاريع. يمكنك ربط قصص المستخدم والمتطلبات الأخرى لحالات الاختبار ويمكن توثيق الأخطاء التي تم العثور عليها من خلال الاختبار. اعتماد ملحقات Marketplace ل DevOps لتحسين تحليل التعليمات البرمجية الثابتة باستخدام أدوات مثل الماسحات الضوئية لبيانات الاعتماد والماسحات الضوئية مفتوحة المصدر والماسحات الضوئية للأخطاء والثغرات الأمنية والمزيد.
العمليات توفر لوحات معلومات Azure وإعداد التقارير تقارير مخصصة لمساعدتك في مراقبة مقاييس أداء الخدمة الرئيسية. Azure DiagnosticsوApplication Insights هي الطريقة القياسية من أجل تعقب صحة وحالة موارد Azure. يوفر Azure Monitor مراقبة وإدارة مركزية. يمكن استخدام Azure Automation لإنشاء أتمتة مستندة إلى الحدث لتشخيص المشكلات وحلها.
التعاون والملاحظات يسمح لك Azure DevOps Wiki بمشاركة المعلومات مع أعضاء الفرق الأخرى ويدعم التحرير التعاوني لمحتواه وبنيته. توفر Azure Boards تعاون كانبان ودعما للتعليقات والمناقشات في عناصر تراكم. يمكنك دمج Microsoft Teams مع Azure DevOps للحصول على تجربة تعاون فريق كاملة.

سلسلة أدوات Azure DevOps وGitHub

رسم تخطيطي لسلسلة أدوات Azure DevOps وGitHub.

مرحلة DevOps الأدوات
التخطيط توفر Azure Boards حلا مستقرا وقابلا للتطوير للتخطيط وإدارة المستودع وتصور البيانات وتنظيم عنصر العمل الهرمي. يتكامل مع GitHub، حتى تتمكن من ربط عناصر العمل وتثبيتات GitHub. كما يسمح لك باختيار سير العمل المثالي، سواء كان ذلك سير عمل بسيطا وخارج الصندوق أو سير عمل مخصصا تقوم بإنشائه باستخدام محرك تخصيص Azure Boards القوي والمرنة. عندما تحتاج إلى تصور بياناتك، تساعدك Azure Boards على إنشاء لوحات معلومات مخصصة وتكوينها بسهولة ومراقبة التقدم طوال دورة حياة المشروع.
CI/ CD استخدم إصدار GitHub Enterprise (GHE) من GitHub، والذي يتضمن GitHub RepoوGitHub Advanced Security (GHAS). يتضمن GHAS CodeQLومسح التعليمات البرمجيةومسح البيانات السريةومراجعة التبعية. يوفر GHE أيضا Codespaces، وهو IDE سحابي يمكنك استخدامه لتطوير التعليمات البرمجية ويمكن أن يحل محل Visual Studio Code، والذي تتضمنه المؤسسات عادة في سيناريوهات Azure DevOps الكاملة المكدسة. يمكنك استخدام GitHub Actions لأتمتة مهام سير العمل غير المتعلقة بالبناء إذا كانت مستودعاتك في GitHub. إذا كان لديك سيناريوهات أكثر تعقيدا حيث تحتاج إلى الوصول إلى التعليمات البرمجية من خارج GitHub أو تتطلب إدارة مركزية لقوالب سير العمل وبناء البنية الأساسية لبرنامج ربط العمليات التجارية، فاعتمد Azure Pipelines. بالنسبة ل Azure Boards، يمكنك دمج Azure Pipelines مع مستودعات GitHub. للتعرف على دمج Azure DevOps وGitHub، راجع العمل مع Azure DevOps وGitHub. GitHub Packages هي خدمة حزمة برامج تسمح لك باستضافة الحزم الخاصة بك بشكل خاص أو عام. يقدم GitHub دعم سجل الحاوية لاستضافة صور Docker أو OCI. تحتاج إلى رموز الوصول المميزة لنشر الحزم أو تثبيتها أو حذفها والحفاظ على أمان إدارة دورة حياة الحزمة. لأتمتة الحزم، يمكنك دمج GitHub Packages مع GitHub Actions وGitHub APIs وwebhooks لإنشاء مهام سير عمل DevOps التي تتضمن التعليمات البرمجية وCI وعمليات النشر كلها في واجهة واحدة.
العمليات يوفر GitHub Insights تقارير تحليلية تستند إلى بيانات من مثيل GitHub Enterprise Server لمساعدتك على فهم عملية تسليم البرامج وتحسينها. بالنسبة لتشخيصات المنطقة المنتقل إليها وإدارتها، استخدم خدمات Azure الموصى بها في سيناريو Azure DevOps المكدس بالكامل .
التعاون والملاحظات يمكنك استخدام GitHub Discussions لمشاركة الأسئلة والأفكار والمحادثات وطلبات التعليق (RFC) وتخطيط الموارد والإعلانات. استخدم Azure Boards لإنشاء لوحات معلومات مخصصة وتكوينها بسهولة ومراقبة التقدم طوال دورة حياة المشروع. اعتماد Microsoft Teams للحصول على تجربة تعاون كاملة مع الفريق.