Сценарии использования

Содержание

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

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

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

Решение

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

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

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

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

Решение

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

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

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

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

Управление выпуском сервисов

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

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

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

Решение

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

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

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

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

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

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

Решение

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

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

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

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

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

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

Решение

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

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

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

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

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

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

Решение

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

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

Управление жизненным циклом сетевой структуры сервисов

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

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

Решение

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

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

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

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

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