Автоматизированное управление сервисами и оборудованием
Логические настройки сервисных конфигураций, отраженные в клиентском портале, автоматически транслируются в настройки распределенного серверного и сетевого оборудования, а также в параметры программного обеспечения, поддерживающего работу сервисов. Платформа может самостоятельно изменять работу приложений и оборудования, опираясь на динамические данные, например, показания технологического мониторинга и информацию об оптимальных сетевых маршрутах. Благодаря собственной системе оркестрации все компоненты Платформы работают и управляются как единый механизм, технологические настройки из текущего состояния в желаемое переводятся с высокой скоростью, гарантируется непрерывное функционирование сервисов.
Карта оптимальных сетевых маршрутов
Платформа NGENIX поддерживает в актуальном состоянии карту сетевых маршрутов, содержащую соответствие операторских сетей и узлов Платформы, через которые лучше всего обслуживать входящие запросы из этих сетей. Карта строится с учетом данных из таблиц BGP, результатов активных измерений операторских подсетей с использованием протокола ICMP и анализа запросов реальных пользователей. Учитываются средние и максимальные значения круговой задержки, время отклика и установления соединения с пользователем, время обработки запросов к DNS, скорость загрузки данных, информация о доступных маршрутах, их длине и разметке и др.
Распределенная система технологического мониторинга
Мониторинг состояния Платформы осуществляется с помощью распределенной сети из более чем 50 пробников, которые регулярно проверяют доступность сервисных конфигураций из сетей различных операторов связи, в том числе внешних по отношению к Платформе. Пробники вычисляют сетевую задержку, замеряют скорость скачивания тестовых объектов и направляют данные на распределенные серверы мониторинга и управления для анализа связности и доступности компонентов Платформы. Полученная информация используется подсистемами балансировки трафика для улучшения качества маршрутизации запросов. Агрегированные данные системы мониторинга непрерывно поступают в NGENIX Network Operation Center (NOC) для мониторинга и оперативного реагирования службами эксплуатации на системные инциденты.
Статистика в режиме реального времени
Система статистики Платформы NGENIX ежедневно обрабатывает более 20 млрд записей, собираемых с более чем 1000 серверов, распределенных по территории РФ и ближнего зарубежья. Архитектура и производительность системы позволяет получать отчеты о зарегистрированных событиях с задержкой в 1 минуту. Встроенные в состав серверов доставки коллекторы собирают статистику и направляют её в распределенную систему хранения и обработки данных, реализованную на основе СУБД Clickhouse. Данные из Clickhouse используются для генерации отчетов по запросу из клиентского портала NGENIX Multidesk или через NGENIX Reports API, а также для формирования лог-файлов в нативном формате NGENIX. Лог-файлы автоматически выгружаются системой статистики на серверы хранения раз в час. Система также поддерживает стриминг «сырых» логов серверов доставки на внешние Syslog-серверы по протоколу UDP.
Интеллектуальная многоуровневая балансировка трафика
Балансировка запросов по узлам и серверам доставки обеспечивается работой нескольких подсистем Платформы, которые отвечают за построение актуальной карты оптимальных сетевых маршрутов и выбор приоритетных серверов доставки с учетом утилизации сетевых и вычислительных ресурсов и популярности кэшируемых данных. Для эффективного обслуживания запросов в условиях неравномерности пользовательского трафика используются методы прогнозирования и статистического анализа. В общей сложности при обработке пользовательского запроса алгоритм выбора оптимального узла и сервера доставки учитывает более 40 различных параметров. В результате достигается максимальная скорость доступа к данным и в тоже время исключается чрезмерная нагрузка на сервер оригинации заказчика и на отдельные участки облачной платформы.
Мультиформатный адаптивный стриминг
Платформа NGENIX поддерживает все современные технологии доставки видео — Apple HTTP Live Streaming (HLS), Adobe HTTP Dynamic Streaming (HDS), MPEG-DASH, Microsoft Smooth Streaming (MSS), Adobe RTMP Flash, RTSP и Progressive Download. Для охвата аудитории с низкой скоростью доступа в интернет применяется технология адаптивного битрейта — серверы преобразования видеоданных транскодируют и сегментируют исходный файл или поток в набор заранее подготовленных пресетов (SD, HD, FullHD, UltraHD и др.). При просмотре видео серверы доставки отдают в каждый момент времени оптимальную с точки зрения скорости доступа версию сегментированного потока. Переключение осуществляется бесшовно.
Хранение горячих данных
Система объектного хранения с доступом по протоколу S3 поверх HTTPS построена на базе кластера Ceph и позволяет хранить миллиарды объектов и обрабатывать запросы на скорости до 100K RPS. Для разграничения доступа разных групп пользователей в системе предусмотрена возможность использования выделенных областей хранения объектов (S3 Buckets) с уникальными реквизитами для доступа из сети интернет (S3 Endpoint) и авторизации (S3 Access/Secret key). При синхронизации данных по протоколу S3 загружаются только новые или измененные файлы, что позволяет значительно уменьшить объем передаваемых данных. Отказоустойчивость системы обеспечивается тройной репликацией данных в топологически распределенных узлах Платформы, благодаря чему отказ до 2/3 серверов хранения не приведет к потери данных. Система хранения объектных данных может быть использована в качестве прединтегрированного высокоскоростного источника данных для серверов доставки.
Адаптивное кэширование
Управление функцией распределенного кэширования на Платформе NGENIX осуществляется на серверах доставки или с помощью заголовков, выставляемых в соответствии со стандартом RFC 7234 на веб-сервере, где размещены оригинальные данные. Платформа определяет конкретный набор серверов доставки, которые будут использованы для кэширования и доставки объекта (Sharding). При росте популярности объекта в конкретном регионе происходит автоматическое подключение дополнительных серверов доставки. Взаимодействие с веб-сервером через слой серверов промежуточного кэширования позволяет снизить количество запросов к оригинальным данным со стороны множества распределенных серверов доставки (Origin Shielding). Для оптимизации нагрузки и увеличения скорости ответа Платформа разбивает файлы большого размера на несколько частей (Slicing) и загружает их в кэши Платформы отдельными запросами. Платформа поддерживает возможность принудительного удаления любого объекта из кэш-памяти или очистку кэшей серверов доставки целиком по API или через клиентский портал NGENIX Multidesk (Purging).
Управление логикой обработки HTTP‑запросов
При обработке HTTP‑запроса сервера доставки проверяют каждый пользовательский запрос на соответствие определенным условиям и, в случае соответствия, выполняют в отношении такого запроса определяемые действия. В качестве условий используются заранее созданные списки значений: страна источника запроса, HTTP‑заголовок, HTTP‑метод, URI запроса, аргумент запроса, порт (TCP). В отношении HTTP‑запроса возможна настройка действий: allow/deny, HTTP‑redirect, setHeader, delHeader, js‑challenge. Настроив правила, пользователь Платформы может ограничить или разрешить доступ к данным на Платформе для пользователей, обладающих определенным признаком (география, тип устройства, IP‑адрес, принадлежность IP‑сетям датацентров, Tor, proxy, версия TLS и HTTP и др.), добавлять или модифицировать заголовки запроса и перенаправлять запрос, в том числе c использованием переменных, и др.