tenant / multi-tenant چیست؟

tenant / multi-tenant

«Tenand» در اصلاح عامیانه به معنی مستاجر می‌باشد. در مباحث فناوری اطلاعات معنای عامیانه مستاجری نمی‌باشد. در واقع مستاجر، گروهی از کاربران است که دسترسی مشترکی با امتیازات خاص به نمونه نرم‌افزار دارند. چند اجاره‌ای یا «Multi-tenancy» یک معماری است که در آن یک برنامه نرم‌افزاری به مشتریان متعددی سرویس می‌دهد و هر مشتری به عنوان مستاجر یا «Tenant» شناخته می‌شود. ممکن است مستاجران بتوانند چند بخش از برنامه را تغییر دهند. به عنوان مثال، قوانین تجاری یا رابط کاربری، اما نمی‌توانند کد برنامه را تغییر دهند.

tenant در علم مهندسی

در زمینه علوم کامپیوتر و مهندسی نرم‌افزار، مستاجر یا «Tenant» یک پارتیشن منطقی از یک برنامه نرم‌افزاری است که به چندین مشتری، سازمان یا کاربر اجازه می‌دهد تا زیرساخت یکسانی را به اشتراک بگذارند. اما هر مستاجر به داده‌ها، پیکربندی‌ها و سایر منابع دسترسی جداگانه و مجزا دارد. گویی هر مستاجر نمونه خود را از برنامه اجرا می‌کند. این مفهوم به ویژه برای نرم‌افزارهای چند مستاجر یا «multi-tenant» به‌عنوان برنامه‌های سرویس (SaaS) مفید است. جایی که ارائه‌دهنده خدمات می‌خواهد یک نمونه از برنامه را به مشتریان متعدد ارائه دهد، اما هر مشتری باید توهم اجرای برنامه مستقل خود را داشته باشد.

سیستم های multi-tenant

multi-tenant

چند اجاره‌ای نرم‌افزار یک معماری نرم‌افزاری است که در آن یک نمونه از نرم‌افزار بر روی یک سرور اجرا می‌شود و به چندین مستأجر سرویس می‌دهد. سیستم‌هایی که به این شکل طراحی شده‌اند Shared یا «به اشتراک گذاشته شده» معنی می‌شوند. (به جای dedicated / «اختصاصی» یا isolated / «ایزوله شده»). مستاجر گروهی از کاربران است که دسترسی مشترکی با امتیازات خاص به نمونه نرم‌افزار دارند. با معماری چند مستاجر، یک برنامه نرم‌افزاری طراحی شده است تا به هر مستاجر سهم اختصاصی از نمونه را ارائه دهد. از جمله داده‌ها، پیکربندی، مدیریت کاربر، عملکرد فردی مستاجر و ویژگی‌های غیر کاربردی. چند اجاره‌ای با معماری‌های چند نمونه‌ای در تضاد است، جایی که نمونه‌های نرم‌افزاری جداگانه به نمایندگی از مستاجرین مختلف عمل می‌کنند.

tenant

به عنوان مثال، یک شرکت SaaS که یک سیستم برنامه‌ریزی منابع سازمانی (ERP) ارائه می‌کند ممکن است یک پایگاه داده، سرور و کد برنامه واحد داشته باشد. اما مستاجران جداگانه برای هر مشتری، با هر مستاجر مجموعه‌ای از کاربران، داده‌ها، پیکربندی‌های خاص خود را دارد. و سفارشی‌سازی‌ها مستاجران از یکدیگر جدا هستند، به طوری که داده‌ها و سفارشی‌سازی‌های یک مستاجر توسط مستاجر دیگر قابل دسترسی نیست. به این ترتیب، ارائه‌دهنده SaaS می‌تواند کل زیرساخت را مدیریت کند و به مشتریان زیادی با سربار کاهش‌یافته، خدمات ارائه کند. در حالی که هر مشتری می‌تواند برنامه را سفارشی کند تا نیازهای خاص خود را برآورده کند.

معماری tenant / multi-tenant