APIOps هي منهجية تطبق مفاهيم GitOps وDevOps على نشر واجهة برمجة التطبيقات. مثل DevOps، يساعد APIOps أعضاء الفريق على إجراء التغييرات بسهولة ونشرها بطريقة متكررة وآلية. توضح هذه البنية كيف يمكنك تحسين دورة حياة واجهة برمجة التطبيقات بأكملها وجودة واجهة برمجة التطبيقات باستخدام APIOps.
بناء الأنظمة
قم بتنزيل ملف Visio لهذه البنية.
سير العمل
يقوم مشغلو واجهة برمجة التطبيقات بتشغيل مسار الاستخراج لمزامنة مستودع Git مع مثيل APIM وملء مستودع Git بعناصر APIM بالتنسيق المطلوب.
إذا تم الكشف عن تغيير واجهة برمجة التطبيقات في مثيل APIM، يتم إنشاء طلب سحب (PR) لمشغلي المراجعة. يدمج المشغلون التغييرات في مستودع Git.
ينسخ مطورو واجهة برمجة التطبيقات مستودع Git، وينشئون فرعا، وينشئون تعريفات واجهة برمجة التطبيقات باستخدام مواصفات OpenAPI أو الأدوات التي يختارونها.
إذا دفع المطور التغييرات إلى المستودع، يتم إنشاء طلب السحب للمراجعة.
يمكن الموافقة على طلب السحب أو مراجعته تلقائيا، اعتمادا على مستوى التحكم المطلوب.
بعد الموافقة على التغييرات ودمجها، ينشر مسار التوزيع أحدث التغييرات إلى مثيل API Management.
يقوم مشغلو واجهة برمجة التطبيقات بإنشاء وتعديل نهج إدارة واجهة برمجة التطبيقات والتشخيصات والمنتجات والكائنات الأخرى ذات الصلة، ثم تنفيذ التغييرات.
تتم مراجعة التغييرات، ويتم دمجها بعد الموافقة.
بعد دمج التغييرات، ينشر مسار النشر التغييرات باستخدام عملية تعريفات واجهة برمجة التطبيقات.
المكونات
API Management Azure تعمل على إنشاء بوابات متسقة وحديثة بوابة برمجة التطبيقات للخدمات الخلفية. بالإضافة إلى توجيه استدعاءات واجهة برمجة التطبيقات إلى النهايات الخلفية، يتحقق هذا النظام الأساسي أيضا من بيانات الاعتماد، ويفرض حصص الاستخدام، وبيانات تعريف السجلات.
Azure DevOps هي خدمة لإدارة دورة حياة التطوير الخاصة بك من طرف إلى طرف، بما في ذلك التخطيط وإدارة المشاريع وإدارة التعليمات البرمجية ومواصلة الإنشاء والإصدار.
تمكن مسارات Azure بين الدمج المستمر (CI) والتسليم المستمر (CD) لاختبار وبناء التعليمات البرمجية وشحنها إلى أي هدف.
إن Azure Repos هي مجموعة من أدوات التحكم بالإصدار والتي تتضمن Git والتي يمكنك استخدامها لإدارة التعليمات البرمجية.
البدائل
يستخدم هذا الحل Azure Repos لتوفير وظائف Git وتوفر مسارات Azure المسارات. يمكنك استخدام أي تقنيات قابلة للمقارنة.
تفاصيل السيناريو
يستخدم APIOps التحكم في الإصدار لإدارة واجهات برمجة التطبيقات وإنشاء سجل تدقيق للتغييرات في واجهات برمجة التطبيقات والنهج والعمليات.
يقوم مطورو واجهة برمجة التطبيقات الذين يستخدمون منهجية APIOps بمراجعة ومراجعة واجهات برمجة التطبيقات في وقت سابق وأكثر تكرارا، واصطياد الانحرافات عن معايير واجهة برمجة التطبيقات وحلها بشكل أسرع لتحسين المواصفات وجودة واجهة برمجة التطبيقات. كلما زادت واجهات برمجة التطبيقات التي تقوم بإنشاءها ونشرها باستخدام نهج APIOps، زاد التناسق بين واجهات برمجة التطبيقات.
تستخدم بنية APIOps هذه Azure API Management كمنصة إدارة واجهة برمجة التطبيقات. ينظم Azure DevOps إدارة واجهة برمجة التطبيقات. يوفر Azure Repos وظائف Git، وتنشئ Azure Pipelines البنية الأساسية لبرنامج ربط العمليات التجارية CI/CD.
حالات الاستخدام المحتملة
- أي مؤسسة تطور واجهات برمجة التطبيقات وتديرها
- الصناعات عالية التنظيم: التأمين، والمصارف، والتمويل، والحكومة
الاعتبارات
تطبق هذه الاعتبارات ركائز إطار عمل Azure Well-Architected Framework، وهي مجموعة من المبادئ التوجيهية التي يمكنك استخدامها لتحسين جودة حمل العمل. لمزيد من المعلومات، يرجى مراجعةMicrosoft Azure Well-Architected Framework.
الأمان
ويوفر عامل الأمان ضمانات للحماية من الهجمات المتعمدة واستغلال البيانات والأنظمة القيمة الخاصة بك. للمزيد من المعلومات، يرجى الرجوع إلى نظرة عامة على ركيزة الأمان.
يوفر هذا الحل العديد من المزايا المتعلقة بالأمان. لا يصل المطورون الفرديون - وحتى المشغلون - مباشرة إلى مثيل APIM لتطبيق التغييرات أو التحديثات. بدلا من ذلك، يدفع المستخدمون التغييرات إلى مستودع Git، ويقرأها مستخرج البنية الأساسية لبرنامج ربط العمليات التجارية وينشرها ويطبقها على مثيل APIM. يتبع هذا الأسلوب أفضل ممارسة أمان أقل امتيازا من خلال عدم منح الفرق أذونات الكتابة إلى مثيل خدمة API Management. في سيناريوهات التشخيص أو استكشاف الأخطاء وإصلاحها، يمكنك منح أذونات غير مقيدة لفترة محدودة على أساس كل حالة على حدة.
للتأكد من أن مثيلات API Management تستخدم أفضل الممارسات للأمان، يمكنك توسيع هذا الحل لفرض أفضل ممارسات واجهة برمجة التطبيقات باستخدام أدوات الجهات الخارجية واختبار الوحدة. يمكن لـ Teams تقديم ملاحظات مبكرة عبر مراجعة PR إذا كانت التغييرات المقترحة على واجهة برمجة التطبيقات أو النهج تنتهك المعايير.
بصرف النظر عن مهمة إعداد أذونات المستودع، ضع في اعتبارك تنفيذ تدابير الأمان التالية في مستودعات Git التي تتم مزامنتها مع مثيلات API Management:
- مراجعة طلب السحب (PR): استخدم الفروع وحماية الفروع التي تمثل حالة مثيلات APIM من دفع التغييرات إليها مباشرة. مطالبة PRs أن يكون لها مراجع واحد على الأقل لفرض مبدأ العيون الأربع.
- محفوظات غير قابلة للتغيير: السماح فقط بالتثبيتات الجديدة أعلى التغييرات الموجودة. التاريخ غير القابل للتغيير مهم بشكل خاص لأغراض التدقيق.
- المصادقة متعددة العوامل: اطلب من المستخدمين تنشيط المصادقة الثنائية.
- التثبيتات الموقعة: السماح بالتثبيتات الموقعة فقط التي لا يمكن تغييرها بعد وقوعها.
تحسين التكلفة
يتعلق تحسين التكلفة بخفض النفقات غير الضرورية وتحسين الكفاءة التشغيلية. لمزيد من المعلومات، راجع نظرة عامة على ركيزة تحسين التكلفة.
استخدم حاسبة تسعير Azure لتقدير التكاليف.
توفر API Management المستويات التالية: Consumption و Developer و Basic و Standard و Premium.
يقدم GitHub خدمة مجانية. ولكن لاستخدام الميزات المتقدمة المتعلقة بالأمان مثل مالكي الأكواد أو المراجعين المطلوبين، فأنت بحاجة إلى خطة الفريق. لمزيد من المعلومات، راجع أسعار GitHub.
التميز التشغيلي
يغطي التميز التشغيلي عمليات التشغيل التي تحافظ على تشغيل التطبيق في الإنتاج. لمزيد من المعلومات، يرجى مراجعةنظرة عامة على ركيزة التميز التشغيلي.
يمكن أن تزيد APIOps من إنتاجية DevOps لتطوير واجهة برمجة التطبيقات وتوزيعها. واحدة من أكثر الميزات فائدة هي القدرة على استخدام عمليات Git للتراجع بسرعة عن التغييرات التي تتصرف بشكل غير متوقع. يحتوي الرسم البياني للالتزام على جميع التثبيتات، بحيث يمكن أن يساعد في تحليل ما بعد الوفاة.
غالبا ما يدير مشغلو واجهة برمجة التطبيقات بيئات متعددة لنفس مجموعة واجهات برمجة التطبيقات. من المعتاد أن يكون لديك عدة مراحل من واجهة برمجة التطبيقات الموزعة على مثيلات API Management مختلفة أو في مثيل API Management مشترك. يُظهر مستودع Git، وهو المصدر الوحيد للحقيقة، إصدارات التطبيقات التي يتم توزيعها حالياً في مجموعة.
عندما يقوم شخص ما بإجراء PR في مستودع Git، يعرف عامل تشغيل واجهة برمجة التطبيقات أن لديه تعليمة برمجية جديدة لمراجعتها. على سبيل المثال، عندما يأخذ المطور مواصفات OpenAPI ويبني تنفيذ واجهة برمجة التطبيقات، يضيف هذه التعليمة البرمجية الجديدة إلى المستودع. يمكن للمشغلين مراجعة طلب السحب والتأكد من أن واجهة برمجة التطبيقات التي تم إرسالها للمراجعة تفي بأفضل الممارسات والمعايير.
كفاءة الأداء
كفاءة الأداء هي قدرة حمل عملك على تغيير الحجم لتلبية المطالب التي يضعها المستخدمون عليها بطريقة فعالة. لمزيد من المعلومات، يرجى مراجعةأنماط كفاءة الأداء.
APIOps لها العديد من الفوائد، ولكن مع نمو المناظر الطبيعية لإدارة واجهة برمجة التطبيقات، وكذلك تعقيد إدارتها. يساعد هذا الحل في مواجهة التحديات مثل:
- الاحتفاظ بنظرة عامة على جميع البيئات ومثيلات API Management.
- تعقب التغييرات الهامة على واجهات برمجة التطبيقات والنهج.
- إنشاء سجل تدقيق لجميع التغييرات المنشورة.
نشر هذا السيناريو
يتضمن نشر هذا الحل الخطوات التالية:
تطوير واجهة برمجة التطبيقات في المدخل أو إجراء تغييرات على مواصفات OpenAPI باستخدام أداة من اختيارك.
إذا قمت بإجراء تغييرات في المدخل، يمكنك تشغيل المستخرج لاستخراج جميع واجهات برمجة التطبيقات والنهج والعمليات والتكوينات الأخرى ذات الصلة تلقائيا من API Management. يمكنك مزامنة هذه المعلومات مع مستودع git.
اختياريا، استخدم Azure DevOps CLI لإنشاء طلب سحب جديد.
يتضمن سير عمل المستخرج الخطوات التالية التي تتخذها:
تشغيل مسار يقوم بتنزيل التغييرات في المدخل إلى مثيل API Management.
أدخل أسماء الفرع ومستودع بيانات APIM الاصطناعية ومثيل APIM ومجموعة الموارد.
في السيناريو الخاص بنا، يحتوي المسار الذي يقوم بتنزيل التغييرات في المدخل إلى مثيل API Management على المراحل التالية: مستخرج Build، وإنشاء البيانات الاصطناعية من البوابة، وإنشاء فرع القالب.
مستخرج البناء
تنشئ هذه المرحلة التعليمات البرمجية للمستخرج.
إنشاء بيانات اصطناعية من المدخل
تقوم هذه المرحلة بتشغيل أداة الاستخراج وإنشاء البيانات الاصطناعية التي تشبه بنية مستودع Git مثل تلك الموضحة في لقطة الشاشة التالية:
إنشاء فرع قالب
بعد إنشاء البيانات الاصطناعية، تنشئ هذه المرحلة طلب السحب مع التغييرات المستخرجة لفريق النظام الأساسي لمراجعتها.
في المرة الأولى التي تقوم فيها بتشغيل أداة الاستخراج، فإنه يسحب كل شيء من مستودع Git. سيكون لدى PR الذي تم إنشاؤه جميع واجهات برمجة التطبيقات والسياسات والبيانات الاصطناعية وما إلى ذلك.
الاستخراجات اللاحقة لها تغييرات فقط قبل الاستخراج في PR. في بعض الأحيان قد تكون التغييرات على مواصفات واجهة برمجة التطبيقات فقط، وهذا هو الحال في المثال التالي من PR.
ينتقل المراجع إلى طلبات السحب لعرض طلبات السحب المحدثة. يمكنك أيضا تكوين الموافقات التلقائية لأتمتة هذه الخطوة.
بعد الموافقة على PR، فإنه يقوم بتشغيل مسار آخر ينشر من APIM إلى المدخل. في مثالنا، يحتوي على المراحل التالية: منشئ البناء، ووأداة نهي البناء، ونشر مثيلات APIM.
- تعالج مرحلة منشئ البناء إنشاء واجهات برمجة تطبيقات جديدة.
- تعالج مرحلة أداة نهي البناء أي عمليات حذف.
- تنشر مرحلة نشر مثيلات API Management التغييرات على مثيل API Management.
بعد تشغيل هذا المسار بنجاح، فإنه ينشر التغييرات في مثيل APIM.
المساهمون
تحتفظ Microsoft بهذه المقالة. وهي مكتوبة في الأصل من قبل المساهمين التاليين.
الكاتب الرئيسي:
- ريشابه ساها | مهندس الحلول الأساسي
لمشاهدة ملفات تعريف LinkedIn غير العامة، سجل الدخول إلى LinkedIn.
الخطوات التالية
- مسارات Azure
- APIOps لإدارة واجهة برمجة تطبيقات Azure
- CI/CD لإدارة APIM باستخدام قوالب Azure Resource Manager
- نظرة عامة على GitOps
- نسج GitOps
- البرنامج التعليمي: نشر التكوينات باستخدام GitOps على مجموعة Kubernetes الممكنة في Azure Arc