Google、IBMらがオープンソースの「Istio」公開。マイクロサービスのためのネットワーク機能「サービスメッシュ」を提供。Kubernetes対応
クラウド時代のアプリケーションは、サービスを提供するコンポーネントのような小さなソフトウェアが多数連係する、いわゆる「マイクロサービス」と呼ばれるアーキテクチャを備えたものになると考えられています。
このマイクロサービスアーキテクチャを備えたアプリケーションの内部では、各サービス間をつなぐためのネットワークがまるで網の目のように張り巡らせられ、そこでさまざまなトラフィックが発生していきます。
そしてこのネットワークを安定的かつ効率的でセキュアに運用することはマイクロサービスの運用に欠かせない基盤であり、そのためにはトラフィックのルーティングルールの設定、トラフィックが偏らないようにロードバランスの実現、セキュリティのための暗号化通信や認証サービス、ポリシーの設定、そして全体のモニタリングなど、さまざまなネットワークのサービス機能が求められます。
Service Mesh(サービスメッシュ)を提供するIstio
Google、IBM、Lyftが開始した新しいオープンソースのプロジェクト「Istio」では、これらのネットワークサービス群を「Service Mesh」(サービスメッシュ)と呼び、Istioはこのサービスメッシュを提供するソフトウェアとして開発が進められています。
Istio provides developers and devops fine-grained visibility and control over traffic without requiring any changes to application code and provides CIOs and CSOs the tools needed to help enforce security and compliance requirements across the enterprise.
Istioは適切なトラフィックに対する粒度の可視化と管理を、アプリケーションのコードを一切変更することなく提供し、CIOやCSO(訳注:技術責任者やセキュリティ責任者)が、組織全体に対して要求されるセキュリティやコンプライアンスの適用を支援するのに不可欠なものである。
(「Istio: a modern approach to developing and managing microservices」から引用)
具体的には下記のネットワークサービス機能を提供すると説明されています。
- HTTP、gRPC、TCPのトラフィックに対する自動的なロードバランス
- 豊富なルーティングルールによる適切な粒度のトラフィックコントロール
- トラフィックの暗号化、サービス同士の認証および強力な身分確認
- 対象全体のポリシー適用
- 細部にわたる測定とレポーティング
マイクロサービスを支えるネットワークトラフィックは非常に複雑かつ動的に変化するものになると考えられるため、サービス間を支えるルーティングやセキュリティの設定などのさまざまなネットワークサービスは基本的には自動的かつ自律的であることが欠かせないでしょう。そうしたService Meshの実現を目指すのがIstioだといえそうです。
Istioは現在バージョン0.1で、Kubernetesをサポートしており、将来的にはCloud Foundryや仮想マシンといったほかの環境にも対応していくとされています。
ちなみにFAQによると、Istioとはギリシャ語で「Sail」(帆)のことだそうです。
参考記事
米シスコシステムズは、バルセロナで同社が開催中のイベント「Cisco Live 2018 Barcelona」で、Kubernetesをベースとしたコンテナプラットフォームソフトウェア「Cisco Container Platform」を発表しました。
SUSEはコンテナプラットフォーム「SUSE CaaS Platform」の正式リリースを発表しました。CaaSはContainer as a Serviceの略で、コンテナ化した分散アプリケーションの開発やスケーラブルな実行環境のためのプラットフォームです。
あわせて読みたい
Red Hat、Eclipse CheベースのWeb IDEベンダ「Codenvy」買収を発表。統合開発ツールとクラウド基盤の統合に向かう
≪前の記事
Google、「Cloud Source Repositories」正式公開。Gitベースのソースコード管理ツール、5ユーザー、50GBまで無料