العربية
  • multi-tenant
  • saas
  • software
  • development
  • architecture

نماذج الإيجار لتطبيق متعدد المستأجرين

التعمق في مفهوم "التعددية المستأجرين" ومشاركة رؤانا حول كيفية تصورنا له.

Guamian
Guamian
Product & Design

نسمع كثيرًا عن أهمية إنشاء تطبيق متعدد المستأجرين، خاصة في سياق تطوير برنامج كخدمة (SaaS).

هناك بعض الارتباك حول مفهوم "التطبيق متعدد المستأجرين" والنماذج المختلفة المستخدمة لتطويره. في هذه المقالة، ألقينا نظرة أقرب على هذه المصطلحات بطريقة أكثر عملية.

فهم نماذج الإيجار المختلفة من وجهة نظر تقنية

هندسة المستأجر الواحد

هندسة المستأجر الواحد هي نموذج برمجيات أو حوسبة سحابية حيث يحصل كل عميل أو مستأجر على نسخة مخصصة من التطبيق أو الخدمة. إذا نظرنا إلى أصل نموذج الأعمال B2B، فإنه يبدأ بكل نسخة من البرنامج الذي يخدم عميلًا أو شركة واحدة فقط.

single-tenant

الخصائص

  • العزل: يعمل كل عميل أو مستأجر في بيئة معزولة بموارد وقواعد بيانات وتكوينات مخصصة.
  • التخصيص: غالبًا ما تسمح بنى المستأجر الواحد بمزيد من التخصيص والمرونة لتلبية احتياجات العميل الخاصة.
  • الأمان: تعزيز الأمان وخصوصية البيانات نظرًا لأن بيانات العميل لا تُدمج مع بيانات مستأجرين آخرين.
  • القابلية للتوسع: يمكن أن يكون توسيع الموارد والقدرة أكثر بساطة، حيث يمكن ضبط نسخة كل مستأجر بشكل مستقل.
  • الصيانة: صيانة وتحديثات مستقلة، حيث لا تؤثر التغييرات التي تمت في بيئة مستأجر واحد على الآخرين.
  • التكلفة: تكلفة بنية تحتية وتشغيلية أعلى عادةً بسبب الحاجة إلى الحفاظ على نسخ منفصلة لكل مستأجر.

أمثلة

  • الاستضافة المخصصة: تقدم مقدمو خدمة استضافة الويب التقليدية هندسات المستأجر الواحد، حيث يحصل كل عميل على موارده وقواعد بياناته أو تكويناته الخاصة.
  • البرمجيات المحلية: تقدم بعض تطبيقات البرمجيات على مستوى المؤسسات، مثل نظم إدارة علاقات العملاء (CRM) أو نظم إدارة الموارد البشرية (HRMS)، خيارات نشر مستأجر واحد للشركات ذات المتطلبات الصارمة للأمان والتخصيص.
  • SaaS مع مستويات متميزة: في بعض عروض البرمجيات كخدمة (SaaS)، توفر مستويات الاشتراك المتميزة أو المؤسسية خيارات مستأجر واحد للعملاء الذين يحتاجون إلى أمان معزز أو امتثال أو تخصيص.

تُستخدم هندسة المستأجر الواحد بشكل شائع في السيناريوهات التي يكون فيها الامتثال ضروريًا أو يتطلب متطلبات أمان شبه مصممة خصيصًا. على سبيل المثال، تفضل الصناعات مثل التمويل والرعاية الصحية والحكومة، التي لديها متطلبات تنظيمية صارمة، حلول المستأجر الواحد لضمان الامتثال.

ومع ذلك، من المهم ملاحظة أن هندسات المستأجر الواحد يمكن أن تكون أكثر كثافة في الموارد وأكثر تعقيدًا في الإدارة مقارنة بهندسات المستأجرين المتعددين، حيث يحتاج كل نسخة من العميل إلى بنيته التحتية وصيانته. نتيجةً لذلك، قد تكون أكثر مناسبة للتطبيقات التي تحتوي على عدد أقل ولكن أكبر من العملاء أو حيث تكون التخصيص والعزل أمورًا حاسمة.

هندسة المستأجرين المتعددين

التعددية المستأجرين في البرمجيات هي هندسة برمجيات حيث يتم تشغيل نسخة واحدة من البرمجيات على خادم وتخدم العديد من المستأجرين. تُعتبر الأنظمة المصممة بهذه الطريقة "مشتركة" (بدلاً من "مخصصة" أو "معزولة"). المستأجر هو مجموعة من المستخدمين الذين يشاركون الوصول العام مع امتيازات خاصة إلى نسخة من البرمجيات. مع هندسة المستأجرين المتعددين، يتم تصميم تطبيق البرمجيات لتزويد كل مستأجر بحصة مخصصة من النسخة - بما في ذلك بياناتها، وتكوينها، وإدارة المستخدم، ووظيفة المستأجر الفردية، والخصائص غير الوظيفية. -- ويكيبيديا

multi-tenant

الخصائص

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

أمثلة

  • SaaS السحابي: معظم تطبيقات البرمجيات كخدمة (SaaS)، مثل Google Workspace وSalesforce، تستخدم التعددية المستأجرين لخدمة العديد من المنظمات أو المستخدمين على منصة مشتركة.
  • الاستضافة المشتركة: في استضافة الويب، تستضيف خدمات الاستضافة المشتركة العديد من المواقع على نفس الخادم، كل منها ينتمي إلى عميل أو منظمة مختلفة.
  • خدمات السحابة العامة: يستخدم مقدمو السحابة العامة، مثل AWS وAzure، التعددية المستأجرين لخدمة عملاء متنوعين بموارد افتراضية معزولة داخل مراكز بيانات مشتركة.
  • حلول البنية التحتية المؤسسية: مثل وحدة كوبرنتس مشتركة تستخدم من قبل وحدات عمل متعددة داخل منظمة.

إعادة تعريف التطبيقات متعددة المستأجرين في العالم الحقيقي

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

ومع ذلك، تتنوع الأعمال والمنتجات كثيرًا ولديها متطلبات محددة لحالة بحالة، لذا لا يوجد حل واحد يناسب الجميع.

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

في تطوير منتجات SaaS العملي، من الشائع مواجهة سيناريو حيث يتم تصميم المنتج في الأساس بنموذج تعددية مستأجرين عام. ومع ذلك، قد تتوجه بعض جوانب البنية أو الموارد نحو نهج "المستأجر الواحد".

استخدمت AWS الحالة التالية كمثال لتوضيح هذا المفهوم: التعددية المستأجرين مفهوم واسع، ويعتبر حالة بحالة للجمع بين واختيار الإستراتيجية الصحيحة لتعريف ما تريد تحقيقه من الموارد المشتركة وعزل البيانات.

mixed-tenant

بمعنى آخر، أحيانًا لا يزال يسمي الأشخاص هذا النموذج "تعددية "، لذا في التعريف الأوسع للتعددية المستأجرين، لا يعني أن كل مكون في الحل مشترك. بل يعني أن بعض المكونات من الحل تُعاد استخدامها عبر المستأجرين.

فهم هذا المصطلح بشكل شامل يمكن أن يساعدك بشكل أفضل على تفهم احتياجات العملاء والمكان الذي يأتون منه.

بدلاً من التركيز على نموذج معماري واحد، تعكس التعددية المستأجرين واقعية بنية منتج SaaS في العالم الحقيقي. عندما نشير إلى تطبيق متعدد المستأجرين، فهذا لا يعني بالضرورة أن التطبيق يتبع نموذج معماري واحد؛ بل قد يستخدم استراتيجيات تأجير متنوعة، مما يشير إلى أن بعض مكوناته على الأقل مشتركة.

الاعتبارات الرئيسية لتحديد استراتيجية نموذج التأجير الخاص بك

هنا يأتي السؤال، كيف أقترح استراتيجية التأجير لمنتجي؟ إليك بعض الأسئلة الهامة التي يجب التفكير فيها:

  • ما هي أهدافك التجارية؟
  • هل يمكن لحل مستأجر واحد دعم خطط نموك المستقبلية؟
  • ما هو حجم فريق العمليات لديك، وكم من إدارة البنية التحتية الخاصة بك يمكنك أتمتتها؟ هل تهتم بالرشاقة وكفاءة التكلفة؟
  • هل يشعر عملاؤك بالراحة مع خيارات التعددية المستأجرين المختلفة؟
  • كيف يؤثر كل خيار على الامتثال، لك ولعملائك؟
  • هل يُتوقع منك تحقيق اتفاقيات مستوى الخدمة (SLAs) أو تهدف إلى أهداف مستوى الخدمة المحددة (SLOs)؟
  • هل فكرت في الأمن، التكلفة، الأداء، الموثوقية، والاستجابة لاحتياجات المستأجرين الفردية ككل؟

تذكر أنه ليس هناك تقسيم صارم في منتجك حيث يجب عليك اختيار إما نموذج متعدد المستأجرين بحت أو نموذج مستأجر واحد فقط. يجب أن يعتمد قرارك على كيفية تقسيم مكونات بنية منتجك ومستوى العزل المحدد الذي يحتاجه العملاء أو العمل. يمكنك بعد ذلك تطبيق هذه النهج المختلفة وفقًا لذلك.

القادم

تحدثنا عن تعريف "الجديد" للتطبيق متعدد المستأجرين، ولكن ماذا عن عزل المستأجرين، والهويات، وكيفية تحديد ما إذا كان يجب عزل هوياتك أم لا؟ ماذا يعني أن تكون الهويات "معزولة"؟

غالبًا ما ينشأ الارتباك عند التعامل مع المواقف حيث يكون للمستخدم الحقيقي في العالم هويتين مختلفتين. هل من المناسب وضع هذه الحالة تحت مسمى - "الهويات المعزولة"؟

سنتناول هذه الأسئلة في سلسلة المقالات القادمة. انتظرونا!