Istioが新たな仕組み「Ambient Mesh」を発表。サイドカーなしでサービスメッシュを実現
Istioは、サービスメッシュを実現する新たな仕組み「Ambient Mesh」を発表しました。
現在のIstioは、各サービス(≒KubenetesのPod)ごとにプロキシを配置し、サービス間のネットワークをプロキシ経由で構成することによってサービスメッシュを構築しています。これによりサービス間の通信のトラフィックコントロール、暗号化、可観測性(オブザーバビリティ)などの機能が実現されるわけです。
この仕組みは、サービスの隣にプロキシを配置することから、「サイドカー」パターンなどと呼ばれています。
新たな仕組み「Ambient Mesh」では、Pod群をホストしているノードにプロキシを配置し、このプロキシによってサービスメッシュの機能を実現します。
Podごとのプロキシ配置が不要になる、つまり「サイドカーレス」(Sidecar-less)なパターンとなることで、デプロイや管理の容易、コンピュータリソースを効率よく利用できることなどが期待できます。
このAmbient Meshの仕組みは、GoogleとSolo.ioが貢献したと説明されています。
Istio Ambient Mesh was just announced! What is it and why did we create it? https://t.co/8SD5Rz94I0 pic.twitter.com/21KgyKPEXg
— solo.io (@soloio_inc) September 7, 2022
L7のコントロールには引き続きサイドカーパターンを用いる
下記がSolo.ioによるAmbient Meshの説明図です。左が従来のサイドカーパターンで、各サービス(水色の四角)の左に「P」で示されたプロキシが配置され、サービス間の通信はプロキシ経由で行われます。
右がAmbient Meshによるサイドカーレスのパターンです。ノード(灰色の長方形)にプロキシが配置され、サービス間の通信はノード上のプロキシ経由で行われます。
ただしこの図にもあるように、Ambient Meshにおけるノード上のプロキシはL4(≒TCP)の通信に対するプロキシとして働きます。L7(≒HTTP)でのトラフィックコントロールやセキュリティ、オブザーバビリティを実現したい場合には、従来のサイドカーパターンに似た形式でEnvoyベースのWaypointプロキシと呼ばれる仕組みを利用します。
このAmbient Meshは今後数カ月以内に投入される見通しです。
競合するCiliumではサイドカーフリーを実現済み
実は、Istioに先行してサイドカーパターンを用いずにサービスメッシュを実現する仕組みを持つソフトウェアがすでに登場しています。Ciliumです。
Ciliumは、Linuxカーネルの内部をフックして機能を拡張できる「eBPF」と呼ばれる注目の技術を用いてサービスメッシュを実現するソフトウェアとして、その存在感を日増しに高めています。
そして7月にリリースされたCilium 1.12ではサイドカーパターンを用いずにサービスメッシュの構築が可能になりました。ちなみにCiliumではこれを「サイドカーフリー」(Sidecar-free)と呼んでいます。下記の図の左下がそれです。
Ciliumでも高度な機能を利用したい場合にはサイドカーパターンを用いることになっていますが、シンプルなトラフィックコントロールやオブザーバビリティであればサイドカーフリーで簡単に導入できるようになりました。
サイドカーパターンを不要にする仕組みは、そのシンプルさや導入の容易さ、効率の良さなどから、サービスメッシュの分野においてゲームチェンジャーになりそうな可能性を秘めています。
Istioと比べればCiliumは知名度も実績もまだまだと言えますが、Istioはこの仕組みで先行するCiliumを大いに意識して、今回のAmbient Meshの発表を行ったのかもしれません。
あわせて読みたい
Google Cloud、動的にブロックストレージのIOPSとスループット性能をそれぞれ設定できる「Hyperdisk」など発表
≪前の記事
文化庁、誰でも無料で著作権侵害や海賊版対策の相談ができる「相談窓口」開設、「海賊版対策情報ポータルサイト」で