Контроллер доставки приложений (Application Delivery Controller, ADC) уже давно стал для ИТ-специалистов привычным термином, под которым понимают устройства, обеспечивающие различные сетевые функции, такие как равномерное распределение нагрузки, оптимизация работы приложений и загрузки сетевого канала, а также различные функции по безопасности, включая обработку шифруемых соединений браузера.
Контроллер доставки приложений может похвастаться завидной «карьерой»: будучи по началу обычным балансировщиком нагрузки, он трансформировался в мультифункциональную платформу, чей самый производительный представитель развивает скорость передачи данных в приложении до 200 Гбит/с и способен обрабатывать до 5 млн HTTP-запросов одновременно.
Для виртуализированных и частных облачных сред уже давно существуют виртуальные ADC, которые по функциональности мало чем отличаются от своих физических собратьев. Несколько виртуальных ADC могут работать параллельно на базе центральной мощной ADC-платформы, такой как Citrix NetScaler SDX. При наличии широкого спектра виртуальных и аппаратных устройств это обеспечивает гибкие возможности для масштабирования.
Однако следующая эволюция оптимизатора приложений не менее увлекательна. Распространение практик DevOps для обеспечения тесной интеграции команд разработки, тестирования и эксплуатации приложений, а также для контроля качества и ИТ-операций ведет к тому, что ADC трансформируются из традиционного сетевого устройства в элемент производственной среды разработчика программного обеспечения.
Команды разработчиков могут также просто встроить ADC-устройства в свои архитектуры приложений, как и любой другой виртуальный сервер. К тому же благодаря NetScaler CPX теперь доступен полный диапазон ADC-функций в форм-формате Linux-контейнера.
Контейнерная технология, подобная Docker, сегодня особенно популярна среди программистов при разработке приложений, ориентированных на облачные среды. Типичные облачные микросервисы — или даже целые облачные архитектуры приложений — можно легко внедрить в публичные облачные среды, протестировать, а при необходимости вновь деинициализировать или передать в работающий процесс благодаря Docker и аналогичным решениям.
БЫСТРЕЕ К ОБЛАЧНОМУ ПРИЛОЖЕНИЮ
Используя ADC в формате контейнера, программисты могут заранее протестировать облачные приложения в рамках цикла разработки в соответствии с реальным рабочим сценарием, включающим в себя такие типичные ADC-функции оптимизации производительности и доступности сервера приложений, как балансировка нагрузки, переключение контента (Content Switching), кеширование контента, специфичное для подписчика сервисов управление трафиком и оптимизация транспортного протокола TCP. К перечисленным также добавляются такие функции безопасности для ADC-контейнера, как терминирование сеансов SSL, отражение DoS- и DDoS-атак, межсетевой экран для защиты Web-приложений, а также организация многофакторной аутентификации.
При выборе подходящего ADC для DevOps важна не только поддержка решений для управления контейнерами и оркестрации, таких как Docker Swarm, Google Kubernetes и Apache Mesos. ADC на базе контейнера должен прежде всего поддерживать обнаружение необходимых сервисов и автоматическую реконфигурацию, чтобы быстро реагировать на изменения в среде приложений. Кроме того, он должен иметь интегрированную функциональность управления и аналитики, чтобы команды разработчиков DevOps в динамичной среде приложения всегда могли получить информацию о появившихся в инфраструктуре копиях ADC и их производительности.
Благодаря таким возможностям, Citrix NetScaler CPX способствует плавному переходу к ориентированным на облачную среду приложениям, а также оптимизации производительности приложений в гибридных облачных средах. И самое главное: Citrix NetScaler CPX в редакции Express доступен для разработчиков бесплатно.
Сергей Халяпин, главный инженер представительства Citrix в России и странах СНГ