Blog記事をシェアする:本日IBMとGoogle社は新たなオープン・クラウドサービスであるIstioの提供開始を発表いたしました。このサービスは、開発者がシームレスにプラットフォームやソースコード、提供ベンダーに関わらず異なるマイクロサービスのネットワークの連携や管理、保護を行うための方法を提供するオープン・クラウドサービスです。IstioはIBMとGoogle社、そしてカーシェアリングを提供するLyft社の協働による一つの成果であり、Microservices間通信の管理やアクセス・ポリシー・エンフォースメント、そしてマイクロサービスを超えたテレメトリー・データの収集を支援するものです。Istioを利用するために、開発者は過去にIBM、Google、Lyftから提供されたソースコードを一切変更する必要はありません。Serviceに代表されるKubernetesのプラットフォーム上で稼働していますが、特定のプラットフォーム上のみで稼働するようには設計されていません。Istioはオープンソース・プロジェクトであり、CloudFoundryや仮想化環境を含む複数のプラットフォームをサポートするように設計されています。私たちは、より多くの開発者がアプリケーションを開発する際にマイクロサービスのチューニングをしていることに気づきました。これは開発者が、巨大になってきたアプリケーションをより小さく、管理がしやすい粒度に再開発するためです。一方で、巨大なアプリケーションをより小さな粒度に再開発することは、ソフトウェア開発において知識・経験が必要となる方法論だとしても、マイクロサービスを用いた設計は巨大なアプリケーションをクラウド上で利用可能なソフトウェアを構築するために有効な考え方となります。私たちのお客様がクラウドへと移行する際に、アプリケーションの再設計・開発が発生している傾向があることを認識しています。マイクロサービスは動的にスケールすることが可能であるため、サービス・ディスカバリーやロード・バランシング、そして障害から復旧といった課題は重要な問題となってきており、決まった手法で解決されるべき問題となっています。個々の開発チームはそれぞれがマイクロサービスの構築や管理、変更を行っており、全体を一つの統合されたアプリケーションとして取り組むことが難しくなってきています。担当範囲外のアプリケーションはスケールしない設計になっているため、自身のアプリケーションは、前述の課題に対し、独自の手法で取り組んでいるケースが見受けられます。IBMとGoogle社、そしてLyft社は今回の提携を開始する前においては、個々がこの課題を結果的には補足する形になるとはいえ、独自に解決をしようとしてきました。Projectはトラフィック・ルーティング・ファブリックを提供しており、企業内の利用者のA/Bテストやカナリアリリースを支援するプログラム可能なコントロール・プレーンを提供し、障害に対するサービスの耐久性をシステマチックにテストをするための機能を提供します。Controlはコントロール・プレーンを持つサービス・メッシュを提供し、ACLやレイト・リミット、認証といったポリシー・エンフォースメントに対応するとともに、複数の異なるサービスやプロキシからテレメトリー・データを収集する機能を提供します。Proxyはモノリシックデザインのアプリケーションを、本番環境において10,000を超える仮想サーバー上で100以上のマイクロサービス化を支援しました。IBMとGoogle社はEnvoyが提供する機能やパフォーマンス、そしてコミュニティと協働したいといEnvoyの開発陣の強い意思に感銘を受けました。これまでに個々が行ってきた活動を統合し、最優先に取り組むべき抽象クラスを構築することは、3社にとって大きな利点があることが明らかになってきました。このクラスはEnvoyのルーティングやポリシー・マネージメント、Envoyを操作するための管理プレーンのAPIを含み、これらの機能を統合的および継続的デリバリー・パイプラインに容易に統合することを可能とします。加えて、Istio管理プレーンの開発において、IBMはEnvoyに対して、マイクロサービス間通信におけるサービスのバージョンの依存しないような仕組みや、Zipkin、フォールト・インジェクションのトレーシング要求処理など幾つかの技術支援を行なっております。Google社では、セキュリティや、スケーラビリティ、パフォーマンス面などで、Envoyとより強固な関係を築いています。Istioの設計と働きIstioはプログラム可能なルーティングと共有化された管理レイヤーを提供することで、バラバラだったマイクロサービスを統合したサービス・メッシュへと変換されます。Envoyプロキシサーバーをサービス間のネットワーク・パスに差し込むことでIstioはロード・バランシングや洗練されたきめ細かいルーティングといった、洗練されたマイクロサービス間通信の管理と制御を提供します。このルーティング・メッシュはマイクロサービス間通信の振る舞いに関する豊富なメトリクスを抽出し、細かなアクセス・管理や運用管理者が構成可能なレイト・リミットといったポリシーに関する決定を強化することに役立ちます。このメトリクスは監視システムにも送信することが可能であり、アプリケーションとのデータフローの可視化を改善することが可能です。この可視化を行うために、新た開発を行ったり、アプリケーションを構成する全てのパーツをスムーズかつ安定に稼働するように再プログラミングを行う必要はありません。サービス間のコミュニケーション・制御を一度設定すると、サービス間の認証と権限付与を強化することが可能となります。現在のところ、サービス間のコミュニケーションは自動化された認証管理により、相互TLS承認でセキュアな状態となります。オープンな協働体制を推進するパートナーシップ私たちはKubernetesネットワークのパートナーであるTigera社と協働してプロジェクトを進めています。Bluemixオファリングに統合しようとしています。IstioとEnvoyを更に統合しようとしており、Tigera社との協働範囲を拡大するとともに、レイヤー3から7までを共通のポリシー言語が可能となるように進めています。Randallは述べています。「オープンであり、マルチベンダーが関与するコミュニティであり、そしてオープン・コラボレーションに信頼をおくべきなんです。IBMはKuberbernatesコミュニティを活性化させるのに重要な役割を担っており、CakicoやIstioといったプロジェクトにも深く関与している。私たちのパートナーシップはとても興奮させるものだし、このテクノロジーを使っている全てのユーザーの利益になるように、継続的なコラボレーションが進むことを期待しているよ。gRPC、およびTCPトラフィックの自動化されたZone間のロード・バランシング豊富なルーティング・ルール、耐障害性、フォールト・インジェクションを伴ったマイクロサービス間通信の振る舞いに関する詳細なコントロール制御アクセス・コントロールやレイト・リミット、及び割り当てをサポートするプラガブルなポリシー・レイヤーと設定用のAPIクラスターへの全てのトラフィックのメトリクス、ログおよびトレースを自動化クラスター内での、強力なIDアサーションよるセキュアなサービス間認証の提供Istioの利用についてまずはistio利用開始の手引き(英語のみ提供)をご参照ください。Istioが提供するサービス・メッシュの様々な機能を紹介しており、容易にデプロイが可能となるような、いくつかマイクロサービスを取りまとめたサンプル・アプリケーションを公開しています。プロジェクトと協働体制IstioはIBM、Google社、およびLyft社により運営されているオープンソース・プロジェクトです。現状のバージョンはKubernetesクラスター上で稼働していますが、今後数ヶ月ごとに新たなプラットフォームを支援するようにバージョンアップをリリースしていく予定です。istio-users@googlegroups.comまでご連絡ください。上記の3社以外にも多くの企業がコミュニティを形成し、今回のプロジェクトを支援していることを改めてお伝えをしたいと思います。サポート企業は下記のようになります。Engine.もし本件、オープンソース・プロジェクトのご参加に興味がございましたら、GitHub上にてご参加ください。Istioの利用については、パートナー、及び協業ベンダー皆様のお客様向けに非常に魅力的なソリューションになります。Infrastructure上にて簡単に運用・管理することが可能となります。istio-users@googlegroups.comまでお問い合わせください。useAccessibility。