قصة عميل · Wasla
حوّلت Wasla حرائق صباح الاثنين إلى طلب دمج ينتظر الموافقة
كانت أعطال عطلة نهاية الأسبوع تكلّف فريق البيانات نصف كل يوم اثنين. أما الآن فيصل معظمها مُصلَحاً.
- وقت الحوادث أيام الاثنين
- 4 ساعات ← 20 دقيقة
- من الأعطال تُصلَح بطلب دمج
- 91%
- يوفّرها كل مهندس أسبوعياً
- 6 ساعات
المشكلة
تدير Wasla خدمة توصيل في اليوم نفسه في تسع مدن في الإمارات والسعودية، من دبي وأبوظبي إلى الرياض وجدة. ويتولى فريق البيانات فيها، المؤلف من خمسة أشخاص، 420 نموذجاً في dbt على Snowflake تنسّقها Airflow، وتغذّي لوحات المعلومات التي يُوزَّع السائقون على أساسها كل صباح عند الساعة 6:00.
تتغيّر بيانات شركاء التوصيل دون سابق إنذار. فكان حقل أُعيدت تسميته أو رمز حالة جديد يكفي لتعطيل أحد نماذج التجهيز (staging) ليلاً، ثم ينتقل العطل متسلسلاً عبر الجداول النهائية (marts)، ليبدأ يوم الاثنين بساعة من قراءة سجلات Airflow قبل أن يتمكن أحد حتى من تحديد ما الذي تعطّل. أحصت ديفيا كريشنان، رئيسة قسم البيانات، 4 ساعات أسبوعياً يقضيها الفريق في إطفاء حرائق يوم الاثنين، إضافة إلى كلفة عمل موظفي التوزيع على أرقام قديمة.
ما الذي تغيّر
ربطت Wasla كلاً من Airflow ومستودع شيفرة dbt وSnowflake في فترة بعد ظهر واحدة. وجمعت Tessel تنبيهات عطلة نهاية الأسبوع الأولى، وعددها 38، في 3 حوادث، وفتحت طلبات دمج (pull requests) للإصلاح في اثنتين منها: عمود أُعيدت تسميته في بيانات أحد شركاء التوصيل، وحالة توصيل جديدة في بيانات شريك آخر.
بعد ستة أشهر، صار 91% من الأعطال يصل في صورة طلب دمج مرفق باختبار، وانخفض وقت الحوادث يوم الاثنين إلى نحو 20 دقيقة يذهب معظمها في المراجعة. ويستثمر الفريق الساعات التي استعادها في نموذج تخطيط المسارات الذي أجّله عاماً كاملاً.
منظومة الأدوات: dbt Core، Airflow، Snowflake، GitHub، Slack.
مراحل الإطلاق
-
اليوم الأول
ربط Airflow وGitHub وSnowflake بأدوار للقراءة فقط.
-
الأسبوع الأول
جمع 38 تنبيهاً من عطلة نهاية الأسبوع في 3 حوادث، ودمج أول طلبين للإصلاح.
-
الشهر الثاني
ضبط وعود الحداثة على 14 جدولاً تقرأ منها لوحات معلومات التوزيع.
كنا نبدأ كل يوم اثنين باكتشاف ما تعطّل خلال عطلة نهاية الأسبوع. أما الآن فنبدأه بطلب دمج ينتظر موافقتنا.
احصل على النتيجة نفسها مع أدواتك
سنشغّل Tessel على نسخة من مشروعك خلال العرض التوضيحي، لترى حوادثك أنت.