Назначение#

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:

  1. Динамическое распределение ресурсов: Горизонтальное масштабирование обеспечивает автоматическое распределение доступных мощностей между приложениями при ограничениях ресурсов.

  2. Kubernetes Add-on: Работает с HPA и другими стандартными компонентами Kubernetes, расширяя их функциональность за счет пользовательских правил масштабирования.

  3. Настройка сценариев масштабирования: Позволяет задавать триггеры и условия для активации масштабирования на основе различных метрик и сценариев (нагрузка CPU/память, пользовательские метрики Prometheus, предиктивные метрики, cron-расписания, состояние workload-ресурсов).

  4. Оптимизация ресурсов: Уменьшает простои и повышает эффективность использования вычислительных мощностей в кластере. Если профильная нагрузка разная, то AUSC позволяет экономить ресурсы. Например, в дневное время нагрузка больше, чем в ночное.

  5. Гибкая настройка политик: Использование политик настройки для гибкой конфигурации правил масштабирования с учетом требований к ресурсам.

  6. Скейлинг в ноль: Позволяет автоматически уменьшать количество реплик приложения до нуля в периоды отсутствия нагрузки, что обеспечивает максимальную экономию ресурсов. Необходим для оптимизации использования ресурсов в непиковые часы, например, для тестовых сред, ночных задач или приложений с неравномерной нагрузкой.

  7. Событийный автоскейлинг: Механизм масштабирования, который реагирует на конкретные события в системе мониторинга в инфраструктуре проекта. Необходим для оперативного реагирования на изменения нагрузки.

  8. Настройка правила масштабирования: Настройка правила масштабирования на основе различных метрик (CPU, память, Prometheus) и сценариев (cron-расписания, workload-зависимости, уровни нагрузки).

Synapse Autoscaler может быть полезен следующим категориям пользователей:

  1. Компании, использующие Kubernetes

    Расширяет функциональность стандартного HorizontalPodAutoscaler (HPA) за счет гибких правил и событийного управления.

  2. Компании, использующие Kubernetes и встречающиеся с разнородной нагрузкой в рамках своих проектов

    Например, сезонные приложения (ритейл, финансы), где требуется быстрое масштабирование вверх/вниз в зависимости от потребностей. К тому же польза для такого рода компаний будет заключаться в экономии ресурсов за счет распределения нагрузки.

  3. Компании, использующие Kubernetes и встречающиеся с периодичной нагрузкой в рамках своих проектов

    Для приложений с регулярными паттернами нагрузки (ежедневные, еженедельные циклы).

  4. Компании с штатным сопровождением

    Для компаний, ответственных за стабильную работу инфраструктуры в production-средах. Польза использования AUSC заключается в снижении затрат на сопровождение, оптимизации DevOps и минимизирования рисков, связанных с человеческим фактором.

Metrics Predictor (PREM)#

Metrics Predictor (PREM) — это компонент прогнозирования, способный выполнять предсказания как на краткосрочные, так и на долгосрочные периоды.

PREM поддерживает автоматическое выявление сезонных паттернов в данных. Точность прогнозирования напрямую зависит от глубины хранения метрик в Prometheus.

Основные возможности PREM:

  1. Подготовка метрик для предиктивного автоскейлинга.

  2. Анализ истории и прогнозирование ожидаемых значений метрик: Обработка исторических данных и построение прогноза ожидаемых значений на основе выявленных паттернов.

  3. Обнаружение аномалий по метрикам: Выявление отклонений в поведении метрик, указывающих на потенциальные проблемы в системе.

  4. Долгосрочное предсказание: Возможность выполнить прогноз на год вперед с учетом сезонных и трендовых закономерностей.

  5. Интеграция с системами мониторинга: Интеграция с системами хранения метрик формата Prometheus.

Metrics Predictor может быть полезен следующим категориям пользователей:

  1. Компании, использующие Prometheus-like мониторинг

    PREM позволяет автоматизировать процесс анализа метрик и принимать меры на основе прогноза. Особенно полезен для систем с большими объемами временных рядов.

  2. Компании, занимающиеся аналитикой данных своих инфраструктурных решений

    PREM предоставляет инструменты для анализа временных рядов, выявления трендов и аномалий, что помогает в принятии решений на основе анализа.

  3. Компании, занимающиеся инфраструктурным планированием

    PREM предоставляет прогноз на дальний срок с учетом сезонных и трендовых закономерностей, что позволяет планировать инфраструктурные расходы. Прогнозные метрики помогают принимать обоснованные решения о расширении емкости до наступления пиковых нагрузок, избегая избыточных затрат и простоев.

Workload Digital Twin (WLDT)#

Workload Digital Twin (WLDT) — это компонент, который строит цифровой двойник системы, который моделирует поведение сервисов на основе данных об утилизации (CPU/память), количества запросов в секунду и графа взаимодействий между микросервисами. Он аппроксимирует эти данные, создавая математические функции, которые позволяют прогнозировать утилизацию ресурсов и необходимое количество реплик.

Основные возможности WLDT:

  1. Аппроксимация данных: Анализирует исторические метрики (утилизация, количество запросов в секунду) и строит функции, которые связывают нагрузку с утилизацией ресурсов.

  2. Прогнозирование утилизации: На основе аппроксимирующих функций рассчитывает, как изменится утилизация сервиса при заданной нагрузке.

  3. Моделирование графа взаимодействий: Учитывает зависимости между сервисами.

  4. Определение необходимого количества реплик:рассчитывает минимальное количество реплик для каждого сервиса, чтобы избежать перегрузки.

Workload Digital Twin может быть полезен следующим категориям пользователей:

  1. DevOps-инженеры и системные администраторы

  2. Разработчики и архитекторы приложений

  3. Аналитики