Istio — новый service mesh от Google, IBM и Lyft для микросервисов с поддержкой Kubernetes

Иллюстрация с сайта Istio
Вчера компании Google, IBM и Lyft анонсировали новый Open Source-проект Istio, реализующий функции service mesh («сетки для сервисов») для приложений с микросервисной архитектурой.
Service mesh — это новая категория программного обеспечения, обретающая актуальность в связи с растущей популярностью облачных приложений (cloud native), микросервисов, контейнеров и инструментов для их оркестровки. По своей сути это выделенный слой инфраструктуры, обеспечивающий взаимодействие (доставку запросов) между сервисами, разнесёнными по контейнерам с учётом имеющейся топологии. Известная реализация службы service mesh — это проект linkerd, развиваемый фондом CNCF (Cloud Native Computing Foundation).
В основу анонсированного вчера Istio лёг другой Open Source-проект Envoy, разработанный в Lyft и написанный на языке C++11, характеризуемый как «прокси седьмого уровня (L7) и шина для взаимодействия». Envoy позволяет создавать фильтры как подключаемые плагины, работающие как на сетевом уровне (TCP/IP), так и HTTP (поддерживается и HTTP/2), поддерживает gRPC, имеет парсеры для сбора статистики в NoSQL-базы данных MongoDB и DynamoDB, поддерживает множество методов для обнаружения сервисов (Service Discovery) и балансировку нагрузки (с учётом доступности бэкенд-серверов).
Istio называется «открытой платформой для соединения микросервисов, управления ими и обеспечения безопасности». Istio позиционируется как готовое решение для решения таких актуальных для микросервисных и облачных приложений задач, как обнаружение сервисов, балансировка нагрузки, отказоустойчивость, мониторинг конечных точек, динамическая маршрутизация для экспериментальных возможностей, общая согласованность и безопасность.
В Istio для каждого сервиса разворачивается прокси-сервер Envoy как sidecar-контейнер внутри того же пода Kubernetes. Это позволяет не только изучать поведение трафика и применять нужные политики «на месте», но и разворачивать Istio в существующих инсталляциях микросервисных приложений без необходимости переписывать код или менять архитектуру. На данный момент Istio работает только с Kubernetes, но в ближайшем будущем авторы обещают добавить поддержку Cloud Foundry, Mesos и физических серверов (bare metal). Сайт проекта с подробной документацией на английском языке — https:istio.io. Исходный код Istio написан на языке Go, распространяется на условиях свободной лицензии Apache License v2 и опубликован на GitHub.
P.S. Подробнее о том, что такое service mesh и зачем он нужен, можно прочитать в блоге компании «Флант» (перевод материала от создателей Linkerd, опубликованного к релизу 1.0).
Постоянная ссылка к новости: http://www.nixp.ru/news/14047.html. Дмитрий Шурупов по материалам Istio, techcrunch.com.
Oracle открыла код двух проектов для Kubernetes на базе Fn project и Cluster Federation
Представлен Amazon EKS для запуска кластеров Kubernetes в облаке AWS
Open Source-проекты Envoy (сетка для сервисов) и Jaeger (система трассировки) приняты в CNCF
Microsoft добавила поддержку контейнеров Azure Container Instances в Kubernetes и стала членом CNCF
Spinnaker 1.0 — Open Source-платформа Google для DevOps с поддержкой CI/CD в разных облаках
Draft — Open Source-инструмент Microsoft для деплоя приложений в Kubernetes
Последние комментарии
-
Zlata02747393, 11 января в 15:11 → Математика в школе 16
-
rgo, 11 января в 10:28 → Как «замокать» файл для юниттеста в Python? 1
-
Zlata02747393, 11 января в 9:47 → посоветуйте!!Как ой велосипед приобрести девушке? 9
-
Yarossslavovich, 30 декабря в 13:05 → Как настроить чтоб работало две сетевые платы — две сети 2
-
ilyas490, 8 декабря в 13:27 → Книги по Bash? 13

На прошлой неделе состоялся релиз Istio 0.2 с поддержкой cluster wide deployment: https://istio.io/blog/istio-0.2-announcement.html