خط أنابيب ذكاء الأعمال استنادًا إلى خدمات AWS - دراسة حالة
نشرت: 2019-05-16في السنوات الأخيرة ، شهدنا اهتمامًا متزايدًا بتحليل البيانات الضخمة. يستخدم التنفيذيون والمديرون وغيرهم من أصحاب المصلحة التجاريين ذكاء الأعمال (BI) لاتخاذ قرارات مستنيرة. يسمح لهم بتحليل المعلومات الهامة على الفور ، واتخاذ القرارات ليس فقط على حدسهم ولكن على ما يمكنهم تعلمه من السلوك الحقيقي لعملائهم.
عندما تقرر إنشاء حل BI فعال وغني بالمعلومات ، فإن إحدى الخطوات الأولى التي يحتاجها فريق التطوير لديك هي تخطيط بنية خط أنابيب البيانات. هناك العديد من الأدوات المستندة إلى السحابة التي يمكن تطبيقها لبناء مثل هذا الخط ، ولا يوجد حل واحد من شأنه أن يكون الأفضل لجميع الشركات. قبل أن تقرر خيارًا معينًا ، يجب أن تفكر في مجموعتك التقنية الحالية وتسعير الأدوات ومجموعة مهارات مطوريك. في هذه المقالة ، سأعرض بنية تم إنشاؤها باستخدام أدوات AWS التي تم نشرها بنجاح كجزء من تطبيق Timesheets.
نظرة عامة على العمارة
الجداول الزمنية هي أداة لتتبع وقت الموظف والإبلاغ عنه. يمكن استخدامه عبر الويب ، و iOS ، و Android وتطبيقات سطح المكتب ، و chatbot المدمج مع Hangouts و Slack ، والعمل على مساعد Google. نظرًا لوجود العديد من أنواع التطبيقات المتاحة ، فهناك أيضًا الكثير من البيانات المتنوعة التي يجب تتبعها. يتم جمع البيانات عبر Revolt Analytics ، وتخزينها في Amazon S3 ، ومعالجتها باستخدام AWS Glue و Amazon SageMaker. يتم تخزين نتائج التحليل في Amazon RDS وتُستخدم لإنشاء تقارير مرئية في Google Data Studio. يتم عرض هذه العمارة في الرسم البياني أعلاه.
في الفقرات التالية ، سأصف بإيجاز كل أداة من أدوات البيانات الضخمة المستخدمة في هذه البنية.
تحليلات الثورة
Revolt Analytics هي أداة تم تطويرها بواسطة M Liquido لتتبع وتحليل البيانات من التطبيقات من جميع الأنواع. من أجل تبسيط تنفيذ Revolt في أنظمة العميل ، تم إنشاء تطبيقات iOS و Android و JavaScript و Go و Python و Java SDK. تتمثل إحدى الميزات الرئيسية لـ Revolt في أدائها: يتم وضع جميع الأحداث في قائمة الانتظار وتخزينها وإرسالها في حزم ، مما يضمن تسليمها بسرعة وكفاءة. يمنح Revolt مالك التطبيق القدرة على تحديد المستخدمين وتتبع سلوكهم في التطبيق. يسمح لنا هذا ببناء نماذج التعلم الآلي التي تحقق القيمة ، مثل أنظمة التوصيات المخصصة بالكامل ونماذج التنبؤ بالضخامة ، وللتوصيف عن العملاء استنادًا إلى سلوك المستخدم. يوفر Revolt أيضًا ميزة جلسة. يمكن أن تساعدك المعرفة حول مسارات المستخدم وسلوكه في التطبيقات على فهم أهداف واحتياجات عملائك.
يمكن تثبيت Revolt على أي بنية تحتية تختارها. يمنحك هذا الأسلوب تحكمًا كاملاً في التكاليف والأحداث المتعقبة. في حالة الجداول الزمنية المعروضة في هذه المقالة ، تم بناؤها على البنية التحتية لـ AWS. بفضل الوصول الكامل إلى تخزين البيانات ، يمكن لمالكي المنتجات بسهولة الحصول على رؤى حول تطبيقاتهم واستخدام تلك البيانات في أنظمة أخرى.
تتم إضافة حزم تطوير البرامج (SDK) الخاصة بالثورة إلى كل مكون من مكونات نظام الجداول الزمنية ، والذي يتكون من:
- تطبيقات Android و iOS (مُصممة باستخدام Flutter)
- تطبيق سطح المكتب (تم إنشاؤه باستخدام Electron)
- تطبيق الويب (مكتوب في React)
- الخلفية (مكتوبة في Golang)
- Hangouts و Slack عبر الإنترنت
- العمل على مساعد جوجل
يمنح Revolt لمسؤولي الجداول الزمنية معرفة بالأجهزة (مثل العلامة التجارية للجهاز ، والطراز) والأنظمة (مثل إصدار نظام التشغيل واللغة والمنطقة الزمنية) التي يستخدمها عملاء التطبيق. علاوة على ذلك ، فإنه يرسل العديد من الأحداث المخصصة المرتبطة بنشاط المستخدمين في التطبيقات. وبالتالي ، يمكن للمسؤولين تحليل سلوك المستخدم وفهم أهدافهم وتوقعاتهم بشكل أفضل. يمكنهم أيضًا التحقق من قابلية استخدام الميزات المنفذة ، وتقييم ما إذا كانت هذه الميزات تفي بافتراضات مالك المنتج حول كيفية استخدامها.

AWS Glue
AWS Glue هي خدمة ETL (استخراج وتحويل وتحميل) تساعد في تحضير البيانات للمهام التحليلية. تقوم بتشغيل وظائف ETL في بيئة لا تحتوي على خادم Apache Spark. عادة ، تتكون من العناصر الثلاثة التالية:
- تعريف الزاحف - يتم استخدام الزاحف لمسح البيانات في جميع أنواع المستودعات والمصادر ، وتصنيفها ، واستخراج معلومات المخطط منها ، وتخزين البيانات الوصفية عنها في كتالوج البيانات. يمكنه ، على سبيل المثال ، فحص السجلات المخزنة في ملفات JSON على Amazon S3 ، وتخزين معلومات مخططها في كتالوج البيانات.
- نص الوظيفة - تعمل مهام AWS Glue على تحويل البيانات إلى التنسيق المطلوب. يمكن لـ AWS Glue إنشاء برنامج نصي تلقائيًا لتحميل بياناتك وتنظيفها وتحويلها. يمكنك أيضًا تقديم نص Apache Spark الخاص بك مكتوبًا بلغة Python أو Scala والذي من شأنه تشغيل التحولات المطلوبة. يمكن أن تتضمن مهام مثل التعامل مع القيم الفارغة ، والجلسة ، والتجميعات ، وما إلى ذلك.
- المشغلات - يمكن تشغيل برامج الزحف والوظائف عند الطلب ، أو يمكن إعدادها للبدء عند حدوث مشغل محدد. يمكن أن يكون المشغل جدولًا زمنيًا أو حدثًا (على سبيل المثال ، تنفيذ ناجح لوظيفة محددة). يمنحك هذا الخيار القدرة على إدارة حداثة البيانات في تقاريرك دون عناء.
في بنية الجداول الزمنية الخاصة بنا ، يقدم هذا الجزء من خط الأنابيب على النحو التالي:
- يبدأ المشغل المستند إلى الوقت مهمة معالجة مسبقة ، والتي تقوم بتنظيف البيانات ، وتعيين سجلات الأحداث المناسبة للجلسات ، وحساب التجميعات الأولية. يتم تخزين البيانات الناتجة عن هذه المهمة في AWS S3.
- تم إعداد المشغل الثاني للتشغيل بعد التنفيذ الكامل والناجح لوظيفة المعالجة المسبقة. يبدأ هذا المشغل وظيفة تقوم بإعداد البيانات التي يتم استخدامها مباشرة في التقارير التي تم تحليلها بواسطة مالكي المنتج.
- يتم تخزين نتائج المهمة الثانية في قاعدة بيانات AWS RDS. هذا يجعلها سهلة الوصول إليها وقابلة للاستخدام في أدوات ذكاء الأعمال مثل Google Data Studio أو PowerBI أو Tableau.
AWS SageMaker
يوفر Amazon SageMaker وحدات نمطية لبناء نماذج التعلم الآلي وتدريبها ونشرها.
يسمح بتدريب النماذج وضبطها على أي نطاق ويتيح استخدام خوارزميات عالية الأداء توفرها AWS. ومع ذلك ، يمكنك أيضًا استخدام خوارزميات مخصصة بعد تقديم صورة عامل إرساء مناسبة. تعمل AWS SageMaker أيضًا على تبسيط ضبط المعلمة الفائقة بوظائف قابلة للتكوين تقارن المقاييس لمجموعات مختلفة من معلمات النموذج.
في الجداول الزمنية ، تساعدنا مثيلات دفتر ملاحظات SageMaker على استكشاف البيانات واختبار البرامج النصية لـ ETL وإعداد نماذج أولية لمخططات التصور لاستخدامها في أداة ذكاء الأعمال لإنشاء التقارير. يدعم هذا الحل ويحسن تعاون علماء البيانات لأنه يضمن عملهم في نفس بيئة التطوير. علاوة على ذلك ، يساعد هذا في ضمان عدم تخزين أي بيانات حساسة (والتي يمكن أن تكون جزءًا من مخرجات خلايا أجهزة الكمبيوتر المحمولة) خارج البنية التحتية لـ AWS لأن أجهزة الكمبيوتر المحمولة يتم تخزينها فقط في حاويات AWS S3 ، ولا يلزم وجود مستودع git لمشاركة العمل بين الزملاء .
يتم إحتوائه
يعد تحديد أدوات البيانات الضخمة والتعلم الآلي التي يجب استخدامها أمرًا بالغ الأهمية في تصميم بنية خطوط الأنابيب لحل ذكاء الأعمال. يمكن أن يكون لهذا الاختيار تأثير كبير على إمكانيات النظام وتكاليفه وسهولة إضافة ميزات جديدة في المستقبل. من المؤكد أن أدوات AWS تستحق الدراسة ، ولكن يجب عليك اختيار تقنية تناسب مجموعتك التقنية الحالية ومهارات فريق التطوير لديك.
استفد من خبرتنا في بناء حلول موجهة نحو المستقبل واتصل بنا!