App Sharing در Citrix و Horizon چیست؟ بررسی فنی، کاربردها و تفاوتها
فرض کنید کاربر فقط به Excel، AutoCAD، نرمافزار حسابداری یا یک برنامه سازمانی خاص نیاز دارد؛ اما برای اجرای آن مجبور نباشد یک دسکتاپ مجازی کامل دریافت کند. در این شرایط، چرا باید برای هر کاربر یک ماشین مجازی جداگانه ایجاد کنیم؟ اینجاست که App Sharing در Citrix و Horizon اهمیت پیدا میکند. در این معماری، برنامه در زیرساخت مرکزی اجرا میشود و کاربر فقط همان Application را روی سیستم خود مشاهده و استفاده میکند؛ بدون اینکه الزاماً یک Desktop کامل در اختیار داشته باشد. این روش علاوه بر سادهتر کردن مدیریت نرمافزارها، میتواند در طراحی صحیح، مصرف منابع زیرساخت را نیز بهینه کند.
App Sharing چیست؟
App Sharing یا Application Sharing به روشی گفته میشود که در آن یک نرمافزار روی سرور یا ماشین مجازی اجرا شده و رابط کاربری آن از طریق یک ارتباط ریموت در اختیار کاربر قرار میگیرد. در این مدل، کاربر معمولا یک Published Application دریافت میکند. برای مثال، فرض کنید یک سازمان ۵۰۰ کاربر دارد اما تنها ۱۵۰ نفر از آنها به یک نرمافزار حسابداری خاص نیاز دارند. به جای اینکه برای هر کاربر یک Desktop کامل ایجاد شود، میتوان Application موردنظر را روی زیرساخت مرکزی قرار داد و فقط برای کاربران مجاز Publish کرد.
Published Application چیست؟
Published Application به برنامهای گفته میشود که در زیرساخت مرکزی اجرا شده و از طریق پلتفرمهایی مانند: Citrix یا Horizon در اختیار کاربر قرار میگیرد.کاربر ممکن است تصور کند نرمافزار مستقیما روی کامپیوترش اجرا میشود، اما پردازش اصلی در سرور یا ماشین مجازی انجام میشود. به عنوان نمونه:
کاربر → Citrix Workspace → زیرساخت Citrix → VDA → Application
در Horizon نیز ساختار مشابهی وجود دارد، اما Published Application معمولا در کنار فناوریهایی مانند RDSH مورد استفاده قرار میگیرد.
تفاوت App Sharing با VDI چیست؟
یکی از مهمترین نکات در طراحی زیرساخت مجازی، تفاوت بین Application Publishing و VDI است.در VDI، کاربر معمولا یک Desktop کامل دریافت میکند. این Desktop میتواند شامل Windows، نرمافزارهای مختلف، تنظیمات شخصی، فایلها و منابع اختصاصی باشد.اما در App Sharing، کاربر تنها Application موردنیاز خود را دریافت میکند.
یک مثال ساده
فرض کنید کاربری فقط به نرمافزار حسابداری سازمان نیاز دارد.در معماری VDI ممکن است یک Windows Desktop مجازی در اختیار او قرار بگیرد و نرمافزار حسابداری روی همان Desktop اجرا شود.اما در Application Sharing، کاربر میتواند مستقیما نرمافزار حسابداری را اجرا کند، بدون اینکه محیط کامل Desktop را ببیند. بنابراین:
- VDI: ارائه یک Desktop کامل
- App Sharing: ارائه یک یا چند Application مشخص
- Remote Desktop: دسترسی به یک Session یا Desktop از راه دور
این تفاوت در ظرفیتسنجی و طراحی زیرساخت اهمیت زیادی دارد.
App Sharing در Citrix چگونه کار میکند؟
در Citrix Virtual Apps and Desktops میتوان Applicationهای سازمانی را برای کاربران و گروههای مشخص Publish کرد. کاربر از طریق Citrix Workspace App به محیط سازمان متصل میشود و اپلیکیشن هایی را که مجوز استفاده از آنها را دارد مشاهده میکند.پس از اجرای Application، Session مربوط به کاربر روی زیرساخت سازمان ایجاد شده و پردازش Application در سمت سرور انجام میشود.
نقش VDA در App Sharing
VDA یا Virtual Delivery Agent یکی از اجزای اصلی معماری Citrix است. VDA روی ماشینی نصب میشود که Application یا Desktop روی آن اجرا خواهد شد و ارتباط Session کاربر با زیرساخت Citrix را برقرار میکند.به زبان ساده، اگر Citrix را یک سیستم تحویل Application در نظر بگیریم، VDA یکی از اجزای اصلی سمت مقصد است که امکان اجرای Session را فراهم میکند.
App Sharing در Horizon چگونه انجام میشود؟
در VMware Horizon که اکنون تحت برند Omnissa Horizon توسعه پیدا میکند، Published Application معمولا با استفاده از Microsoft RDSH پیادهسازی میشود.در این مدل، یک یا چند Windows Server به عنوان Remote Desktop Session Host فعالیت میکنند.چند کاربر میتوانند به صورت همزمان Sessionهای جداگانهای روی یک RDSH داشته باشند و Application موردنظر خود را اجرا کنند.
RDSH چیست؟
Remote Desktop Session Host یکی از اجزای Microsoft Remote Desktop Services است که امکان ایجاد Sessionهای همزمان برای کاربران مختلف روی یک Windows Server را فراهم میکند. برای مثال:
User 1 ─┐
User 2 ─┤
User 3 ─┤──> RDSH Server ──> Application
User 4 ─┤
User 5 ─┘
در این مدل، کاربران محیط Session خودشان را دارند، اما منابع سختافزاری سرور میان Sessionها به اشتراک گذاشته میشود.
تفاوت App Sharing در Citrix و Horizon
هر دو پلتفرم Citrix و Horizon امکان ارائه Application از زیرساخت مرکزی را فراهم میکنند، اما معماری و روش مدیریت آنها یکسان نیست.
| ویژگی | Horizon | Citrix |
| Published Application | دارد | دارد |
| VDI | دارد | دارد |
| Application Delivery | دارد | دارد |
| RDSH | معماری متداول | قابل استفاده |
| Client | Horizon Client | Citrix Workspace App |
| مدیریت Application | Horizon | Citrix Virtual Apps and Desktops |
| Application on Demand | پشتیبانی در معماری Horizon | بسته به معماری و نسخه |
بنابراین نباید Citrix را صرفاً یک پلتفرم VDI و Horizon را صرفا یک ابزار Desktop مجازی در نظر گرفت. هر دو پلتفرم میتوانند برای ارائه Desktop و Application استفاده شوند.
مهمترین مزایای App Sharing
کاهش نیاز به Desktop مجازی برای همه کاربران
اگر کاربران تنها به چند Application مشخص نیاز داشته باشند، ایجاد یک Desktop کامل برای هر کاربر ممکن است همیشه ضروری نباشد.در App Sharing میتوان Application را به شکل متمرکز ارائه کرد.این معماری میتواند در سازمانهای بزرگ، مدیریت منابع و Sessionها را سادهتر کند.
مدیریت متمرکز نرمافزارها
یکی از مزیتهای مهم اشتراکگذاری اپلیکیشن، مدیریت متمرکز Applicationها است.فرض کنید یک نرمافزار روی صدها کامپیوتر نصب شده است. هر بار که نسخه جدیدی منتشر شود، تیم IT باید فرآیند Update را روی Endpointهای مختلف مدیریت کند.اما در معماری Application Publishing، نرمافزار در زیرساخت مرکزی مدیریت میشود و کاربران نسخه مدیریتشده را دریافت میکنند.
کنترل بیشتر روی دسترسی کاربران
در معماری App Sharing میتوان مشخص کرد چه کاربری به چه Applicationای دسترسی داشته باشد.برای مثال:
* واحد مالی → نرمافزار حسابداری
* واحد منابع انسانی → نرمافزار HR
* واحد فروش → CRM
* مدیران → مجموعه مشخصی از Applicationها
این موضوع باعث میشود ارائه نرمافزار بر اساس Role و نیاز واقعی کاربر انجام شود.
محدودیتهای App Sharing چیست؟
App Sharing با وجود مزایای متعدد، برای همه اپلیکیشن ها و کاربران مناسب نیست.
وابستگی به شبکه
چون Application در زیرساخت مرکزی اجرا میشود، کیفیت ارتباط شبکه روی تجربه کاربر تأثیر مستقیم دارد. مواردی مانند Latency، Packet Loss و پهنای باند باید در طراحی بررسی شوند.
ناسازگاری برخی Applicationها
بعضی نرمافزارها ممکن است به نسخه خاصی از DLL، Runtime یا Componentهای Windows نیاز داشته باشند. اگر چند نرمافزار ناسازگار روی یک RDSH نصب شوند، مدیریت محیط میتواند دشوار شود. در این شرایط استفاده از روشهایی مانند Application Packaging یا Application Layering میتواند قابل بررسی باشد.
App Sharing و App Volumes چه ارتباطی دارند؟
در محیط Horizon میتوان از Omnissa App Volumes برای مدیریت و جداسازی Applicationها از Image سیستمعامل استفاده کرد. در این معماری، Application میتواند به شکل Package مدیریت شود و در زمان مناسب در اختیار Session کاربر قرار بگیرد.این روش مخصوصا برای سازمانهایی که تعداد زیادی Application دارند، میتواند به مدیریت بهتر Imageها و Applicationها کمک کند.
Published Apps on Demand چیست؟
در برخی معماریهای Horizon، Application میتواند در زمان درخواست کاربر در اختیار Session قرار بگیرد.به زبان ساده، به جای اینکه همه Applicationها همیشه روی تمام RDSHها فعال باشند، میتوان فرآیند ارائه Application را بر اساس نیاز کاربران طراحی کرد.این موضوع در محیطهای بزرگ میتواند انعطافپذیری بیشتری در مدیریت Applicationها ایجاد کند.
آیا App Sharing برای نرمافزارهای گرافیکی مناسب است؟
این سؤال برای سازمانهایی که با نرمافزارهایی مانند: AutoCAD، 3ds Max، Maya، SolidWorks و نرمافزارهای مهندسی کار میکنند اهمیت زیادی دارد.App Sharing به خودی خود به معنی استفاده از GPU نیست.اگر Application موردنظر برای پردازش گرافیکی به GPU نیاز داشته باشد، باید در طراحی زیرساخت، منابع GPU نیز در نظر گرفته شوند.
چه عواملی باید بررسی شوند؟
در یک معماری گرافیکی باید موارد زیر بررسی شوند:
* مدل GPU
* مقدار VRAM
* نوع تخصیص GPU
* تعداد Sessionهای همزمان
* Resolution
* پروتکل نمایش
* Codec
* Latency شبکه
در نتیجه App Sharing و vGPU رقیب یکدیگر نیستند و در بعضی سناریوها میتوانند در کنار یکدیگر استفاده شوند.
چه زمانی App Sharing انتخاب مناسبی است؟
Application Sharing بیشتر زمانی ارزش خود را نشان میدهد که کاربران به مجموعه محدودی از نرمافزارها نیاز داشته باشند.برای مثال، این معماری میتواند برای سازمانی با تعداد زیادی کاربر و Applicationهای مشخص قابل بررسی باشد.سناریوهای رایج عبارتاند از:
* کاربران Task Worker
* نرمافزارهای سازمانی
* نرمافزارهای حسابداری
* CRM
* نرمافزارهای اداری
* Applicationهای داخلی سازمان
* محیطهایی که مدیریت متمرکز نرمافزار اهمیت دارد
البته انتخاب معماری نهایی باید بر اساس تعداد کاربران، نوع Application، منابع سختافزاری، امنیت، Network و Licensing انجام شود.
اجرای App Sharing با کمک متخصصان رهاکو
پیادهسازی App Sharing در Citrix و Horizon تنها به Publish کردن یک نرمافزار محدود نمیشود. طراحی صحیح Sessionها، ظرفیت CPU و RAM، معماری RDSH یا VDI، سیاستهای امنیتی، دسترسی کاربران، پروفایلها، Printer و USB Redirection و در صورت نیاز منابع GPU باید پیش از اجرا بررسی شوند.
رهاکو (Rahaco) در حوزه مجازیسازی و زیرساختهای Citrix، Horizon، VDI و Application Delivery فعالیت میکند و سازمانها میتوانند برای مشاوره، طراحی و پیادهسازی زیرساخت App Sharing از خدمات کارشناسان این مجموعه استفاده کنند. هدف، انتخاب معماری متناسب با نوع Applicati و نیاز واقعی کاربران است تا زیرساخت نهایی از نظر کارایی، مدیریتپذیری و مقیاسپذیری قابل اتکا باشد.
App Sharing یا VDI؛ کدام معماری مناسبتر است؟
پاسخ این سؤال برای تمام سازمانها یکسان نیست.اگر کاربران فقط به چند Application مشخص نیاز دارند، Application Publishing میتواند گزینهای قابل بررسی باشد.اما اگر کاربر به یک Windows Desktop کامل، نرمافزارهای متعدد، تنظیمات شخصی و محیط کاری اختصاصی نیاز داشته باشد، معماری VDI ممکن است مناسبتر باشد. در سازمانهای بزرگ حتی میتوان از معماری ترکیبی استفاده کرد:
Virtual Workspace
│
┌─────────────┴─────────────┐
│ │
VDI Published Apps
│ │
کاربران تخصصی کاربران Application محور
در این روش، هر گروه کاربری بر اساس نیاز واقعی خود سرویس دریافت میکند.
جمعبندی
App Sharing در Citrix و Horizon روشی برای ارائه متمرکز Application به کاربران است که در آن Application در زیرساخت مرکزی اجرا میشود و کاربر بدون دریافت الزاماً یک Desktop کامل، به نرمافزار موردنیاز خود دسترسی پیدا میکند. Citrix با قابلیتهای Published Applications و Horizon با معماری RDSH، Application Pool و قابلیتهای مرتبط با Published Apps امکان پیادهسازی این مدل را فراهم میکنند.با این حال، انتخاب بین App Sharing، VDI یا معماری ترکیبی باید بر اساس شرایط واقعی سازمان انجام شود. تعداد کاربران، نوع Applicationها، منابع CPU و RAM، نیازهای GPU، امنیت، Network و Licensing همگی در این تصمیم نقش دارند.در یک طراحی حرفهای، هدف صرفاً اجرای Application از راه دور نیست؛ بلکه باید معماریای ایجاد شود که پایدار، امن، مقیاسپذیر و قابل مدیریت باشد.