TOPNetwork > サービスメッシュを実現する「Istio」とは(前)

Network

サービスメッシュを実現する「Istio」とは(前)

2019/02/12

Serdar Yegulalp InfoWorld

 マイクロサービスアーキテクチャーは、さまざまな問題の解決策になる一方で、新たな問題の原因にもなる。独立したサービスを組み合わせてアプリケーションを構成することから、開発、変更、スケールアウトがしやすくなるものの、連携やセキュリティ保護の対象となる要素が大幅に増える。ロードバランシング、トラフィック管理、認証など、ネットワークサービスのすべてを逐一管理するのはとてつもなく複雑だ。こうしたアーキテクチャーのサービス間のネットワークを「サービスメッシュ」と言う。そして、サービスメッシュの管理を支えるのが、米Googleらが開発したオープンソースの「Istio」だ。

サービスメッシュの役割

Credit: Thinkstock

 サービスをネットワーク化してアプリケーションを構成する時に、共通して必要となる処理は数多くある。その1つがロードバランシングだ。ネットワーク化したサービスの一群がロードバランシングを必要としないケースはあまりない。あるいは、異なる組み合わせのサービスを試すA/Bテストや、一連のサービスに対するエンドツーエンドの認証なども必要になる。これらはいずれもサービスメッシュに欠かせない。

 サービスメッシュの管理を、個々のサービスに任せるわけにはいかない。各サービスは全体像を監督できる立場にはないし、そのようなやり方は適切ではない。各サービスとネットワークとの仲立ちとなるシステムが別にあった方がよい。このシステムは、2つの重要な役割を担う。

1:ネットワークトラフィック管理の肝となる部分(ロードバランシング、ルーティング、リトライなど)に、各サービスごとに対処しなくて済むようにする。

2:管理者向けの抽象化レイヤーを設け、ネットワークトラフィックに関する総合的な判断を簡単に適用できるようにする。例えば、ポリシー管理、メトリクス、ロギング、サービスディスカバリー、TLSによるセキュアなサービス間通信などの包括的な管理を可能にする。

↑ページ先頭へ