AWS تطلق لوحة مقاييس Git باستخدام Amazon QuickSight
توفر لوحة التحكم الجديدة من AWS نظرة فورية على نشاط Git عبر المستودعات، مما يساعد الفرق على قياس الإنتاجية والكشف عن التغييرات بسرعة.

ما هي لوحة مقاييس Git الخالية من الخوادم؟
تتيح لوحة التحكم التي قدمتها AWS، كما هو موضح في [AWS Machine Learning Blog](https://aws.amazon.com/blogs/machine-learning/a-serverless-data-driven-git-metrics-dashboard-using-amazon-quick-sight/), الفرق الهندسية جمع مقاييس نشاط Git بشكل مستمر دون الحاجة إلى إدارة الخوادم. يقوم خط الأنابيب تلقائياً بسحب بيانات الدفع، وطلبات السحب، والقضايا، وتغييرات المساهمين من GitHub وGitLab، وتخزينها في Amazon S3، ثم عرضها في لوحات Amazon QuickSight التفاعلية. وهذا يوفر للفرق رؤية فورية حول سرعة التطوير، والاستعداد للإصدارات، وأنماط التعاون عبر المستودعات.

كيف يعمل خط الأنابيب؟
يعتمد الحل على ست خدمات أساسية من AWS لبناء عملية دفع مدفوعة بالأحداث. تبدأ [Amazon EventBridge Scheduler](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html) الجدول الزمني الذي يشغل سير العمل على فترات محددة مسبقاً. تقوم آلة حالة [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) بتنسيق التدفق بالكامل: تبدأ بكاشف التغييرات، ثم تقرر بين التحميل الكامل أو التزايدي، وتقوم بتقسيم المستودعات إلى أجزاء متوازية باستخدام حالة خريطة Step Functions عندما يتجاوز العدد عتبة التجميع (افتراضياً 20). تقوم دوال Lambda بتنفيذ عمليات الكشف عن التغييرات وجمع المقاييس، بينما تخزن Amazon S3 النتائج المشفرة والمُصدَّقة. وأخيراً، يقوم Amazon QuickSight بقراءة بيانات CSV من S3 أو عبر Amazon Athena لإنشاء لوحات تحكم تفاعلية.

الميزات الرئيسية: الكشف الذكي عن التغييرات والتجميع التكيّفي
يراقب كاشف التغييرات، وهو دالة Lambda تُسمى github-change-detector، خلاصات نشاط GitHub وGitLab بحثاً عن الدفعات، وطلبات السحب، والقضايا، وإنشاء المستودعات أو حذفها، وتغييرات المساهمين. إذا لم يتم اكتشاف أي أحداث ذات صلة منذ الفحص الأخير، يتم إنهاء سير العمل مبكراً لتوفير الموارد. وبالنسبة للمنظمات التي تدير أكثر من 20 مستودعاً، تقوم الميزة التلقائية للتجميع بتقسيم عبء العمل إلى أجزاء متوازية ومعالجة كل جزء بشكل مستقل باستخدام حالة خريطة Step Functions، مما يضمن قابلية التوسع دون تدخل يدوي.
خطوات التنفيذ
لبدء الاستخدام، تحتاج إلى حساب AWS نشط مع أذونات مناسبة. أنشئ stack CloudFormation باستخدام القالب المقدم، والذي ينشئ جميع الموارد المطلوبة تلقائياً. قم بتكوين جدول زمني باستخدام تعبير rate() أو cron() في CloudFormation لتحديد تكرار جمع البيانات. بعد النشر، قم بتشغيل المجموعة الأولى لجمع البيانات بالكامل، ثم اسمح للتشغيل اللاحق باستخدام المنطق التزايدي الذي يجلب التغييرات فقط. يمكنك مراقبة سير العمل عبر لوحة تحكم CloudWatch، وتعديل عتبة التجميع، أو ربط لوحات QuickSight بلوحات التحكم الحالية الخاصة بك. يدعم الحل التكامل مع مستودعات [GitHub](https://github.com/) و[GitLab](https://about.gitlab.com/).

الفوائد واعتبارات التكلفة
من خلال التخلص من الخوادم، تدفع فقط مقابل الموارد التي تستخدمها، مثل عمليات Lambda واستعلامات S3 وخدمة QuickSight، مما يجعل التحليلات في الوقت الفعلي ميسورة التكلفة حتى مع وجود العديد من المستودعات. توفر التحليلات شبه الفورية للفرق رؤية فورية حول سرعة السبرنت، والاستعداد للإصدارات، وأنماط النشاط، مما يدعم إطار عمل دورة حياة التطوير المدعوم بالذكاء الاصطناعي (AI-DLC) من AWS. يمكنك الاطلاع على المزيد من التفاصيل حول هذا الإطار عبر [AWS AI-Driven Development Lifecycle](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-accelerate-software-dev-lifecycle-gen-ai/introduction.html).

الأسئلة الشائعة والتحديات المحتملة
يتساءل المستخدمون غالباً عن خصوصية الرموز وكيفية حمايتها. يقوم الحل بتخزين رموز الوصول إلى Git بشكل آمن في AWS Secrets Manager، وتقوم دوال Lambda باستردادها عند التشغيل، مما يمنع الترميز الثابت. بالنسبة للمنظمات التي لديها سياسات صارمة للتدقيق، يمكن تعطيل التحميل الكامل التلقائي كل 24 ساعة والاعتماد على التحميل التزايدي فقط. كما يمكن تخصيص الجدول الزمني ليتناسب مع نطاقات التحديث الخاصة بفريق التطوير، مما يوفر المرونة لتقليل تكاليف الاستعلام مع الحفاظ على حداثة التحليلات. يمكن إدارة البنية التحتية بالكامل عبر [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) لضمان قابلية التكرار.
المصادر
- AWS Machine Learning BlogA serverless, data-driven Git metrics dashboard using Amazon Quick Sight