Google и IBM представили Istio, платформу для управления микросервисами
25 мая 2017 года
Компании Google, IBM и Lyft представили новый открытый проект Istio, в рамках которого объединили свои наработки в области координации работы микросервисов. О намерении принять участие в развитии проекта также объявили компании Red Hat, Datawire, Pivotal и Tigera. Код компонентов проекта написан на языках Go и C++, исходные тексты распространяются под лицензией Apache 2.0.
Концепция микросервисов подразумевает разбиение сложных монолитных приложений на набор обособленных микросервисов, каждый из которых берёт на себя определённую функциональность приложения. Микросервисы могут работать параллельно, адаптируясь к изменению нагрузки. Таким образом приложение реализуется в виде сети из связанных между собой микросервисов, каждый из которых запускается в отдельном контейнере. Для управления контейнерами предлагается использовать средства оркестровки, подобные Kubernetes, Cloud Foundry и Mesos.
Istio представляет собой слой абстракции, работающий поверх средств оркестровки контейнеров, и выполняет задачи по распределению нагрузки по микросервисам, организации аутентификации, разграничению доступа к микросервисам, защищённого взаимодействия между микросервисами, мониторинга и балансировки нагрузки. При помощи Istio набор запущенных в разных контейнерах микросервисов обретает слаженную функциональность и может работать как единое целое.
Основные составные части Istio:
- Envoy - прокси для обработки входящего и исходящего трафика между сервисами в кластере, а также обращений к внешним сервисам. Envoy позволяет организовать взаимодействие между микросервисами, составляющими приложение, поверх сети, предоставляемой нижележащей платформой для управления контейнерами. Прокси образуют mesh-сеть из микросервисов, предоставляя такие функции, как обнаружение новых сервисов, маршрутизация потоков данных, построение цепочки обработки запроса и сбор данных телеметрии;
- Mixer - представляет средства для централизованного управления прокси и микросервисами, обеспечивая применение ACL, ограничений пропускной способности, квот, аутентификации, трассировки запросов и накопления сведений о телеметрии.
- Manager - управляющий интерфейс, позволяет на лету изменять настройки и управлять работой компонентов Envoy и Mixer.
Особенности платформы:
- Автоматическая балансировка трафика HTTP, gRPC и TCP;
- Тонкое управление поведением трафика в зависимости от правил маршрутизации, обеспечения отказоустойчивости и возникновения/ симулирования сбоев;
- Подключаемый слой для применения политик и API для управления доступом, ограничением пропускной способности и квотами;
- Автоматический сбор метрик, логов и трассировок для всего входящего и исходящего трафика в кластере;
- Организация защищённых каналов связи между сервисами с аутентификацией каждого сервиса в кластере.
В отличие от недавно представленной похожей платформы Linkerd, Istio не ограничивается организацией сетевого взаимодействия и дополнительно предоставляет такие возможности, как аутентификация и обеспечение правил доступа ( policy control). При этом Istio пока поддерживает только Kubernetes, в то время как Linkerd доступен для Kubernetes, DC/OS, Mesos и Docker.
Источники править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.