سیستم های multi-tenant
- خانه
- chevron_left
- مقالات
- chevron_left
- سیستم های multi-tenant
آشنایی با معماری Multi-Tenancy در رایانش ابری یا کلود
فضاهای ابری
فضاهای ابری از تکنولوژی Multitenancy برای به اشتراک گذاشتن منابع IT به صورتی امن و بهصرفه استفاده میکنند. این اشتراکگذاری با امنیتی بالا بین چندین اپلیکشن و کاربر که از فضای ابری استفاده میکنند انجام میشود. از آنجاییکه تاثیر این معماری بر روی بهرهوری و ارایه سرویس بسیار قابل توجه است، اغلب مدیران IT و معمارهای سیستمی در استفاده از آن درنگ نمیکنند.
در معماری Multi-Tenancy، چندین کاربر میتوانند از یک نمونه (Single Instance) از اپلیکیشن نرمافزاری استفاده کنند. یعنی این نمونه روی سرور اجرا میشود و به چندین کاربر سرویس میدهد. هر کاربر را یک Tenant مینامیم. میتوان به Tenantها امکان تغییر و شخصیسازی بخشی از اپلیکیشن را داد مثلا رنگ رابط کاربری یا قوانین کسبوکار، اما آنها نمیتوانند کدهای اپلیکیشن را شخصیسازی کنند.
Multi-Tenancy مقرون به صرفه و اقتصادی است زیرا هزینههای توسعه و نگهداری از نرمافزار تقسیم میشود. این معماری را میتوان با معماری Single-Tenancy مقایسه کرد که هر کاربر نمونه نرمافزاری خودش را دارد و میتواند به کدها دسترسی یابد. تامینکنندگان در معماری Multi-Tenancy فقط باید یکبار آپدیت انجام دهند ولی در معماری Single-Tenancy باید چندین نمونه از نرمافزار را آپدیت کنند.
مفهوم معماری Multi-Tenancy در رایانش ابری گستردهتر است زیرا مدلهای جدیدی از سرویس در قالب مجازی سازی و دسترسی از راه دور وجود دارد. مثلا Software-as-a-Service (نرم افزار به عنوان یک سرویس) یا SaaS میتواند یک نمونه از اپلیکیشن خود را بر روی یک نمونه از پایگاه داده اجرا کند و برای چندین کاربر امکان دسترسی به وب را فراهم کند. در چنین سناریویی دادههای هر Tenant ایزوله بوده و برای دیگر Tenant ها غیرقابل مشاهده باقی میماند.
سه روش مختلف برای پیادهسازی معماری Multi-Tenant Data وجود دارد:
- Separated Database (بانک اطلاعاتی جدا شده)
- Shared Database, Separate Schemas (بانک اطلاعاتی مشترک ، طرح واره های جداگانه)
- Shared Database, Shared Schemas (بانک اطلاعاتی مشترک ، طرح واره های مشترک)
جمعبندی
فضاهای ابری از تکنولوژی Multitenancy برای به اشتراک گذاشتن منابع IT به صورتی امن و بهصرفه استفاده میکنند. این اشتراکگذاری با امنیتی بالا بین چندین اپلیکیشن و کاربر که از فضای ابری استفاده میکنند انجام میشود.
برخی کلودها از معماری مبتنی بر مجازیسازی استفاده میکنند تا Tenantها را ایزوله و امن نگه دارد و برخی دیگر از معماری نرمافزاری بهره میگیرند.
از آنجاییکه تاثیر این معماری بر روی بهرهوری و ارایه سرویس بسیار قابل توجه است، اغلب مدیران IT و معمارهای سیستمی در استفاده از آن درنگ نمیکنند.