تطوير منتج برمجي قائم على خدمات أزور (Azure) لإدارة خدمات رئيس قسم تقنية المعلومات الافتراضي (vCIO)
العميل
شركة أمريكية تقدم منتجات برمجية وخدمات تدريبية لمُقدِّمي الخدمات المُدارة (MSPs).
التحدي
أراد العميل تطوير أحد منتجات البرمجيات كخدمة (SaaS) لمُزوِّدي خدمات رئيس قسم تقنية المعلومات الافتراضي (vCIO)، لمساعدتهم على أتمتة العمليات التجارية لعملائهم. وكان من متطلبات العميل أن يضمن التطبيق القائم على .NET توفير تجربة استثنائية للعملاء، وأن يعمل بأداء ثابت حتى في ظل أعباء العمل الثقيلة، وأن يتوسع بسهولة عند الحاجة.
أراد العميل إطلاق الوظائف الأساسية للمنتج البرمجي بسرعة ثم توسيع إمكاناته عن طريق إجراء تحديثات متكررة لضمان الحفاظ على ولاء عملاء مُقدِّمي الخدمات المُدارة (MSPs).
ولهذا السبب، كان العميل يبحث عن شريك تقني موثوق، يتمتع بخبرة مُثبتة في تطوير البرمجيات المُعقدة والمُوزَّعة والمُستندة إلى الخدمات السحابية، لتولي مهمة التطوير الكامل للمنتج البرمجي من البداية إلى النهاية.
الحل
كلَّف العميل فريق ساينس سوفت متعدد الوظائف بتطوير منتج البرمجيات كخدمة (SaaS) الجديد، وتكوَّن فريقنا من من مدير المشروع (PM)، ومُحلل الأعمال (BA)، ومطوري ومهندسي NET.، ومهندسي أتمتة الاختبارات، ومهندسي عمليات DevOps.
ضَمَّ المنتج البرمجي الجديد مجموعة من الأدوات التي تسمح لمُزوِّدي الخدمات المُدارة بعمل الآتي:
- إنشاء مراجعات ربع سنوية (QBR) يمكن تخصيصها لبرمجيات العملاء، وتقييم شامل لتأثير خدمات رئيس قسم تقنية المعلومات الافتراضي (vCIO).
- إدارة استراتيجيات تقديم الخدمات لكل عميل.
- تنظيم وتنفيذ مشروعات الخدمات وتقديم التوصيات رقميًا.
- عقد الاجتماعات مع العملاء عبر الإنترنت.
- إدارة الميزانيات.
- وضع معايير مخصصة لتقنية المعلومات والحفاظ عليها وتحسينها.
- إمكانية الوصول إلى قاعدة بيانات منظمة للمبادئ التوجيهية الخاصة بقطاع الصناعة.
- جمع ملاحظات العملاء وآرائهم.
- دفع رسوم استخدام منتجات البرمجيات كخدمة (SaaS).
حرص الفريق على تكامل المنتج البرمجي بسهولة مع الحلول البرمجية الخارجية المعروفة لمزوِّدي الخدمات المُدارة (MSPs) وحلول إدارة أعمال تقنية المعلومات، مثل: ConnectWise، وAutotask PSA، وIT Glue، وBrightGauge لدعم الاستيراد الآلي للبيانات.
ولضمان التوافر العالي وتحمُّل الأخطاء والتوسع الآمن والسهل لتطبيق البرمجيات كخدمة (SaaS) المُعقد والقائم على الخدمات المصغرة، عَزَّز فريق ساينس سوفت البنية التحتية للتطبيق باستخدام خدمات أزور (Azure) لتمكين طبقة شبكة الخدمات، وموازنة الأحمال، وأتمتة نشر وإدارة الحاويات.
ولمساعدة العميل على ضمان العمل المستقر للبرمجيات الموزعة عبر أجهزة وخوادم متعددة، طوَّر فريقنا مُكوِّنًا برمجيًا للمراقبة يتضمن وحدة تدقيق مُخصصة ووظائف أدوات المراقبة Grafana، وAzure Application Insights، وKiali، وJaeger. وتقوم وحدة المراقبة بالآتي:
- جمع البيانات المتعلقة بمقاييس أداء المكوِّنات والسجلات المخصصة لأغراض مُحددة.
- تقديم إخطارات تلقائية بشأن أحداث مُحددة.
- المساعدة على التتبع السريع لأي حدث مُحدد عن طريق العديد من مكونات البنية البرمجية والمستأجرين لمعرفة الأسباب الجذرية للمشكلة.
- تحليل المقاييس المستلمة وتوفير وحدة تحكم واحدة مع لوحات متابعة تفاعلية للتحقق بسهولة من صحة وسلامة البنية التحتية للتطبيق بأكمله.
لتلبية متطلبات العميل المتعلقة بطرح إصدارات متكررة وموثوقة للتطبيق، أنشأ فريق ساينس سوفت عمليات مرنة لتطوير المنتج البرمجي مع دمج تقنيات التطوير أجايل (Agile) وسكرم (Scrum) وديف أوبس (DevOps) {حاويات Docker وDocker Compose ومسارات التكامل المستمر (CI) والنشر المستمر (CD)}.
ولتسريع تنفيذ البرمجيات، استخدم فريق ساينس سوفت نهجًا خاصًا ومتكاملًا للاختبارات اليدوية والآلية (IMAAT) تمت صياغته بالدمج المتوازن بين الاختبارات الآلية واليدوية. نفَّذ الفريق أتمتة اختبار الانحدار الوظيفي واختبار التكامل والاختبار متعدد المتصفحات. وحُفظت الاختبارات اليدوية لإجراء فحوصات أولية سريعة للميزات المُنفَّذة حديثًا، ولإجراء اختبارات المرة الواحدة، ولتوفير استجابة فورية للمطورين بعد إجراء الإصلاحات العاجلة. أما مهندسو أتمتة الاختبارات فدمجوا عمليات الاختبار المستمر في مسارات التكامل المستمر (CI) لإجراء الاختبارات تلقائيًا في كل مرة يتم فيها إدخال تغييرات جديدة ولدعم أمان عمليات التطوير الليلية.
أدى الدمج الاحترافي لعمليات التكامل المستمر (CI) والاختبار المستمر (CT) والنشر المستمر (CD) إلى الاستعداد شبه الدائم لطرح إصدارات فائقة الجودة للميزات والتحديثات الجديدة.
النتائج
تمكَّن العميل من إطلاق تطبيق البرمجيات كخدمة (SaaS) ضمن المدة الزمنية المقررة وتحديث المنتج البرمجي باستمرار بإمكانات وميزات جديدة. كما استوعب التطبيق القائم على الخدمات السحابية القاعدة المتزايدة لبيانات العملاء بكفاءة، مما يضمن تجربة حديثة وسلسة لإدارة خدمات رئيس قسم تقنية المعلومات الافتراضي (vCIO).
التقنيات والأدوات
تطوير البرمجيات كخدمة: .NET Core 3.1, C# 8; Angular 10, TypeScript 3.9, NgRx, MobX; Docker, Docker Compose; Istio; Ocelot API gateway (OSS); Nginx; Umbrella Management API; Entity Framework Core, Dapper; Grafana, Kiali, Jaeger; Chargify; Mailchimp with Mandrill; Google Analytics, Appcues, ZenDesk.
خدمات مايكروسوفت أزور: Azure Kubernetes, Azure Functions for Web Hooks, Azure Service Bus, Azure SQL Database, Azure Table Storage, Azure Blob Storage, Azure SignalR, Azure Application Insights, Azure App Service, Azure Container Registry, Azure Key Vault, Azure API Management, Azure Pipelines, Azure Virtual Machines (VM).
ضمان الجودة: xUnit; nUnit (C#), Jasmine (TypeScript), Selenium (TypeScript).
نتواصل معكم على الفور