Citrix Application Delivery Controller یا ADC ها با هدف کنترل شرایط مربوط به ارائه برنامههای پیشرفته و همچنین بهبود عملکرد آن ها، همگام با افزایش تقاضا برای Applianceهای تعدیلبار در طول دهه گذشته مورد توجه زیادی قرار گرفتند.
ADCها از ابزارهای شبکهسازی (Networking Appliance) هدفمند به شمار میروند که بهبود عملکرد، امنیت و Resiliency برنامههای تحتوب از وظایف آن ها محسوب میشود.
دراین مقاله، بسیاری از سرویسهای اصلی و مهم ADC ها معرفی میگردد و توضیحاتی در مورد نحوه بهرهگیری از آن برای کاربران و مدیران ارائه میشود.
ارائه برنامه یا Application Delivery
برنامهها عمدتا در گذر زمان سیر تکاملی را طی میکنند. به طورکلی کاربرد Delivery به عنوان ابزاری جهت تامین همیشگی برنامه ها برای کاربر، در عصر کنونی که عصر تحرک پذیری (Mobility) و Cloud می باشد، در جایگاه ویژه ایی قرار گرفته است. برنامههای کسب و کار در شرکتها از نرمافزارهای محدود به Desktop، که بر روی سرور محلی و قابل دسترسی برای کاربران نصب میشوند، به سمت LAN حرکت نموده است. بنابراین Applicationهای امروزی باید در تمامی شبکه ها و موقعیتهای فراتر از محدوده فیزیکیِ محیط کار، قابل استفاده باشند.
ADCها به عنوان ابزاری مهم با کاربردی گسترده در شرکتها، امکان تطبیق برنامه با شبکهها و پروتکلهای مطلوب امروزی را فراهم نموده و همچنین اجرای مطلوب و بهینه برنامه، دسترسی همیشگی و عدم وجود هر گونه ریسک امنیتی را برای کاربر و کسب و کار تضمین مینمایند.
قابلیت دسترسیپذیری برنامه یا Application Availability
کاربر سطح متوسط، انتظار دارد که تجهیزات و برنامههایی که در طول روز با آنها سرو کار دارد، همیشه فعال بوده و اطلاعات مقتضی را در صورت نیاز به سرعت ارائه نماید. برآورده شدن این انتظارات منوط به نوع تجهیزات و برنامههای بهکار رفته میباشد. برنامههای کسب و کار به منظور دستیابی به رضایتمندی کاربران باید مانند برنامههای مورداستفاده برای امور شخصی و سرگرمی دارای کاربری آسان باشند.
بسیاری از کارمندان به تجهیزات متعلق به شرکت محدود نمیشوند و در صورت تمایل میتوانند از تجهیزات و وسایل شخصی خود در محل کار نیز استفاده نمایند. با در نظر گرفتن امکان کار و فعالیت کاری برای افراد در هر ساعت از شبانهروز، شرکت IT باید از قابلیت دسترسی به سرورها و برنامههای کاری در تمامی ساعات شبانهروز اطمینان یابد. شرکتها به سرمایهگذاریهای کلان در زمینه زیرساختهای IT میپردازند تا دسترسی همیشگی کارکنان به برنامهها و اطلاعات را در زمان مقتضی تضمین نمایند.
البته امکان خرابی سرورها به دلیل مشکلات مکانیکی، کاربرد بیش از حد (Overutilization) و مسائل امنیتی وجود دارد. در صورت خرابی سرور، برنامههای مربوط به آن غیرقابل استفاده یا غیر قابل دسترس میشوند. سازمانهای مبتنی بر IT میتوانند با ایجاد تحمل خطا (Fault Tolerance) در محیط کار، در جهت برنامه ریزی در زمان بروز این موارد اقدام نمایند. استفاده از سرورهای اضافی در دیتاسنتر یا در سایت، از استراتژیهای معمول برای Fail-over به شمار میروند. ADCها به تضمین دسترسیپذیری بالای برنامهها از طریق ارائه Failover یکپارچه (Seamless) کمک میکنند؛ این کار از طریق تعدیل بارکاری برنامهها، در کلاستری از سرورهای فعال در یک یا چندین سایت صورت میپذیرد.
نحوه تعدیل بار در Citrix Application Delivery Controller
سرور Load Balancing، به توزیع ترافیک در یک کلاستر از سرورها کمک مینماید که این امر موجب بهینهسازی کاربرد، بهبود پاسخگویی و ارتقای دسترسیپذیری میگردد.
Citrix Application Delivery Controller یا ADC از الگوریتمها و Policyها برای تشخیص نحوه توزیع ترافیک ورودی استفاده مینماید. الگوریتم Round Robin که درخواست Clientها را برای سرور ارسال میکند، یکی از فرمهای نسبتا ابتدایی جهت Load Balancing محسوب میشود. در این روش فرض بر آن است که تمامی سرورها مشابه و یکسان هستند و سالم بودن و پاسخگویی آنها موردنظر قرار نمیگیرد. مدیر میتواند Policyهای بیشتری را اجرا نماید تا قبل از تعیین سروری که درخواست باید به آن ارسال شود، ADC را برای کنترل چندین معیار تنظیم نماید. ADC دارای قابلیت بررسی Packet Headerها برای واژگان کلیدی یا انواع فایل درخواستی میباشد و بر اساس این اطلاعات، درخواست را به سرور مناسب ارسال مینماید.
علاوه بر موارد فوق، ADCها به واسطه قابلیتهای مانیتورینگ خود به طور گسترده به کار گرفته میشوند. آنها قادر به کنترل وضعیت سالم بودن سرور می باشند که این عملکرد فراتر از Ping استاندارد سرور است. اگر در فرآیند مانیتورینگ، وجود مشکلی در سرور نشان داده شود و یا اینکه یکی از معیارهای مورد نیاز برای اطمینان از بینقصی و اعتبار سرور، وجود نداشته باشد؛ ADC، ترافیک را به سرور جایگزین هدایت میکند تا از هرگونه قطعی جلوگیری شود. که این مورد در شکل فوق نشان داده شده است.
در ضمن ADCها میتوانند تحلیل بر حسب زمان (Historical Analysis) و در لحظه (Real-time) را برای ترافیک تمام کاربران و شبکه ارائه نمایند که شامل معیاری برای زمان Round-trip، میزان مصرف پهنای باند و دیتاسنتر و همچنین تاخیر (Latency) در شبکه WAN میباشد. این اطلاعات با کاهش زمان صرف شده توسط کارمندان برای شناسایی دلیل مشکل، به آنها کمک نموده و راهکارهای سریعی به آنها ارائه مینماید.
سرورهای تعدیل بار در سایتهای متعدد با ADC
تعدیلبار یا Load Balancing یکی از سرویسهای مهم در دیتاسنترهای پرترافیک محسوب میگردد، اما ADCها نیز این قابلیت را دارند که ترافیک را به کلاستری از سرورهای موجود در یک دیتاسنتر کاملا متفاوت هدایت نمایند، که این فرآیند تعدیلبار کلی سرور یا Global Server Load Balancing نامیده میشود.
سرورهای موجود در دیتاسنترهای دیگر را می توان از طریق یک Citrix Application Delivery Controller دیگر Front-End نمود که به همراه یک Appliance اولیه کار میکند. این سایتها را میتوان به صورت Active-Passive یا Active-Active تنظیم نمود. در حالت دوم، هردو سایت به طور فعال از ترافیک ورودی پشتیبانی میکنند. هر یک از ADCها، تشخیص میدهد که کدام دیتاسنتر به کاربر موردنظر نزدیکتر است، سپس درخواست وی را به سروری در آن دیتاسنتر ارسال میکند. این فرآیند باعث کاهش تاخیر و زمان Round trip برای درخواست کاربر شده و کسب یک تجربه بهتر را تضمین میکند.
همچنین این پیکربندی در صورت از کار افتادن دیتاسنتر، ادامه کسب و کار (Business Continuity) را پشتیبانی مینماید. هنگامی که ترافیک به دیتاسنتر موردنظر هدایت میشود، ADC آن را به Citrix Application Delivery Controller قابلدسترسی در سایت مجاور منتقل میکند که در نتیجه هدایت ترافیک مستقیم را به منبع سرور مناسب امکانپذیر میسازد.
ـــــــــــــــــــــــــــــــ
Citrix Application Delivery Controller یا ADC چیست؟ – قسمت اول
Citrix Application Delivery Controller یا ADC چیست؟ – قسمت دوم(پایانی)