1


    Компании Google, IBM и  Lyft представили новый открытый проект Istio, в рамках которого объединили свои наработки в области  координации работы микросервисов. О намерении принять участие в развитии проекта также объявили компании  Red Hat, Datawire, Pivotal и Tigera. Код компонентов проекта написан на языке Go и распространяется под лицензией Apache 2.0.    Концепция микросервисов подразумевает разбиение сложных монолитных приложений на набор обособленных микросервисов, каждый из которых берёт на себя определённую функциональность приложения. Микросервисы могут работать параллельно, адаптируясь к изменению нагрузки. Таким образом приложение реализуется в виде сети из связанных между собой микросервисов, каждый из которых запускается в отдельном контейнере. Для управления контейнерами предлагается использовать средства оркестровки, подобные Kubernetes, Cloud Foundry и Mesos.    Istio представляет собой слой абстракции, работающий поверх средств оркестровки контейнеров, и выполняет задачи по распределению нагрузки по микросервисам, организации аутентификации, разграничению доступа к микросервисам,  защищённого взаимодействия между микросервисами,  мониторинга и балансировки нагрузки. При помощи Istio набор запущенных в разных контейнерах микросервисов обретает слаженную функциональность и может работать как единое целое.       Основные составные части Istio:       Envoy -  прокси для обработки входящго и исходящего трафика между сервисами в кластере, а также обращений к внешним сервисам.  Envoy позволяет организовать взаимодействие между микросервисами, составляющими приложение, поверх сети, предоставляемой нижележащей платформой для управления контейнерами. Прокси образуют mesh-сеть из микросервисов, предоставляя такие функции, как обнаружение новых сервисов, маршрутизация потоков данных, построение цепочки обработки запроса и сбор данных телеметрии;       Mixer - представляет средства для централизованного управления прокси и микросервисами, обеспечивая применение ACL, ограничений пропускной способности, квот, аутентификации, трассировки запросов и накопления сведений о телеметрии.      Manager - управляющий интерфейс, позволяет на лету изменять настройки и управлять работой компонентов Envoy и Mixer.        https://www.opennet.ru/opennews/pics_base/0_1495701532.jpg
      Особенности платформы:       Автоматическая балансировка трафика HTTP, gRPC и TCP;   Тонкое управление поведением трафика в зависимости от правил маршрутизации, обеспечения отказоустойчивости и возникновения/симулирования сбоев;     Подключаемый слой для применения политик и API для управления доступом, ограничением пропускной способности и квотами;   Автоматический сбор метрик,  логов и трассировок для всего входящего и исходящего трафика в кластере;   Организация защищённых каналов связи между сервисами с аутентификацией каждого сервиса в кластере.        В отличие от недавно представленной похожей платформы Linkerd, Istio  не ограничивается организацией сетевого взавимодействия и дополнительно предоставляет такие возможности, как аутентификация и обеспечение правил доступа (policy control). При этом Istio пока поддерживает только Kubernetes, в то время как Linkerd доступен для Kubernetes, DC/OS, Mesos и Docker. 
    Источник: http://www.opennet.ru/opennews/art.shtml?num=46598
   
_источник