Назначение#
Platform V SynAI (далее SYNAI) – это программный продукт, объединяющий несколько программных компонентов, которые с помощью машинного обучения и анализа данных повышают надежность и доступность сервисов за счет оптимизации выделенных ресурсов и предиктивного анализа поведения приложений под нагрузкой.
Synapse Autoscaler (AUSC)#
Synapse Autoscaler (AUSC) — это компонент, который посредством горизонтального масштабирования позволяет динамически распределять ресурсы между приложениями при ограниченных мощностях.
Synapse Autoscaler работает на базе HorizontalPodAutoscaler (HPA) - компонент Kubernetes, и расширяет его функциональность.
AUSC предоставляет гибкую настройку правил масштабирования на основе различных метрик и сценариев с помощью пользовательских ресурсов ScaledObject и ProjectCapacityPolicy.
С помощью AUSC можно явно определить сценарии масштабирования своих приложений на основе различных событий в системе мониторинга кластера. Также AUSC помогает оптимизировать эффективность использования вычислительных ресурсов в рамках кластера.
AUSC является гибким и безопасным решением для управления ресурсами инфраструктуры (Capacity management) на кластере Kubernetes.
Основные возможности AUSC:
Динамическое распределение ресурсов: Горизонтальное масштабирование обеспечивает автоматическое распределение доступных мощностей между приложениями при ограничениях ресурсов.
Kubernetes Add-on: Работает с HPA и другими стандартными компонентами Kubernetes, расширяя их функциональность за счет пользовательских правил масштабирования.
Настройка сценариев масштабирования: Позволяет задавать триггеры и условия для активации масштабирования на основе различных метрик и сценариев (нагрузка CPU/память, пользовательские метрики Prometheus, предиктивные метрики, cron-расписания, состояние workload-ресурсов).
Оптимизация ресурсов: Уменьшает простои и повышает эффективность использования вычислительных мощностей в кластере. Если профильная нагрузка разная, то AUSC позволяет экономить ресурсы. Например, в дневное время нагрузка больше, чем в ночное.
Гибкая настройка политик: Использование политик настройки для гибкой конфигурации правил масштабирования с учетом требований к ресурсам.
Скейлинг в ноль: Позволяет автоматически уменьшать количество реплик приложения до нуля в периоды отсутствия нагрузки, что обеспечивает максимальную экономию ресурсов. Необходим для оптимизации использования ресурсов в непиковые часы, например, для тестовых сред, ночных задач или приложений с неравномерной нагрузкой.
Событийный автоскейлинг: Механизм масштабирования, который реагирует на конкретные события в системе мониторинга в инфраструктуре проекта. Необходим для оперативного реагирования на изменения нагрузки.
Настройка правила масштабирования: Настройка правила масштабирования на основе различных метрик (CPU, память, Prometheus) и сценариев (cron-расписания, workload-зависимости, уровни нагрузки).
Synapse Autoscaler может быть полезен следующим категориям пользователей:
Компании, использующие Kubernetes
Расширяет функциональность стандартного HorizontalPodAutoscaler (HPA) за счет гибких правил и событийного управления.
Компании, использующие Kubernetes и встречающиеся с разнородной нагрузкой в рамках своих проектов
Например, сезонные приложения (ритейл, финансы), где требуется быстрое масштабирование вверх/вниз в зависимости от потребностей. К тому же польза для такого рода компаний будет заключаться в экономии ресурсов за счет распределения нагрузки.
Компании, использующие Kubernetes и встречающиеся с периодичной нагрузкой в рамках своих проектов
Для приложений с регулярными паттернами нагрузки (ежедневные, еженедельные циклы).
Компании с штатным сопровождением
Для компаний, ответственных за стабильную работу инфраструктуры в production-средах. Польза использования AUSC заключается в снижении затрат на сопровождение, оптимизации DevOps и минимизирования рисков, связанных с человеческим фактором.
Metrics Predictor (PREM)#
Metrics Predictor (PREM) — это компонент прогнозирования, способный выполнять предсказания как на краткосрочные, так и на долгосрочные периоды.
PREM поддерживает автоматическое выявление сезонных паттернов в данных. Точность прогнозирования напрямую зависит от глубины хранения метрик в Prometheus.
Основные возможности PREM:
Подготовка метрик для предиктивного автоскейлинга.
Анализ истории и прогнозирование ожидаемых значений метрик: Обработка исторических данных и построение прогноза ожидаемых значений на основе выявленных паттернов.
Обнаружение аномалий по метрикам: Выявление отклонений в поведении метрик, указывающих на потенциальные проблемы в системе.
Долгосрочное предсказание: Возможность выполнить прогноз на год вперед с учетом сезонных и трендовых закономерностей.
Интеграция с системами мониторинга: Интеграция с системами хранения метрик формата Prometheus.
Metrics Predictor может быть полезен следующим категориям пользователей:
Компании, использующие Prometheus-like мониторинг
PREM позволяет автоматизировать процесс анализа метрик и принимать меры на основе прогноза. Особенно полезен для систем с большими объемами временных рядов.
Компании, занимающиеся аналитикой данных своих инфраструктурных решений
PREM предоставляет инструменты для анализа временных рядов, выявления трендов и аномалий, что помогает в принятии решений на основе анализа.
Компании, занимающиеся инфраструктурным планированием
PREM предоставляет прогноз на дальний срок с учетом сезонных и трендовых закономерностей, что позволяет планировать инфраструктурные расходы. Прогнозные метрики помогают принимать обоснованные решения о расширении емкости до наступления пиковых нагрузок, избегая избыточных затрат и простоев.
Workload Digital Twin (WLDT)#
Workload Digital Twin (WLDT) — это компонент, который строит цифровой двойник системы, который моделирует поведение сервисов на основе данных об утилизации (CPU/память), количества запросов в секунду и графа взаимодействий между микросервисами. Он аппроксимирует эти данные, создавая математические функции, которые позволяют прогнозировать утилизацию ресурсов и необходимое количество реплик.
Основные возможности WLDT:
Аппроксимация данных: Анализирует исторические метрики (утилизация, количество запросов в секунду) и строит функции, которые связывают нагрузку с утилизацией ресурсов.
Прогнозирование утилизации: На основе аппроксимирующих функций рассчитывает, как изменится утилизация сервиса при заданной нагрузке.
Моделирование графа взаимодействий: Учитывает зависимости между сервисами.
Определение необходимого количества реплик:рассчитывает минимальное количество реплик для каждого сервиса, чтобы избежать перегрузки.
Workload Digital Twin может быть полезен следующим категориям пользователей:
DevOps-инженеры и системные администраторы
Разработчики и архитекторы приложений
Аналитики