سياسات عمليات التشغيل (DevOps)

سياسات عمليات التشغيل (DevOps)


مقدمة

انطلاقا من توجه وكالة الوزارة لتقنية المعلومات لتحقيق تحول رقمي محوكم وفعال وتبني منهجية التطوير المرنة عالية الجودة، فقد تبنت الوكالة المساعدة للتحول الرقمي وضع سياسة تضمن ضبط جودة عمليات التطوير والاطلاق ومتابعة المنتجات؛ مما يسهل عمليات ضبط الإطلاقات المستمرة في وقت قصير جدا . وعليه، فقد اعتمدت الوكالة المساعدة للتحول الرقمي هذه السياسة بحيث تلتزم بها جميع الفرق، على أن يتم تحديثها بصورة دورية بما يحقق أهداف الوزارة.

الأهداف

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

نطاق الوثيقة

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

السياسات

السياسات الخاصة بإدارة المتطلبات

  • الالتزام بتسجيل المتطلبات علي منصة مايكروسوفت السحابية (Azure Devops)  .

السياسات الخاصة بتطوير المنتج 

  • الالتزام بسياسات تطوير التطبيقات المعتمدة في الوكالة المساعدة للتحول الرقمي
  • الالتزام بحفظ الأكود علي البيئة السحابية (Azure DevOps ) باستخدام Git
  • الالتزام بربط الأكود بالمتطلبات أثناء عملية التطوير (Link Code with Commits )
  • الالتزام بمراجعة الأكود من قبل قائد فريق التطوير قبل طلب انتقاله إلي ال Master Branch للتأكد من خلوه من المشاكل الفنية والتزامه بسياسات ومعايير
  • الالتزام بحفظ التغييرات علي قواعد البيانات أثناء عملية التطوير عن طريق Database project التطوير المعتمدة
  • الالتزام ببناء وحدات اختبارية للكود ( Unit Test)
  • الالتزام بالتحقق من صلاحية أمان الاكواد (Code Security Check)

السياسات الخاصة باختبار المنتج قبل الإطلاق

  • الالتزام بتسجيل سياريوهات الاختبارات (Test Cases) علي المنصة السحابية .
  • الالتزام ببناء اختبارات آلية للأكواد عن طريق تطبيق ال Automation Test
  • الالتزام باختبار المنتج علي البيئة الاختبارية قبل الاطلاق

السياسات الخاصة بعملية الإطلاق

  • الالتزام بتوفر الحد الأدني من الخوادم المطلوبة علي البيئة الفعلية ( 3 سريفرات )
  • الالتزام بتوفير وسيلة اتصال مع موزع الأحمال (Load Balancer) لسحب الخوادم وإضافتها لموزع الاحمال
  • الالتزام بتطبيق الإطلاقات المتدرجة Canary Deployment بحيث تتم عملية الاطلاق على خادم واحد فقط ثم التعميم علي بقية الخوادم تدريجيا
  • الالتزام باستخدام Azure Devops  لتنفيذ عملية الإطلاق والتراجع عن الإطلاق (Rollback)
  • الالتزام بعدم السماح للمطوريين بالوصول الي خوادم البيئة الفعلية

السياسات الخاصة بعملية المراقبة

  • الالتزام بتوفير آلية لمراقبة الإصدارات علي البيئة الفعلية عن طريق الربط مع Azure Application Insight/Dynatrace