Synapse Service Mesh
на базе Istio и Envoy Proxy

HighLoad++
Service Mesh Big Survey. Провели обзор текущих подходов к построению Service Mesh совместно с разработчиками Synapse
Joker 2022
Proxyless Service Mesh for gRPC Java Services. Поговорили о микросервисах и паттернах Service Mesh. Что это такое и для чего придумано?
Saint HighLoad++
Евгений Лукин, Chief IT manager из команды Synapse, описал кейс успешной замены иностранной шины данных в Сбере
HighLoad++ Foundation
Максим Чудновский, TechLead из команды Synapse, выступил на HighLoad++ Foundation с докладом «Istio Service Mesh в федеративных топологиях»
Synapse на Habr
Как Synapse Service Mesh помогает вам

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

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


Полностью гиперконвергентная сервисная сеть. Объединяй Kubernetes, OpenShift и Bare Metal

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

Упрощает интеграцию разнородных систем, скрывая сложности транспортных протоколов и несоответствия форматов

С помощью инструментов Service Mesh можно легко вывести новую версию в эксплуатацию параллельно с действующей и организовать канареечное тестирование с балансировкой трафика по версиям

Объединяйте Меши в изолированные федеративные группы, контролируйте и управляйте потоками ваших данных
Архитектура и как это работает
Сервисы для контроля работоспособности как бизнес приложений, так и компонент Synapse Service Mesh
Агент журналирования – легко встраиваемый агент доставки прикладных логов до системы обработки/хранения
Kialli SE - инструмент визуализации интеграционных цепочек внутри Service Mesh: трафика, конфигураций, ошибок и настроек безопасности
Расширенный мониторинг - средства для просмотра журнала логов, наблюдения и отслеживания проблем в компонентах Synapse Service Mesh
Сервис трассировки – реализация сквозной трассировки сообщений с помощью автоматизированного сбора, агрегации и передачи на хранение трейсов интеграционных сервисов
Federated Mesh позволяет объединить множество кластеров Kubernetes и обеспечить прозрачное, безопасное и отказоустойчивое сетевое взаимодействие приложений в мультикластерной среде:
- Поддерживаются любые дистрибутивы Kubernetes с возможностью интеграции виртуальных машин и неконтейнеризованных приложений
- Неограниченные возможности для масштабирования Federated Mesh, использует подход «федерация кластеров» и не требует полной синхронизации. Это позволяет объединять десятки и сотни кластеров без проблем с надежностью и производительностью
- Все возможности Service Mesh в мультикластерной инфраструктуре Federated Mesh включает в себя все механизмы Service Mesh для обеспечения безопасности (strong identity, powerful policy, transparent TLS encryption, authentication, authorization and audit), обозреваемости (detailed metrics, distributed traces, and full access logs) и управления сетевым трафиком (circuit breakers, timeouts, retries)
Основные сервисы Synapse Service Mesh, обеспечивающие работу сервисов в сети, также предоставляющие функционал безопасности, маршрутизации и т.д
IstioD - центральный элемент, выполняет задачи формирования, распространения, актуализации маршрутов трафика (т.н. Service Mesh). Позволяет управлять прокси компонентами без рестарта и ручных операций с ними
Сервисный прокси - позволяет пользоваться основными функциями паттерна Service mesh:
- Управление трафиком (в самом широком смысле)
- Наблюдаемость трафика
- Защита трафика
Граничный прокси - выполняет роль входного/выходного шлюза в пользовательский проект. Помимо возможностей сервисного прокси, предоставляет функции валидации запросов, обработки политик и дополнительных авторизаций/аутентификаций запросов
Сервисы, предназначенные для контроля и увеличения надежности бизнес приложений
Rate Limiter - позволяет задавать SLA сервисам в Service Mesh, более высокоуровневая защита, по сравнению с сircuit breaker сервисного прокси
Валидатор конфигураций - расширяет правила к шаблонам конфигурационных файлов кластера. Позволяет контролировать соответствие загружаемых конфигурационных файлов. Основная область применения – защита от повторных ошибок и проверка соответствия шаблонам архитектуры
Request validator – расширяет функционал граничного прокси, позволяя выполнять проверку входящих/исходящих запросов/ответов по телу сообщения для соответствия xsd/json
Интеллектуальные сервисы, которые позволяют облегчить жизнь администраторам, повысить надежность систем и сделать их быстрее
Predictive Autoscaler - предсказывает надвигающуюся нагрузку и заранее поднимает необходимое количество подов:
- Оптимизирует расходы на Memory и CPU
- Предсказывает надвигающуюся нагрузку и вовремя реагирует на изменения
- Снимает ограничения используемые в ванильном Autoscaler
Anomaly Detection - определяет аномальное поведение подов и характеристику найденный аномалий:
- Обрабатывает большое количество метрик и логов и выдает результат за короткий промежуток времени
- Определяет сервис аномального поведения, какого типа аномалия и позволяет быстро исправить ошибки
Узнать подробнее о продукте SynAI
Инструменты для упрощения разработки, сборки и тестирования сервисов
SyMPle – маркетплейс компонент, адаптеров и шаблонов интеграций платформы Synapse. Предназначен для упрощения разработки на Synapse интеграионных сервисов прикладными разработчиками
DevOps – набор инструментов CI/CD, позволяющий максимально быстро построить Pipelines и начать разработку и работу с компонентами платформы
SyTester – инструмент тестирования сервисов развернутых в облаке
Unimapper – высокопроизводительный и легкий компонент, выполняющий трансформации по описанным правилам xslt/jsont
Kapellmeister – инструмент визуального программирования для упрощения написания сложных композитных интеграционных и прикладных сервисов в Synapse
Техническая документация
ПерейтиОбучение в Bootcamp
Начните знакомство с продуктами и его возможностями для получения максимального эффекта
OpenShift и Kubernetes
Synapse
Интеграция cloud-native приложений с использованием платформы Synapse
Примеры использования
