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

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

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

بمعنى آخر، أحيانًا لا يزال يسمي الأشخاص هذا النموذج "تعددية "، لذا في التعريف الأوسع للتعددية المستأجرين، لا يعني أن كل مكون في الحل مشترك. بل يعني أن بعض المكونات من الحل تُعاد استخدامها عبر المستأجرين.
فهم هذا المصطلح بشكل شامل يمكن أن يساعدك بشكل أفضل على تفهم احتياجات العملاء والمكان الذي يأتون منه.
بدلاً من التركيز على نموذج معماري واحد، تعكس التعددية المستأجرين واقعية بنية منتج SaaS في العالم الحقيقي. عندما نشير إلى تطبيق متعدد المستأجرين، فهذا لا يعني بالضرورة أن التطبيق يتبع نموذج معماري واحد؛ بل قد يستخدم استراتيجيات تأجير متنوعة، مما يشير إلى أن بعض مكوناته على الأقل مشتركة.
هنا يأتي السؤال، كيف أقترح استراتيجية التأجير لمنتجي؟ إليك بعض الأسئلة الهامة التي يجب التفكير فيها:
تذكر أنه ليس هناك تقسيم صارم في منتجك حيث يجب عليك اختيار إما نموذج متعدد المستأجرين بحت أو نموذج مستأجر واحد فقط. يجب أن يعتمد قرارك على كيفية تقسيم مكونات بنية منتجك ومستوى العزل المحدد الذي يحتاجه العملاء أو العمل. يمكنك بعد ذلك تطبيق هذه النهج المختلفة وفقًا لذلك.
تحدثنا عن تعريف "الجديد" للتطبيق متعدد المستأجرين، ولكن ماذا عن عزل المستأجرين، والهويات، وكيفية تحديد ما إذا كان يجب عزل هوياتك أم لا؟ ماذا يعني أن تكون الهويات "معزولة"؟
غالبًا ما ينشأ الارتباك عند التعامل مع المواقف حيث يكون للمستخدم الحقيقي في العالم هويتين مختلفتين. هل من المناسب وضع هذه الحالة تحت مسمى - "الهويات المعزولة"؟
سنتناول هذه الأسئلة في سلسلة المقالات القادمة. انتظرونا!