マイクロソフト、サービスメッシュの新たなオープンソース実装「Open Service Mesh」発表。Envoy採用、CNCFへ寄贈予定
マイクロソフトは、Kubernetes対応のサービスメッシュ(Service Mesh)をオープンソースで実装するプロジェクト「Open Service Mesh」を発表しました。
We are beyond excited to introduce Open Service Mesh (OSM), a lightweight and extensible #servicemesh that implements @SMI_spec and runs on @kubernetesio @EnvoyProxy! Check out what we've been up to here:https://t.co/l6fy4OUorO
— Open Service Mesh (@openservicemesh) August 5, 2020
一般に、Kubernetes上で稼働するアプリケーションは多数の小さなサービスが連係することで構成されます。
このときサービス間のトラフィック管理やサービス間の認証やセキュアな通信、そして全体の可観測性などを実現することが望まれますが、この機能を個々のサービスに実装するのは手間もコストもかかります。
そこでサービス間の通信のプロキシなどとしてサービスに組み込まれるのがサービスメッシュです。そしてこのサービスメッシュが前述のトラフィック管理やサービス間の認証、ログなどを実現してくれることで、サービス自身は機能の実装に注力できるわけです。
すでに代表的なサービスメッシュの実装として、Googleが中心となってオープンソースで開発されている「Istio」や、HashiCorpの「Consul」などが挙げられます。
Service Mesh Interface(SMI)とEnvoyを採用
マイクロソフトは昨年5月にKubernetes上のサービスメッシュAPIを標準化することを目指してHashiCorpらと「Service Mesh Interface」(SMI)と呼ばれる標準仕様を発表。Red HatやRancher、VMware、Pivotal、Canonical、Dockerなどの賛同を受けました。
参考:マイクロソフトやHashiCorpらが「Service Mesh Interface」(SMI)を発表。Kubernetes上のサービスメッシュAPIが標準化へ
マイクロソフトはこのSMI対応のサービスメッシュを実装することを、Open Service Meshのデザインの1つとして挙げています。
下記は「Introducing Open Service Mesh」からOpen Service Meshの特徴についての説明を引用したものです。
First, OSM provides a control plane compatible with the SMI specification, to preserve user choice. Next, OSM uses Envoy for the data plane, due to strong community momentum around Envoy. And finally, the overriding philosophy behind OSM features a “no cliffs” design in order to make OSM flexible enough to handle both simple and complex scenarios using both SMI and programming Envoy xDS APIs directly.
第一に、OSMはSMI仕様と互換性のあるコントロールプレーンを提供することで、ユーザーによる選択を担保します。 第二に、OSMはデータプレーンにEnvoyを使用します。これはEnvoyに対するコミュニティの勢いのためです。
そして最後に、OSMの背後にある基本的な哲学とは、SMIおよびEnvoy xDS APIの直接的なプログラミングを行うことで、単純なシナリオと複雑なシナリオの両方に対応できる柔軟性を持たせる、「ゆるやかな」設計を特徴としています。
また、Open Service MeshはKubernetes Operatorを用いて簡単に導入、運用を行えるようにするとも説明されています。
マイクロソフトはまた、Open Service MeshをCloud Native Computing Foundationへ寄贈するための手続きを開始していることも明らかにしました。
Open Service MeshはIstioにどう対抗する?
サービスメッシュの普及度という点では、現在のところIstioが頭ひとつ抜け出ている感があります。しかしサービスメッシュ自体の普及はこれから本格化するところです。
IstioはすでにGoogleの主要なサービスであるAnthosに組み入れられており、GoogleとしてはIstioの開発を主導しつつAnthosとともに積極的な普及を目指しています。
一方のマイクロソフトは、Open Mesh Interfaceという業界標準の構築と、Cloud Native Computing Foundationへの寄贈による強力なエコシステムの後ろ盾を得ることで、Googleが主導するIstioではなく、よりオープンなサービスメッシュ実装としてOpen Service Meshを立ち上げ、その普及を後押しすることを選んだのだと見られます。
あわせて読みたい
IT系上場企業の平均給与/KubernetesをF-16ジェット戦闘機に載せてみた/Teams向けのローコード向けデータ基盤ほか、2020年7月の人気記事
≪前の記事
TypeScriptのWebサイトが新しくなり、ロゴも刷新。PlaygroundやHandbookのコンテンツなど充実へ