Сценарий
Содержание
Построение распределённой системы микросервисовОписание сценыРешениеВизуализация глобальных сервисовОписание сценыРешениеУправление релизами сервисовОписание сценыРешениеУстранение ошибок трафикаОписание сценыРешениеУправление надёжностью соединений сервисовОписание сценыРешениеУправление безопасностью соединений сервисовОписание сценыРешениеУправление полным жизненным циклом service meshОписание сценыРешениеПостроение распределённой системы микросервисов
Описание сцены
В процессе перехода корпоративных приложений к контейнеризации и микросервисам формируется большая и сложная распределённая архитектура микросервисов. Необходима система, которая сможет управлять и эксплуатировать эти сервисы, помогая разработчикам решать возникающие задачи, такие как обнаружение сервисов, балансировка нагрузки, восстановление после сбоев, сбор метрик и мониторинг, серый релиз, ограничение скорости, контроль доступа, сквозная аутентификация и др.
Решение
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 для предоставления стандартных дашбордов для мониторинга компонентов и бизнес-информации.