Сценарии применения

Содержание

Построение распределённых микросервисных систем

Описание сценария

В процессе перехода корпоративных приложений на контейнеризацию и микросервисы формируется большая и сложная распределённая микросервисная архитектура. Возникает необходимость в системе управления и эксплуатации этих сервисов, которая помогает разработчикам решать задачи, такие как обнаружение сервисов, балансировка нагрузки, восстановление после сбоев, сбор метрик и мониторинг, canary-релизы, ограничение скорости, контроль доступа, сквозная аутентификация и др.

Решение

Istio предоставляет комплексное решение для микросервисов, удовлетворяя разнообразные потребности микросервисных приложений за счёт предоставления поведенческой аналитики и операционного контроля для всей сервисной сетки. Благодаря высоко практичной реализации Istio корпоративным пользователям достаточно подключить свои сервисы к платформе, которая без вторжений обеспечивает комплексные возможности управления корпоративными приложениями и сервисами. Функционал охватывает глобальную визуализацию сервисов, управление релизами сервисов, надёжное управление соединениями сервисов, управление жизненным циклом сервисной сетки, устранение ошибок сервисов и обеспечение безопасности сервисов.

Глобальная визуализация сервисов

Описание сценария

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

Решение

Платформа интегрирует Istio с OpenTelemetry Java Agent и Jaeger, предоставляя комплексные возможности наблюдаемости.

  • Сбор данных мониторинга без вторжений, позволяя разработчикам сосредоточиться на бизнес-разработке, не беспокоясь о способах получения данных мониторинга.

  • Отображение топологии вызовов сервисов и данных мониторинга трафика в визуальных диаграммах с поддержкой запросов данных цепочек вызовов.

  • Быстрая настройка и управление политиками управления трафиком сервисов, правилами маршрутизации и политиками безопасности через формы.

Управление релизами сервисов

Описание сценария

В процессе быстрого итеративного развития и оптимизации микросервисных приложений, если новая версия сразу выпускается для всех пользователей, возникновение инцидентов в продакшене (например, сбои, падения из-за резких изменений трафика и др.) без оперативного решения проблем значительно ухудшит пользовательский опыт.

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

Решение

Платформа реализует функциональность canary-релизов на основе возможностей маршрутизации Istio и open-source компонента Flagger. При выпуске новой версии сервиса часть пользователей продолжает использовать старую версию, а другие — новую. Если новая версия стабильна и пользователи не возражают, доля трафика на новую версию постепенно увеличивается до полной миграции всех пользователей.

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

Устранение ошибок трафика

Описание сценария

В масштабных микросервисных системах взаимосвязи вызовов между сервисами сложны. При сбое сервиса и длительном сохранении проблемы она может распространиться на другие сервисы, вызывая каскадные сбои и падение системы.

Поэтому для разработчиков и операторов микросервисных систем крайне важно в режиме реального времени наблюдать состояние здоровья сервисов для предотвращения потенциальных рисков и быстро устранять сбои с помощью детальных данных мониторинга при возникновении бизнес-сбоев.

Решение

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

  • Предоставляет связанные диаграммы топологии, панели мониторинга трафика, цепочки вызовов и логи для полного пути устранения ошибок.

  • Позволяет просматривать данные трафика на уровне сервиса, Pod и API через панели мониторинга трафика.

Надёжное управление соединениями сервисов

Описание сценария

В микросервисной архитектуре приложение состоит из множества сервисов, каждый из которых выполняет одну бизнес-функцию. Взаимодействие между сервисами происходит через удалённые вызовы. Это порождает проблему: когда сервис A вызывает сервис B, а сервис B вызывает другие сервисы, если время ответа других сервисов слишком велико или они недоступны, вызовы к сервису A начинают занимать всё больше ресурсов, что приводит к сбоям системы — так называемый эффект лавины.

Решение

Чтобы избежать эффекта лавины в микросервисных системах, платформа поддерживает настройку политик управления трафиком и правил маршрутизации для сервисов, позволяя формировать механизмы защиты и симуляции сбоев при межсервисных вызовах для обеспечения надёжности соединений сервисов и повышения общей стабильности микросервисных систем.

  • Поддерживает стратегии балансировки нагрузки, circuit breaking и настройки connection pool.

  • Поддерживает инъекции ошибок, задержки ответов, таймауты и повторные попытки, переписывание запросов и зеркалирование трафика на основе маршрутизации.

Безопасное управление соединениями сервисов

Описание сценария

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

Решение

  • Платформа обеспечивает шифрование трафика между сервисами. Трафик может быть зашифрован с помощью mTLS путём настройки политик безопасности для сервисов.

  • Настройкой чёрных или белых списков для сервисов реализуется контроль доступа между сервисами внутри одной mesh.

Управление жизненным циклом Service Mesh

Описание сценария

Полноценный Service Mesh включает не только компоненты Istio, но и интегрированные расширяющие компоненты. В мультикластерной среде управление сервисными сетками становится особенно сложным. В течение жизненного цикла сервисной сетки важны не только развертывание, обновление и удаление, но и мониторинг состояния здоровья сервисной сетки, что позволяет операторам своевременно обнаруживать аномалии, устранять неисправности и обеспечивать непрерывную и стабильную поддержку бизнеса.

Решение

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

  • Управление сервисной сеткой: развертывание основных и расширяющих компонентов сервисной сетки, обновление и удаление.

  • Проверка состояния компонентов: проверка здоровья основных и расширяющих компонентов.

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

  • Мониторинг: интеграция с Prometheus и Grafana, предоставление стандартных дашбордов, мониторинг компонентов и бизнес-информации.