新OSSプロジェクト「Istio」は、マイクロサービスのためのサービスメッシュを開発:グーグル、IBM、Lyftが開始
米グーグル、米IBM、米Lyftは、マイクロサービスのためのインフラサービスソフトウェアを開発するオープンソースプロジェクト、「Istio」を、2017年5月24日(米国時間)に開始した。
米グーグル、米IBM、米Lyftは、マイクロサービスのためのインフラサービスソフトウェアを開発するオープンソースプロジェクト、「Istio」を、2017年5月24日(米国時間)に開始した。
Istioは、マイクロサービス間通信のためのサービスディスカバリ、負荷分散、モニタリング、ダイナミックルーティング、セキュリティなどの機能を備えた、開発言語やランタイムに非依存のサービスコンポーネントを開発する。
「(マイクロサービス間通信にかかわる課題に関する)解決策の1つは、gRPCのようなRPCライブラリを統一的に実装することだ。しかし、組織が全体としてこれを採用するのはコストが大きい。また、実際上は(コードを)改変することがほぼ不可能な、既存のアプリケーションを含められない。運用者は、マイクロサービスのセキュリティを確保し、稼働状況を追跡し、可用性を高められる、柔軟性の高いツールキットを求めている。一方開発者は、全体としてのシステムに悪影響を与えることなく、さまざまな機能を本番環境で試したり、試験的なリリースをデプロイしたりできることを望んでいる」(Istio Webサイトより)
Istioは、Lyftの開発したプロキシソフトウェアEnvoyをベースとし、次のような「サービスメッシュ」と呼ばれる機能を果たす。
- アプリケーションおよびネットワークの振る舞いをモニターし、ログを生成
- 不安定なネットワーク環境に対応するため、リトライ、負荷分散、フローコントロール(HTTP/2)などの機能を統合的に提供
- 開発者は分散システムにおけるサービス間通信への対応を、コードに組み込む必要がない。また、A/Bテスト、アプリケーションの先行テスト、障害シミュレーションなどがやりやすくなる
- 運用者は、新サービスリリースを段階的に展開するため、本番トラフィックの一部に限定してルーティングできる他、トラフィックの流量に制限を掛けられる。さらに、サービス間トラフィックにACLを適用できる
- TLSにより、サービス間通信の認証と暗号化を実現する
5月24日に公開されたのはバージョン0.1。Kubernetesのみに対応している。今後、Cloud Foundry、Mesos、サーバ仮想化環境、ベアメタル環境などへの対応を進めるという。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.