صبحانه کاری برای شروع رفاقت های کاری و تخصصی

Multi-Tenancy چیست؟

بررسی Multi-Tenancy و معماری نرم‌افزار
Avatar
نویسنده: سانیا عبدی‌پور
دوشنبه 3 دی 1403
مطالعه: ۷ دقیقه ۰ نظر ۴۳ بازدید

Multi-Tenancy چیست؟ یک نوع معماری است که در آن از منابع مشترک برای چندین مشتری در زمینه‌ی رایانش ابری استفاده می‌شود. در این معماری، مشتریان خدمات ابری منحصربه‌فردی را دریافت کرده و محرمانگی داده‌هایشان کاملاً حفظ می‌شود. اما جزئیات Multi-Tenancy چگونه است و چرا این معماری به یکی از ارکان حیاتی طراحی نرم‌افزارهای ابری تبدیل شده‌است؟ در این راهنما از بخش آموزش سرویس‌های میزبانی پارس‌پک همراه ما باشید تا ببینید Multi-Tenancy چگونه به بهینه‌سازی منابع، کاهش هزینه‌ها و ارتقاء مقیاس‌پذیری کمک می‌کند. همچنین به بررسی تاریخچه، کاربردها و مزایا و معایب آن می‌پردازیم.

تعریف Multi-Tenancy

Multi-Tenant Architecture یا معماری چند-مستأجری، به‌معنی استفاده‌ی هم‌زمان چند مشتری از منابع محاسباتی واحد و مشترک ابری (از راه دور و به‌صورت آنلاین) است. برای مثال اگر داده‌های چند شرکت مختلف، روی یک فضای ذخیره‌سازی ابری مشترک ذخیره شود، به آن Multi-Tenancy می‌گویند.
Multi-Tenancy در رایانش ابری یک ویژگی ضروری و بدیهی دارد. این که داده‌های هر یک از مشتریان، کاملاً محفوظ و محرمانه نگهداری می‌شود. به‌طوری‌ که اعضای این منابع مشترک، به هیچ عنوان از یکدیگر و اطلاعاتشان خبر ندارند.
در معماری Multi-Tenancy به هر مشتری، «Tenant» گفته می‌شود. هر Tenant داده‌ها و تنظیمات منحصربه‌‍فرد خود را دارد. اما تمام Tenantها از یک سرویس مشترک استفاده می‌کنند که روی یک زیرساخت و کدهای پایه‌ی واحد طراحی شده‌است. به تضمین امنیت و تفکیک داده‌های هر Tenant نیز Data Isolation (جداسازی داده‌ها) گفته می‌‎شود.
خلاصه‌ترین تعریف Multi-Tenancy چیست؟ اختصاص‌دادن منابع مشترک به چند مشتری مختلف، بدون این که به محرمانگی اطلاعات مشتریان آسیبی وارد شود. معماری چند-مستأجری در حوزه‌های‌ SaaS (Software as a Service) ،Platform as a Service (PaaS)، Infrastructure as a Service (IaaS) و… نقش بسیار مؤثری دارد. هزینه‌ی پایین‌‎تر، مقیاس‌پذیری بالا و مدیریت راحت‌تر سرویس نیز ارزش افزوده‌ی آن نسبت به مدل‌های معماری دیگر است.

برای آشنایی بیشتر با مفهوم SaaS، مقاله زیر از بلاگ پارس‌پک را مطالعه کنید:

SaaS چیست؟ همه‌ چیز راجع به سرویس ابری SaaS

تاریخچه‌ی ابزارهای Multi Tenant

نقطه‌ی پیدایش Multi-Tenancy چیست و چطور به فناوری قدرتمند امروزی تبدیل شد؟ در ادامه می‌بینید که زادگاه این فناوری کجا بود و چطور شکاف‌های موجود را پوشش داد تا جای پای خود را در دنیای رایانش و محاسبات ابری محکم‌تر کند.

پیدایش فناوری اشتراک منابع

اشتراک منابع (Resource Sharing) در رایانش ابری، ایده‌ای بود که جرقه‌ی آن از دهه‌های 1960 و 1970 و با مفهوم به‌اشتراک‌گذاری زمان (Time-Sharing) زده شد. در مدل به‌اشتراک‌گذاری زمان، چندین کاربر می‌توانستند به‌صورت هم‌زمان از یک سیستم مرکزی استفاده کنند. این فناوری اغلب در دانشگاه‌ها و مراکز تحقیقاتی استفاده می‌شد.
در دهه‌ی 1990 بود که ظهور اپلیکیشن‌های میزبانی‌شده (Hosted Applications)، کاربرد فضای مشترک در سیستم‌های ابری را بیش از پیش افزایش داد. در واقع برنامه‌های وب (Web Applications) به‌عنوان یک راهکار جدید برای ارائه‌ی نرم‌افزارها معرفی شد. به این ترتیب کاربران از این به بعد نیازی به نصب برنامه‌ها نداشتند و می‌توانستند از طریق مرورگر به آن نرم‌افزارها (که در فضای ابری بود) دسترسی داشته باشند.

درخشش نرم‌افزارهای SaaS و Multi-Tenancy

در همین زمان نرم‌افزارهای SaaS به میدان آمد. SaaS به جای اختصاص منابع جداگانه به هر مشتری، از معماری چند-مستأجری بهره برد و به این ترتیب پای Multi-Tenancy را هم به دنبال فناوری باز کرد. سرویس‌هایی مانند «Salesforce»، اولین نمونه‎‌های موفق این فناوری بود.
اما با توسعه‌ی سرویس‌های ابری در دهه‌ی 2000 بود که Multi-Tenancy هم به اوج خود رسید. در این میان Amazon Web Services (AWS) و Microsoft Azure از جمله سرویس‌هایی بود که نرم‌افزارهای SaaS را میزبانی می‌کرد و آن‌ها را به‌صورت Multi-Tenancy در اختیار کاربران قرار می‌داد.

رشد و تکامل معماری چند-مستأجری

وقتی کاربران درک کردند که Multi-Tenancy چیست و چطور به مدیریت و بهبود منابع کمک می‌کند، تقاضا برای این سرویس به صورت تصاعدی رشد کرد. از دهه‌ی 2010 به بعد، شرکت‌هایی مانند Google، Microsoft و Amazon چند قابلیت کاربردی را برای برنامه‌های معماری چند-مستأجری (Multi-Tenant Applications) ارائه داد. قابلیت‌هایی مانند ایزولاسیون کامل داده‌ها، مدیریت پیشرفته‌ی هویت و دسترسی و مقیاس‌پذیری خودکار.

کاربردهای Multi-Tenancy چیست؟

اینفوگرافیک کاربردهای Multi Tenancy
کاربردهای Multi Tenancy چیست؟

توسعه‌ی نرم‌افزارهای ابری، کاربرد اصلی Multi-Tenancy است. اما در بررسی دقیق‌تر، مهم‌ترین کاربردهای این فناوری را می‌توان در موارد زیر خلاصه‌ی کرد:

  • پیاده‌سازی و ارائه‌‌ی SaaS، PaaS و IaaS: فناوری‌های SaaS (نرم‌افزار به‌عنوان سرویس)، PaaS (پلتفرم به‌عنوان سرویس) و IaaS (زیرساخت به‌عنوان سرویس)، از مدل Multi-Tenancy استفاده می‌کند تا به‌صورت هم‌زمان به چند مشتری یا سازمان سرویس دهد. برای مثال، سیستم‌های مدیریت مشتری (CRM) مانند Salesforce و پلتفرم‌های همکاری، مانند Microsoft Office 365 و Google Workspace از این مدل بهره‌مند است.
  • محاسبات ابری خصوصی: محاسبات ابری یا Cloud Computing می‌تواند تحت معماری Multi- Tenancy، اما به‌صورت خصوصی انجام شود. یعنی تمام مشتریان مختلف یک سرور، زیرمجموعه‌هایی از یک شرکت بزرگ واحد باشد.
  • نگهداری کانتینرها: کانتینر واحد اجرایی نرم‌افزار است و برنامه‌ی کاربردی، کتابخانه‌ها، تنظیمات و… را بسته‌بندی می‌کند. هر کانتینر، عملکرد مستقلی دارد. بنابراین چند کانتینر مختلف که توسط مشتریان خدمات ابری ایجاد شده، می‌تواند روی یک سرویس از نوع Multi-Tenancy میزبانی شود.
  • پشتیبانی از مجازی‌سازی (Virtualization): با معماری چند-مستأجری می‌توان مجازی‌سازی را (برای ایجاد فضاهای مجازی مستقل برای هر مستأجر) پیاده کرد.
  • میزبانی ابزارهای همکاری: ابزارهایی مانند Slack، Zoom و Microsoft Teams از Multi-Tenancy بهره می‌برد تا سازمان‌ها و تیم‌های مختلف از منابع مشترک برای کارهای مستقل خود استفاده کنند.
  • پلتفرم‌های تجارت الکترونیک: Shopify و Magento به‌عنوان پلتفرم‌های کسب‌وکاری، از مدل Multi-Tenancy بهره‎‌مند است تا فروشندگان مختلف بتوانند فروشگاه خود را در یک محیط مشترک مدیریت کنند.

در مقاله زیر به معرفی PaaS می‌پردازیم. پس برای آشنایی بیشتر با این مفهوم، مقاله زیر را مطالعه کنید:

PaaS چیست؟ هر آنچه باید درباره سرویس PaaS بدانید!

مزایا و معایب Multi-Tenancy

دیدید که Multi-Tenancy چیست و چطور متولد شد. اما این معماری نیز مانند هر فناوری دیگری، در کنار مزایای خود معایبی هم دارد. در جدول زیر می‌توانید نقاط قوت و ضعف این فناوری را ببینید. البته باید اشاره کنیم که در صورت پیکربندی درست سرور و سرویس‌ها، احتمال بروز این معایب نزدیک به صفر خواهد بود.

مزایا استفاده از Multi-Tenancy

  • ارائه‌ی خدمات ابری مطمئن به چند مشتری مختلف
  • کاهش هزینه‌ها
  • Tenant Isolation یا تضمین امنیت و استقلال داده‌های مشتریان
  • مدیریت راحت‌تر به‌روزرسانی‌ها و پچ‌های دسته‌جمعی

معایب Multi-Tenancy

  • احتمال تأثیر عملکرد سنگین یک مشتری بر مشتریان دیگر
  • چالش‌های بیشتر در رعایت قوانین و انطباق با مقررات
  • احتمال سرایت مشکلات داده‌های یکی از مشتریان به داده‌های دیگر
  • سخت بودن مدیریت منابع در Multi-Tenancy

سرویس‌های ابری را از پارس‌پک بخواهید!

با توجه به افزایش کارایی و همچنین محبوبیت سرویس‌های ابری در ایران، پیدا کردن یک ارائه‌دهنده برای این سرویس‌ها امری مهم و حیاتی است. پارس‌پک با برخورداری از سیستم‌های نرم‌افزاری و سخت‌افزاری پیشرفته، به عنوان یکی از بهترین و امن‌ترین ارائه‌دهندگان سرویس‌های ابری شناخته می‌شود. برای مشاهده خدمات ما روی لینک‌های زیر کلیک کنید:

جمع‌بندی

Multi-Tenancy چیست؟ یک معماری نرم‌افزاری که به چندین کاربر یا سازمان (مستأجر) این امکان را می‌دهد که از منابع مشترک به‌صورت هم‌زمان استفاده کنند. جالب آن‌که بر اساس گزارشی از Gartner، امروزه حدود 70% از نرم‌افزارهای سازمانی از این معماری استفاده می‌کنند. این آمار می‌تواند نشان‌دهنده‌ی پذیرش گسترده‌ی این معماری در دنیای فناوری اطلاعات و موفقیت آن در تأمین امنیت داده‌های مشتریان است.

سؤالات متداول

تفاوت Single-Tenancy و Multi-Tenancy چیست؟

در Single-Tenancy هر مستأجر نسخه‌ای اختصاصی از نرم‌افزار یا زیرساخت را برای خود دارد. اما در Multi-Tenancy، چند مستأجر از یک نرم‌افزار یا زیرساخت مشترک استفاده می‌کنند.

امنیت Multi-Tenancy چگونه حفظ می‌شود؟

با تکنیک‌هایی مانند جداسازی داده‌ها، رمزنگاری، کنترل‌های دسترسی و مانیتورینگ مداوم و… .

سرویس‌های چند-مستأجری مناسب چه سازمان‌‎هایی است؟

ارائه‌دهندگان خدمات ابری (مانند SaaS وPaaS)، شرکت‌های بزرگی که به مدیریت چندین واحد کسب‌وکار به‌‌صورت هم‌زمان نیاز دارد و… .

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


ارسال دیدگاه در وبلاگ پارس‌پک را مطالعه کرده و آن‌ها را می‌پذیرم.