أتمتة النظام الأساسي وDevOps لمسرع المنطقة المنتقل إليها لخدمة التطبيقات

توفر هذه المقالة اعتبارات التصميم والتوصيات لأتمتة النظام الأساسي وDevOps التي يمكنك تطبيقها عند استخدام مسرع المنطقة المنتقل إليها في Azure App Service. توفر أتمتة النظام الأساسي وDevOps فرصا لتحديث نهجك للتوزيع باستخدام البنية الأساسية كتعلم برمجي.

تعرف على المزيد حول أتمتة النظام الأساسي ومنطقة تصميم DevOps .

اعتبارات التصميم

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

خذ الاعتبارات التالية في الاعتبار عند التحضير لأي توزيع لخدمة التطبيقات.

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

  • اجعل الأمان أولوية قصوى عند تصميم البنية الأساسية لبرنامج ربط العمليات التجارية للأتمتة و CI/CD في App Service. يمكن أن تتضمن مهام الأمان تنفيذ إجراءات المصادقة والتخويل للمساعدة في حماية الوصول إلى البنية الأساسية لبرنامج ربط العمليات التجارية ومكوناتها. كما يمكن أن تتضمن تنفيذ التشفير وتدابير الأمان الأخرى للمساعدة في حماية البيانات الحساسة.

  • ضع في اعتبارك التكامل والتوزيع المستمرين. تدعم App Service التكامل والتوزيع المستمرين من أنظمة التحكم بالمصادر المختلفة، بما في ذلك Azure Repos وGitHub وBitbucket. يمكنك استخدام هذه الأدوات لأتمتة عملية الإنشاء والتوزيع، مما يضمن أن تطبيقك محدث ومتاح دائما.

  • ضع في اعتبارك البرامج النصية للأتمتة. توفر App Service عددا من البرامج النصية للأتمتة، بما في ذلك قوالب PowerShell وAzure CLI وBicep وAzure Resource Manager (ARM). يمكنك استخدام هذه البرامج النصية لأتمتة المهام الشائعة مثل توفير الموارد وتوسيع نطاقها.

  • تقييم ما إذا كنت بحاجة إلى استخدام وكلاء مستضافين ذاتيا. اعتمادا على تكوين الشبكة، قد لا تكون App Services متوفرة من الإنترنت العام. إذا لم تكن كذلك، فلن يعمل العملاء المستضافون العامون لعمليات التوزيع. خطط لاستخدام عوامل مستضافة ذاتيا في هذه السيناريوهات.

  • اعتماد استراتيجية التفريع التي ستساعدك على التعاون مع توفير المرونة أيضا. حافظ على استراتيجيتك بسيطة، واستخدم عزل الميزات قصيرة الأجل، واسمح بالتعديلات مرة أخرى على الفرع الرئيسي الخاص بك من خلال طلبات السحب مع تحليل التعليمات البرمجية اليدوي والآلي.

  • تأكد من التحقق من منطق عملك بواسطة اختبارات الوحدة في البنية الأساسية لبرنامج ربط العمليات التجارية للبناء. استخدم اختبارات التكامل في البنية الأساسية لبرنامج ربط العمليات التجارية للإصدار للتحقق من أن جميع الخدمات والموارد تعمل معا بعد إصدار جديد. تحقق من عناصر واجهة المستخدم الأكثر أهمية باستخدام اختبارات واجهة المستخدم التلقائية. تحقق من متطلبات الأداء غير الوظيفية باستخدام اختبار التحميل عبر أدوات مثل k6 وJMeter في بيئة التقسيم المرحلي.

  • مراقبة وصيانة البنية الأساسية لبرنامج ربط العمليات التجارية للأتمتة و CI/CD. يمكن أن تتضمن هذه العملية تنفيذ أدوات التسجيل والمراقبة لتتبع أداء البنية الأساسية لبرنامج ربط العمليات التجارية وصحتها. ويمكن أن ينطوي أيضا على تنفيذ عملية لاستعراض المسار وتحديثه بانتظام لضمان بقائه فعالا وفعالا.

مفتاح أتمتة النظام الأساسي الناجح وتنفيذ البنية الأساسية لبرنامج ربط العمليات التجارية CI/CD في App Service هو تخطيط الحل وتصميمه بعناية، مع مراعاة الاحتياجات والمتطلبات المحددة للتطبيقات التي تقوم بنشرها. باستخدام النهج الصحيح، يمكنك إنشاء نظام أساسي قابل للتطوير وآمن وفعال لنشر تطبيقاتك وإدارتها في السحابة.

توصيات التصميم

ضع أفضل الممارسات التالية في الاعتبار عند توزيع App Service.

  • استخدم Azure DevOps للبنية الأساسية لبرنامج ربط العمليات التجارية CI/CD. يوفر Azure DevOps حلا كاملا لأتمتة إنشاء تطبيقاتك واختبارها وتوزيعها.

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

    • تكبير فوائد الممارسات التطبيقية عبر الفريق.
    • إزالة الكثير من عبء إعادة اختراع العمليات.
    • احصل على إمكانية التنبؤ في ونتائج التحليلات حول الجودة العامة وخفة الحركة.
  • التوزيع في وقت مبكر وغالبا باستخدام المسارات المستندة إلى المشغل والمجدولة. تضمن المسارات المستندة إلى المشغل أن التغييرات تمر من خلال التحقق المناسب. تدير المسارات المجدولة السلوك في البيئات المتغيرة.

  • فصل توزيع البنية الأساسية عن توزيع التطبيق. تتغير البنية الأساسية بشكل أقل تكرارا من التطبيقات. تعامل مع كل نوع من أنواع التوزيع كتدفق منفصل ومسار منفصل.

  • استخدم البنية الأساسية كأدوات تعليمات برمجية مثل قوالب ARM أو Bicep لأتمتة توفير موارد Azure وإدارتها. يمكنك استخدام قوالب ARM وBicep لتعريف البنية الأساسية الخاصة بك كتعلم برمجي، ما يسهل التحكم في الإصدار والتعاون في توزيع مواردك وأتمتتها.

  • تخزين البيانات السرية والبيانات الاصطناعية الحساسة الأخرى في المخزن السري ذي الصلة (مثل أسرار Azure Key Vault أو GitHub). السماح للإجراءات وأجزاء سير العمل الأخرى بقراءتها حسب الحاجة.

  • احرص على زيادة تزامن التوزيع عن طريق تجنب التكوين والإعدادات المشفرة.

  • تنفيذ أمان shift-left عن طريق تضمين أدوات فحص الثغرات الأمنية والسرية، مثل الماسحات الضوئية للحاويات، في وقت مبكر من البنية الأساسية لبرنامج ربط العمليات التجارية.

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

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

  • مراقبة وتعقب أداء وتوافر تطبيقاتك باستخدام Application Insights. يوفر Application Insights رؤى في الوقت الحقيقي حول صحة تطبيقاتك واستخدامها. كما يمكن أن يساعدك على تشخيص المشكلات التي تنشأ وحلها بسرعة.

  • تنفيذ الأدوات والعمليات التي تسهل الاتصال والتعاون، مثل منهجيات وأدوات تطوير Agile لتعقب المهام والتبعيات وإدارتها. تعتمد عمليات أتمتة النظام الأساسي الناجحة وDevOps وCI/CD على التعاون والتواصل الفعالين بين أعضاء الفريق.

يتمثل مفتاح أتمتة النظام الأساسي الناجح وDevOps وCI/CD مع App Service في تصميم وتنفيذ العمليات والأنظمة القابلة للتطوير والآمنة والمراقبة جيدا والتعاونية. يمكن أن تساعد هذه التوصيات مهندسي تكنولوجيا المعلومات والسحابة على ضمان أن تطبيقاتهم وواجهات برمجة التطبيقات الخاصة بهم توفر أفضل أداء ممكن وتجربة المستخدم.