Сценарий

Содержание

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

Описание сцены

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

Решение

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

Визуализация глобальных сервисов

Описание сцены

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

Решение

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

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

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

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

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

Описание сцены

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

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

Решение

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

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

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

Описание сцены

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

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

Решение

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

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

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

Управление надёжностью соединений сервисов

Описание сцены

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

Решение

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

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

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

Управление безопасностью соединений сервисов

Описание сцены

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

Решение

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

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

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

Описание сцены

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

Решение

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

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

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

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

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