IBM Cloud Blog

IBM、Google、Lyftによるオープンなマイクロサービス管理ツール「Istio」公開について

記事をシェアする:

本日IBMとGoogle社は新たなオープン・クラウドサービスであるIstioの提供開始を発表いたしました。このサービスは、開発者がシームレスにプラットフォームやソースコード、提供ベンダーに関わらず異なるマイクロサービスのネットワークの連携や管理、保護を行うための方法を提供するオープン・クラウドサービスです。

IstioはIBMとGoogle社、そしてカーシェアリングを提供するLyft社の協働による一つの成果であり、Microservices間通信の管理やアクセス・ポリシー・エンフォースメント、そしてマイクロサービスを超えたテレメトリー・データの収集を支援するものです。Istioを利用するために、開発者は過去にIBM、Google、Lyftから提供されたソースコードを一切変更する必要はありません。

IstioはIBM Bluemix Container Serviceに代表されるKubernetesのプラットフォーム上で稼働していますが、特定のプラットフォーム上のみで稼働するようには設計されていません。Istioはオープンソース・プロジェクトであり、CloudFoundryや仮想化環境を含む複数のプラットフォームをサポートするように設計されています。

Istioを設計した理由

私たちは、より多くの開発者がアプリケーションを開発する際にマイクロサービスのチューニングをしていることに気づきました。これは開発者が、巨大になってきたアプリケーションをより小さく、管理がしやすい粒度に再開発するためです。一方で、巨大なアプリケーションをより小さな粒度に再開発することは、ソフトウェア開発において知識・経験が必要となる方法論だとしても、マイクロサービスを用いた設計は巨大なアプリケーションをクラウド上で利用可能なソフトウェアを構築するために有効な考え方となります。

私たちのお客様がクラウドへと移行する際に、アプリケーションの再設計・開発が発生している傾向があることを認識しています。マイクロサービスは動的にスケールすることが可能であるため、サービス・ディスカバリーやロード・バランシング、そして障害から復旧といった課題は重要な問題となってきており、決まった手法で解決されるべき問題となっています。また、個々の開発チームはそれぞれがマイクロサービスの構築や管理、変更を行っており、全体を一つの統合されたアプリケーションとして取り組むことが難しくなってきています。また、担当範囲外のアプリケーションはスケールしない設計になっているため、自身のアプリケーションは、前述の課題に対し、独自の手法で取り組んでいるケースが見受けられます。

IBMとGoogle社、そしてLyft社は今回の提携を開始する前においては、個々がこの課題を結果的には補足する形になるとはいえ、独自に解決をしようとしてきました。

 

  • IBMが昨年開始したオープンソースを利用し、統合されたサービスである Amalgam8 Projectはトラフィック・ルーティング・ファブリックを提供しており、企業内の利用者のA/Bテストやカナリアリリースを支援するプログラム可能なコントロール・プレーンを提供し、障害に対するサービスの耐久性をシステマチックにテストをするための機能を提供します。
  • Google’s Service Controlはコントロール・プレーンを持つサービス・メッシュを提供し、ACLやレイト・リミット、認証といったポリシー・エンフォースメントに対応するとともに、複数の異なるサービスやプロキシからテレメトリー・データを収集する機能を提供します。
  • Lyft社が開発していたEnvoy 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社と協働してプロジェクトを進めています。Tigera社はCNI、Calico、そしてFannelといったプロジェクトを数ヶ月にわたって実行しており、より先進的なネットワーク・ポリシーをIBM Bluemixオファリングに統合しようとしています。IstioとEnvoyを更に統合しようとしており、Tigera社との協働範囲を拡大するとともに、レイヤー3から7までを共通のポリシー言語が可能となるように進めています。

「イノベーションを推進するためには、単なるオープンソース・テクノロジー以上のものが必要となる」とTigera社の共同創業者にしてCEOのAndy Randallは述べています。 更に「オープンであり、マルチベンダーが関与するコミュニティであり、そしてオープン・コラボレーションに信頼をおくべきなんです。IBMはKuberbernatesコミュニティを活性化させるのに重要な役割を担っており、CakicoやIstioといったプロジェクトにも深く関与している。私たちのパートナーシップはとても興奮させるものだし、このテクノロジーを使っている全てのユーザーの利益になるように、継続的なコラボレーションが進むことを期待しているよ。」と述べています。

Istioの主な特徴

  • HTTP/1.1, HTTP/2. gRPC、およびTCPトラフィックの自動化されたZone間のロード・バランシング
  • 豊富なルーティング・ルール、耐障害性、フォールト・インジェクションを伴ったマイクロサービス間通信の振る舞いに関する詳細なコントロール制御
  • アクセス・コントロールやレイト・リミット、及び割り当てをサポートするプラガブルなポリシー・レイヤーと設定用のAPI
  • クラスターへの全てのトラフィックのメトリクス、ログおよびトレースを自動化
  • クラスター内での、強力なIDアサーションよるセキュアなサービス間認証の提供

Istioの利用について

まずはistio利用開始の手引き(英語のみ提供)をご参照ください。また、Istioが提供するサービス・メッシュの様々な機能を紹介しており、容易にデプロイが可能となるような、いくつかマイクロサービスを取りまとめたサンプル・アプリケーションを公開しています。

プロジェクトと協働体制

IstioはIBM、Google社、およびLyft社により運営されているオープンソース・プロジェクトです。現状のバージョンはKubernetesクラスター上で稼働していますが、今後数ヶ月ごとに新たなプラットフォームを支援するようにバージョンアップをリリースしていく予定です。 もし、本件に関しまして、より詳細な情報をご希望の場合には までご連絡ください。また、上記の3社以外にも多くの企業がコミュニティを形成し、今回のプロジェクトを支援していることを改めてお伝えをしたいと思います。サポート企業は下記のようになります。

Red Hat :Red Hat Openshift and OpenShift Application Runtimes, Pivotal with Pivotal Cloud Foundry,
Weaveworks : Weave Cloud and Weave Net 2.0,
Tigera :the Project Calico Network Policy Engine.

 

もし本件、オープンソース・プロジェクトのご参加に興味がございましたら、GitHub上にてご参加ください。

 

Istioの利用については、パートナー、及び協業ベンダー皆様のお客様向けに非常に魅力的なソリューションになります。 皆様のお客様が従来の”Monolithic”なアプリケーションを”microservices”への移行をご検討されている場合、複雑な企業レベルのアプリケーションをIstioを利用して、IBM Bluemix Infrastructure上にて簡単に運用・管理することが可能となります。より詳細な情報をご希望の場合には までお問い合わせください。

(本記事はIBM CorporationのBlogページに掲載された記事の抄訳です)

 

More IBM Cloud Blog stories

米国陸軍、プライベートクラウド・データセンターの構築に向けて、6200万ドルでIBMを指名

IBM Cloud Blog

米国陸軍のシステムにとって、セキュリティーは最重要事項です。これが、アラバマ州ハンツビル近郊にあるレッドストー ...続きを読む


Watson事例 – 日本航空(JAL) バーチャルアシスタント「マカナちゃん」

Bluemix, IBM Watson Blog

12月5日、日本航空(以下JAL)は日本IBMの協力により、赤ちゃん連れでハワイ旅行を検討されている顧客向けに ...続きを読む