تخطَّ إلى المحتوى

منتجات SaaS

منتجاتٌ متعدّدة المستأجرين تُحسم فيها التعدّديةُ والقياسُ واستراتيجيةُ الإصدار في التصميم، لا تُكتشف بعد أوّل عميلٍ مؤسسي.

ما هذه الخدمة

منتجُ SaaS قاعدةُ كودٍ واحدة تخدم عملاء كثيرين، ويكون فيها العزلُ والفوترةُ وعمليةُ الإصدار جزءًا من المنتج بقدر الميزات نفسها. نبني نموذجَ تعدّد المستأجرين (Multi-tenancy)، وسطحَ الانضمام والخدمة الذاتية، ونظامَ القياس (Metering) الذي تعتمد عليه الفوترة، وخطَّ التسليم الذي يتيح لكم الإصدارَ للجميع دفعةً واحدة.

تعدّدُ المستأجرين إن حُسم متأخّرًا كان إعادةَ كتابة، وإن حُسم مبكّرًا كان خيارًا تصميميًّا. والفرقُ الذي تجده الفرقُ التي تبدأ بمستأجرٍ واحد ثم تنوي التعميم لاحقًا هو غيابُ حدّ المستأجر عن كلّ استعلامٍ ومفتاحِ تخزينٍ مؤقّت ومهمّةٍ خلفية وسطرِ سجل. والقياسُ هو النصفُ الآخر من المشكلة نفسها: إن لم تُسجَّل الاستخداماتُ كأحداث، فأوّلُ تغييرٍ في تسعيرٍ قائم على الاستخدام يتطلّب إعادةَ بناء تاريخٍ غير موجود.

متى تحتاجها

إن صدق أكثرُ من واحدةٍ ممّا يلي، فهذه عادةً نقطةُ البداية الصحيحة.

  • تشغّلون نشرًا منفصلًا لكلّ عميل، فيضاعف كلُّ إصدارٍ حجمَ العمل.
  • يسأل عميلٌ مؤسسي محتمل عن موطن البيانات والعزل وتسجيل الدخول الموحّد (SSO)، ولستم على يقينٍ ممّا تحتمله بنيتكم.
  • تُطابَق الفوترةُ يدويًّا كلَّ شهر لأنّ النظام لا يستطيع أن يقول ما الذي استهلكه العميلُ فعلًا.
  • كلُّ عميلٍ على نسخةٍ مختلفة قليلًا، فلا يستطيع الدعمُ إعادةَ إنتاج خللٍ قبل أن يسأل عن رقم النسخة.

ما الذي يشمله النطاق

  • نموذجُ تعدّد المستأجرين — مخطّطٌ مشترك، أو مخطّطٌ لكلّ مستأجر، أو قاعدةُ بياناتٍ لكلّ مستأجر — مختارًا وفق متطلّبات العزل والموطن والتشغيل لديكم.
  • الانضمامُ والخدمةُ الذاتية: التسجيل، وتهيئةُ المستأجر، ودعوةُ المستخدمين، والأدوار، وتسجيلُ الدخول الموحّد لمن يشترطه من العملاء.
  • القياسُ وتكاملُ الفوترة، مع تسجيل الاستخدام كأحداثَ غيرِ قابلة للتعديل يمكن إعادةُ تجميعها وتدقيقُها.
  • أعلامُ الميزات (Feature Flags) والاستحقاقات، بما يفصل ما اشتراه المستأجرُ عمّا نُشر إليه.
  • استراتيجيةُ الإصدار: تسليمٌ من فرعٍ رئيسي واحد، وطرحٌ مرحلي، وترحيلاتٌ واعية بالمستأجر تُبقي الجميع على نسخةٍ واحدة.

ما الذي تستلمه

المُخرَجما يحتويه
تصميمُ التعدّديةنموذجُ العزل مكتوبًا مع تبعاته في الموطن والنسخ الاحتياطي والجار المزعج، بما في ذلك كيفيةُ تهيئة المستأجر وتصديرِ بياناته وحذفه.
تطبيقُ المنتجالتطبيقُ متعدّد المستأجرين وأسطحُ الانضمام والإدارة فيه وحزمةُ اختباراته، داخل مستودعكم منذ الأسبوع الأول.
القياسُ والفوترةالتقاطُ أحداث الاستخدام وتجميعُها والتكاملُ مع مزوّد الفوترة لديكم، مع مسارِ مطابقةٍ بين الأحداث الخام والفواتير الصادرة.
خطُّ التسليمخطُّ CI/CD بطرحٍ مرحلي وترحيلاتٍ واعية بالمستأجر وإدارةٍ لأعلام الميزات ومراقبةٍ مقسَّمة حسب المستأجر.

مخطّطٌ معماريٌّ مرجعيّ

مرجعٌ لا قالب. بيئتُك هي التي تقرّر أيَّ أجزائه ينطبق، وبأيّ ترتيبٍ يصل.

مخطّطٌ مرجعيٌّ لمنتجات SaaS: طبقاتُ التجربة والمنصّة والتسليمالتجربة: Onboarding, Self-service, Billing Portal. المنصّة: Multi-tenancy, Metering, Feature Flags. التسليم: CI / CD, Release Strategy, ObservabilityالتجربةOnboardingSelf-serviceBilling PortalالمنصّةMulti-tenancyMeteringFeature FlagsالتسليمCI / CDRelease StrategyObservability
مخطّطٌ مرجعيٌّ لمنتجات SaaS: طبقاتُ التجربة والمنصّة والتسليم

كيف يُقاس النجاح

تُتَّفق المستهدفاتُ معك قبل بدء العمل، ويُرفَع التقريرُ عليها طوال مدّته.

  • أحداثُ الاستخدام الملتقَطة مقابل المبالغ المفوترة، مطابَقةً باستمرارٍ ليُكتشف نقصُ القياس قبل أن يكتشفه العميل.
  • الجاهزيةُ وزمنُ الاستجابة مُبلَّغَين لكلّ مستأجرٍ إلى جانب الإجمالي، لأنّ تجربةَ مستأجرٍ واحد ليست هي المتوسّط.
  • زمنُ تجهيز الإصدار، ومدّةُ الطرح، وتكرارُ التراجع، مأخوذةً من خطّ التسليم لا مقدَّرةً بعد وقوعها.

أسئلةٌ تُطرح علينا

  • أيّ نموذجٍ لتعدّد المستأجرين نختار؟

    المخطّطُ المشترك بعمود مستأجرٍ هو الأرخصُ تشغيلًا والأسهلُ خطأً، إذ يكفي مرشّحٌ واحد ناقص ليقع تسريبُ بيانات. والمخطّطُ لكلّ مستأجر يمنح فصلًا أوضح بكلفة إجراء الترحيلات عبر مخطّطاتٍ كثيرة. وقاعدةُ البيانات لكلّ مستأجر تجيب مطالبَ الموطن والعزل لكنّها تضاعف التشغيل. نختار وفق متطلّباتكم التعاقدية الفعلية، ونكتب ما يكلّفه الاختيار.

  • هل نبدأ بمستأجرٍ واحد ونضيف التعدّدية لاحقًا؟

    يمكنكم، وهو أغلى ممّا يبدو. معرّفُ المستأجر يجب أن يظهر في كلّ استعلامٍ ومفتاحِ تخزينٍ مؤقّت ومهمّةٍ خلفية ومسارِ ملفٍّ وسطرِ سجل، وإضافتُه لاحقًا تعني لمسَها جميعًا والثقةَ بأنّ شيئًا لم يفلت. وإن كنتم تعلمون أنّ أكثر من عميلٍ قادم، فضعوا الحدَّ من أوّل دورةِ عمل ولو نشرتم لعميلٍ واحد.

  • ماذا لو طلب عميلٌ إبقاءَ بياناته داخل بلده؟

    يُعالَج ذلك بوصفه خاصيةَ نشرٍ لا تفريعًا في الكود: النسخةُ نفسها منشورةً في إقليم، مع توجيهٍ للمستأجرين يعرف أين يقيم كلُّ مستأجر. وهو أمرٌ مباشر إن كان نموذجُ التعدّدية قد توقّعه، ومؤلمٌ إن لم يفعل، ولهذا ينتمي موطنُ البيانات إلى أوّل حوارٍ عن البنية لا إلى مفاوضةٍ تعاقدية لاحقة.

  • هل تتكاملون مع مزوّدي الفوترة؟

    نعم. يصبح مزوّدٌ مثل Stripe نظامَ السجلّ للفوترة، بينما يبقى تطبيقكم نظامَ السجلّ للاستخدام. والجزءُ المهمّ هو تخزينُ الاستخدام كأحداثَ غيرِ قابلة للتعديل، لتستطيعوا إعادةَ التجميع بعد تغيير التسعير وتفسيرَ أيّ فاتورة من البيانات الأصلية لا من جدول ملخّص.

  • كيف تُصدرون دون كسر العملاء؟

    تطويرٌ على فرعٍ رئيسي واحد، وترحيلاتُ قاعدة بياناتٍ متوافقة مع الخلف تُطبَّق قبل الكود الذي يحتاجها، وأعلامُ ميزاتٍ تفصل النشرَ عن الإطلاق، وطرحٌ مرحلي يبدأ بالمستأجرين الداخليين ومنخفضي المخاطر. والتراجعُ مصمَّمٌ كمسارٍ طبيعي، ما يعني أنّه لا يُسمح لأيّ ترحيلٍ بجعله مستحيلًا.

  • ما الذي يلزم لتكون جاهزًا للمؤسسات؟

    عمليًّا: تسجيلُ دخولٍ موحّد بـ SAML أو OIDC، وتزويدُ مستخدمين بـ SCIM، وصلاحياتٌ قائمة على الأدوار، وسجلُّ تدقيقٍ يقرؤه العميلُ بنفسه، وتصديرُ البيانات وحذفُها، والتزاماتُ جاهزيةٍ تستطيعون قياسَها فعلًا، وإجاباتٌ واضحة عن المعالِجين الفرعيين وموطن البيانات. لا شيء منها صعبٌ منفردًا، لكنّها جميعًا مكلفةٌ حين تُضاف تحت ضغط صفقة، وتلك هي حجّةُ ترتيبها قبل أن يتراكم خطُّ العملاء المؤسسيين.

اقرأ أيضًا

  • تطبيقات الويب

    تطبيقاتُ ويب تُبنى وفق ميزانيةٍ للأداء وإمكانية الوصول (Accessibility) منذ البداية: البنية، وطبقةُ الـ API، وخطُّ CI/CD، والمراقبة التي تملكونها.

  • تطبيقات الهاتف المحمول

    تطبيقاتُ iOS وAndroid يُصمَّم فيها العملُ دون اتصال وقواعدُ المزامنة والتعارض، وطبقةُ الخدمة الخلفية، وخطُّ الإصدار إلى المتاجر، قبل أوّل شاشة.

ابدأ بتقييم

أسرعُ طريقٍ إلى جوابٍ مفيد نظرةٌ قصيرةٌ محدَّدةُ النطاق على ما لديكم أصلًا.