全1284文字

 「マイクロサービスをうまく動かすにはサービスメッシュというインフラが必要になる」。こう語るのは日本IBM クラウド&コグニティブ・ソフトウェア事業部 ハイブリッドクラウドCTOの高良真穂氏。マイクロサービスの次の展開として、2021年はサービスメッシュに注目が集まりそうだ。

 比較的小さなサービスを疎結合に連携してシステムを構築する「マイクロサービスアーキテクチャー」が日本でも普及し始めている。各サービスの独立性を保ちやすいので、顧客のフィードバックを取り込み改善を繰り返すような開発スタイルに向く。

 ただし、数十から数百といったサービスを連携させたとき、メッシュ(網の目)状に構成されたサービス間のネットワークを適切に管理する必要がある。コンテナ管理ツール「Kubernetes」がデファクトになってきた今、その上で動くサービスを管理するサービスメッシュが求められるようになった。

 サービスメッシュの管理ツールはいくつかあるが、代表格はオープンソースの「Istio」だ。データプレーンとコントロールプレーンから成り、データプレーンでは管理対象のサービスが稼働するコンテナ(Pod)にプロキシーを埋め込む。プロキシーはメッシュ状のネットワークを構成し、サービス間のネットワークを監視。コントロールプレーンはプロキシーを管理し、トラフィックのルーティングなどを行う。

図 サービスメッシュ管理ツール「Istio」の構成
図 サービスメッシュ管理ツール「Istio」の構成
サービス間のやり取りを一元管理
[画像のクリックで拡大表示]

 Istioが提供する機能は大きく3つある。ルーティングやロードバランシング、タイムアウト管理などの「トラフィック管理」、認証や通信暗号化などの「セキュリティー」、ログ収集やトレースなどの「監視」である。