Application Delivery Controller (ADC) یک دستگاه شبکه است که اتصالات مشتری به برنامه های پیچیده وب و سازمانی را مدیریت می کند. ADCها به طور استراتژیک در مرکز داده قرار دارند و ترافیک کاربر نهایی را به و از سرورهای وب و برنامه ارائه می کنند.
خاستگاه و تکامل کنترل کننده تحویل برنامه
مفهوم Application Delivery Controller از بار متعادل کننده های اصلی که برای توزیع ترافیک بین بسیاری از سرورها استفاده می شد، نشات گرفت. این فناوری در اواخر دهه 1990 و اوایل دهه 2000 تکامل یافت، زمانی که اولین نسل از ADC ها برای غلبه بر محدودیت های متعادل کننده های بار ساده معرفی شدند.
این ADC های نسل اول که به عنوان پلتفرم های تحویل برنامه مبتنی بر شبکه نیز شناخته می شوند، قابلیت های پیشرفته ای مانند بارگذاری SSL، ماندگاری کوکی ها و موارد دیگر را ارائه کردند. در طول سالها، ADCها پیچیدهتر شدهاند و ویژگیهای پیشرفتهتری مانند سوئیچینگ محتوا، فشردهسازی HTTP، اتصال چندگانه، SSL VPN، ذخیرهسازی محتوا و عملکردهای فایروال را ارائه میدهند.
درک دقیق کنترل کننده تحویل برنامه
یک ADC اساساً به عنوان متعادل کننده بار عمل می کند و درخواست های مشتری را در چندین سرور توزیع می کند تا استفاده از منابع را بهینه کند، توان عملیاتی را به حداکثر برساند، زمان پاسخ را به حداقل برساند و از اضافه بار هر سرور منفرد جلوگیری کند. با گنجاندن ویژگیهای اضافی برای افزایش عملکرد و امنیت، از جمله SSL Offload، فایروال برنامه وب (WAF)، شتاب برنامهها و موارد دیگر، یک قدم فراتر میرود.
نقش اصلی ADC ارائه خدمات شبکه لایه 4 (لایه انتقال) و لایه 7 (لایه کاربردی) برای توزیع موثر ترافیک شبکه است. ADC مدیریت اتصال، فشردهسازی دادهها، رمزگذاری/رمزگشایی SSL، ذخیرهسازی محتوا و سایر وظایفی را انجام میدهد که این وظایف فرآیند فشرده را از سرورهای برنامه تخلیه میکند و از تحویل روان برنامهها اطمینان حاصل میکند.
عملکرد داخلی کنترل کننده تحویل برنامه
یک ADC هم بر روی محتوای استاتیک و هم بر روی محتوای پویا کار می کند. برای محتوای ثابت، ADC از تکنیکهای ذخیره و فشردهسازی برای افزایش سرعت تحویل استفاده میکند. برای محتوای پویا، از الگوریتم های متعادل کننده بار استفاده می کند تا درخواست های مشتری را به طور یکنواخت در چندین سرور توزیع کند.
ADC معمولا بین فایروال و یک یا چند سرور کاربردی در DMZ شبکه (منطقه غیرنظامی) قرار می گیرد. هنگامی که یک کلاینت درخواستی را برای یک برنامه کاربردی ارسال می کند، ADC درخواست را رهگیری می کند، تصمیم می گیرد که کدام سرور بر اساس چندین عامل (مانند بار سرور، در دسترس بودن و غیره) می تواند درخواست را به بهترین شکل انجام دهد و سپس درخواست را به آن سرور ارسال می کند.
ویژگی های کلیدی Application Delivery Controllers
ADCها ویژگی های متعددی را برای بهینه سازی و ایمن کردن تحویل برنامه در شبکه ارائه می دهند. برخی از این ویژگی های کلیدی عبارتند از:
-
Load Balancing: توزیع درخواست های مشتری در چندین سرور برای جلوگیری از تبدیل شدن هر سرور به گلوگاه.
-
SSL Offloading: بارگذاری فرآیند رمزگذاری و رمزگشایی ترافیک SSL از وب سرور به ADC.
-
فایروال برنامه های وب: محافظت از برنامه های کاربردی وب در برابر تهدیدات و آسیب پذیری های رایج.
-
تغییر محتوا: هدایت درخواست های مشتری به سرور مناسب بر اساس نوع محتوای درخواستی.
-
فشرده سازی HTTP: کاهش اندازه داده های ارسال شده برای تحویل سریعتر.
-
Multiplexing اتصال: کاهش بار روی سرورها با استفاده مجدد از اتصالات سرور.
انواع کنترل کننده های تحویل برنامه
دو نوع اصلی ADC بر اساس استقرار آنها وجود دارد:
-
ADC های مبتنی بر سخت افزار: اینها دستگاه های فیزیکی هستند که در یک مرکز داده نصب شده اند. آنها اغلب برای عملکرد و مقیاس پذیری بالا طراحی شده اند.
-
ADC های مبتنی بر نرم افزار: اینها لوازم مجازی هستند که روی سرورهای استاندارد یا در فضای ابری اجرا می شوند. آنها انعطاف پذیری و صرفه جویی در هزینه را ارائه می دهند، اما ممکن است سطح عملکردی مشابه ADC های سخت افزاری را ارائه ندهند.
تایپ کنید | مزایای | معایب |
---|---|---|
مبتنی بر سخت افزار | عملکرد بالا، مقیاس پذیری | هزینه بالا، انعطاف پذیری کمتر |
مبتنی بر نرم افزار | انعطاف پذیری، صرفه جویی در هزینه | ممکن است فاقد عملکرد باشد |
کاربرد کنترلرهای تحویل برنامه و حل مشکل
ADC ها را می توان به روش های متعددی مورد استفاده قرار داد، اما کاربرد اصلی آنها در مدیریت اتصالات مشتری به وب و برنامه های کاربردی سازمانی نهفته است. آنها همچنین نقش مهمی در حفظ در دسترس بودن برنامه، عملکرد و امنیت دارند.
به عنوان مثال، یک ADC می تواند به حل مشکل توزیع ناهموار ترافیک در سرورها کمک کند و کارایی و پاسخگویی کلی برنامه ها را افزایش دهد. همچنین میتواند با رهگیری و بازرسی ترافیک ورودی برای فیلتر کردن درخواستهای مخرب، به کاهش حملات DDoS کمک کند.
مقایسه ADC با اصطلاحات مشابه
ADC ها اغلب با متعادل کننده های بار و فایروال برنامه های وب (WAF) مقایسه می شوند زیرا برخی از عملکردهای مشترک را به اشتراک می گذارند. با این حال، ADC ها قابلیت های بیشتری را ارائه می دهند:
ویژگی | ADC | متعادل کننده بار | WAF |
---|---|---|---|
تعادل بار | آره | آره | خیر |
SSL Offload | آره | محدود | خیر |
فایروال برنامه های وب | آره | خیر | آره |
تغییر محتوا | آره | خیر | خیر |
فشرده سازی HTTP | آره | خیر | خیر |
Multiplexing اتصال | آره | خیر | خیر |
چشم اندازهای آینده و فناوری های مرتبط با ADC ها
آینده ADC ها با روندهایی که چشم انداز وسیع تر فناوری اطلاعات را شکل می دهند گره خورده است. با ظهور محاسبات ابری، مجازی سازی و شبکه های نرم افزاری تعریف شده، می توان انتظار داشت که شاهد افزایش پذیرش نرم افزار و ADC های مبتنی بر ابر باشیم.
علاوه بر این، با اهمیت روزافزون یادگیری ماشینی و هوش مصنوعی، ADC های آینده ممکن است این فناوری ها را برای تصمیم گیری های هوشمندانه تری برای توزیع ترافیک و شناسایی و کاهش تهدیدات به کار گیرند.
سرورهای پروکسی و کنترل کننده های تحویل برنامه
سرورهای پراکسی و ADC می توانند برای بهبود عملکرد و امنیت شبکه با هم کار کنند. در حالی که یک سرور پروکسی به عنوان یک واسطه برای درخواست های مشتریانی که به دنبال منابع از سرورهای دیگر هستند، عمل می کند، یک ADC اتصالات مشتری به برنامه های پیچیده وب و سازمانی را مدیریت می کند. ADC می تواند بارها را متعادل کرده و امنیت را افزایش دهد، در حالی که سرور پروکسی می تواند جریان اطلاعات بین مشتری و سرور را کنترل و بهینه کند.