Istio とクラウドネイティブ オープンソースの新たなステージ
Google Cloud Japan Team
※この投稿は米国時間 2022 年 4 月 26 日に、Google Cloud blog に投稿されたものの抄訳です。
本日、Google と Istio 運営委員会が、Cloud Native Computing Foundation(CNCF)に、インキュベーション プロジェクトの候補として Istio プロジェクトを 提出したことをお知らせします。今回の進展は Istio とそのコミュニティにとって重要な節目であり、本プロジェクトの進化において新たなステージに到達できたことをうれしく思っています。
Google と Istio
Istio プロジェクトは、Kubernetes や Knative と並んでクラウドネイティブ インフラストラクチャに欠かせない要素であり、当初は Google によって開始されました。このプロジェクトが成功し成熟したのは、現行のモデルになってからです。現行のモデルは何百もの組織に採用されており、IstioCon には 4,000 を超えるデベロッパーが参加するまでになりました。
Google は 20 年以上にわたり、コンピューティングの未来を形作るため、オープンソースでへの寄与を行ってきました。また、イノベーションの実現によりお客様を支援するため、多大な投資を行ってきました。Istio は Kubernetes を拡張するものであり、Envoy サービス プロキシを使用してプログラム可能なアプリケーション対応ネットワークを実現します。Kubernetes ベースのワークロードと従来のワークロードのどちらでも機能するため、標準的かつ汎用的なトラフィック管理、テレメトリー、セキュリティを、複雑なデプロイメントでも利用できます。CNCF への加入により、クラウドネイティブのエコシステムとの距離が縮まり、継続的なオープン イノベーションを促進することが期待されています。
Istio の歩み
Google は 2016 年、IBM と Lyft のチームの協力のもと、Google の本番環境アプリケーションの接続に使用されていたパターンに基づいて Istio の開発に着手しました。Google のセキュリティを重視する取り組みは、IBM が公開したトラフィック管理を重視するオープンソース プロジェクトを補完するものだったため、両チームは Istio で直接コラボレーションすることを決定しました。2017 年 5 月、Istio は「完全な形」で開始されました。リリースの v0.1 は、サイドカーを活用したトラフィック制御、オブザーバビリティ、ポリシーに関する機能を特長としていました。こうした機能は、今日のサービス メッシュでは必須の機能となっています。Istio は開発当初からオープンソースであり、継続的なコントリビューションとプロジェクトへの参加を促進するガバナンス構造を備えています。
数か月後に v0.3 がリリースされる頃には、一部のユーザーは Istio を信頼して本番環境で使用していました。そうしたユーザーは、強力な機能から直接的にメリットを得ました。2018 年 7 月、プロジェクトは v1.0 に到達しました。その頃には、eBay と The Weather Company により大規模に使用されていました。v1.5 のリリースでは、Google 主導でアーキテクチャが大きく変更され、コントロール プレーンが単一のサービスに統合されました。ユーザーからのフィードバックに基づくこの変更は管理オーバーヘッドを削減するもので、後に IEEE Software の機関誌に記事が掲載されました。また、Envoy に WebAssembly プラグインのサポートを組み込むことで、メッシュの拡張が大幅に簡素化されました。
現在、Istio は 20 以上のプロバイダによって、Anthos Service Mesh などのマネージド サービスやホステッド サービスとして提供されています。Anthos Service Mesh は、オンプレミスまたは Google Cloud で信頼できるサービス メッシュのモニタリングや管理に役立つツール スイートです。
CNCF のプロジェクトとしての Istio の未来
オープンソースの使用には、貢献、支持、改善を通してエコシステムに関わる責任が伴うものと Google は考えています。そのため、Google はお客様とコミュニティ全体になりかわり、重要なクラウド ネイティブ プロジェクトの向上に力を注いでいます。CNCF DevStats の測定によると、Istio へのコントリビューション全体の半分以上、commit の 3 分の 2 がGoogle によるものです1。Istio への Envoy の導入決定以降、Google は Envoy の最大のコントリビューターとなっています2。
Istio は、さまざまな組織の Kubernetes エコシステムのうち、CNCF に含まれていないものとしては最後の主要コンポーネントであり、その API は Kubernetes とよく対応しています。最近の CNCF への Knative の寄贈に続いて Istio が承認されれば、CNCF の後援のもとクラウドネイティブ スタックが完成し、Istio と Kubernetes との距離がいっそう縮まることになるでしょう。また、CNCF への加入により、コントリビューターやお客様は、他の重要なクラウドネイティブ プロジェクトの基準に従ったサポートとガバナンスを備えていることを簡単に証明できるようになります。その結果としてプロジェクトの成長と導入を後押しできるようになることを Google は大変うれしく思います。
Istio は Google Cloud の将来に欠かせないものです。本プロジェクトが承認された場合、Google は引き続き、メンテナンスに大きな責任を持つ企業として、上流でのコントリビューションへ向けたエンジニアリングへの継続的な投資を通じて、Istio に戦略的な投資を行ってまいります。
1. https://istio.teststats.cncf.io/d/5/companies-table?orgId=1
2. https://envoy.devstats.cncf.io/d/5/companies-table?orgId=1
- エンジニアリング担当バイス プレジデント Chen Goldberg