Istio 1.1がリリース。大規模メッシュにも対応する性能とスケーラビリティの向上など

2019年3月22日

Kubernetesで構成されたクラスタに対してサービスメッシュと呼ばれる機能を提供する「Istio」の最新バージョン「Istio 1.1」がリリースされました

fig

KuberenetesとIstioが提供する機能とは

Kubernetesは多数のコンテナに対して、あるコンテナが落ちたら別のコンテナを起動することでクラスタを維持する機能や、クラスタに対して多数の処理が集中して負荷がかかった場合には、自動もしくはマニュアル操作によってクラスタを構成するコンテナ数を増やして、負荷に対応できるようにするスケーリング機能も備えています。

また、クラスタ内でどのようなサービスが展開されているかを発見するためのサービスディスカバリ機能、クラスタに対してアプリケーションをデプロイする機能なども備えています。

Istioは、このKubernetesによって構成されているクラスタ内の個々のサービスに対して、プロキシによる通信の仲介を通じてさまざまな機能を提供します。

例えば、ブルー/グリーンデプロイメントと呼ばれる、あるサービスを新版に切り替える際の通信の切り替えなどが可能です。またサービス間の通信を暗号化し、サービス間での認証をきちんと行うことでセキュリティを高めることも実現してくれます。

さらにサービスのモニタリングやログ収集を行うことで、サービスとアプリケーションの稼働状況を把握できるようにするのです。

Kubernetesがおおむねクラスタの基盤機能を提供するものと位置づけられるとすれば、Istioはアプリケーションレベルで使われる便利なサービスを提供するものといえるでしょう。

大規模メッシュにも対応する性能とスケーラビリティ

Istio 1.1でもこのサービスメッシュを提供する位置づけは変わらず、以下のようにパフォーマンスへの注力が行われています。

One of our prime areas of focus has been performance and scalability. As people moved into production with larger clusters running more services at higher volume, they hit some scaling and performance issues. The sidecars took too many resources and added too much latency.

もっとも注力された分野の1つが性能とスケーラビリティだ。人々がより大きなクラスタで大量のサービスを実行するような本番環境へ移行すると、そこでスケーリングや性能の課題に直面した。サイドカーはあまりにも多くのリソースと消費し、多くのレイテンシを追加してしまうのだ。

上記の「サイドカー」という表現は、各サービスにプロキシを組み込み、それを用いて通信を行うことで実現されているIstioのアーキテクチャを「サイドカー」と呼んでいることにちなんでいます。

Istio 1.1で性能向上に取り組んだ結果、レイテンシは平均で最大30%削減され、大規模なメッシュにおいて最大で40%サービスの起動時間が高速になったことが報告されています。

またサービスメッシュを管理するコントロールプレーンにおいても、大規模なメッシュで最大90%ものCPU利用率を削減し、最大50%のメモリ利用料を削減したとのことです。

これによって大規模なクラスタでサービスを展開する場合でも、以前より安心してサービスメッシュを展開できるようになったとされています。

そのほかの新機能についてはリリースノートで説明されています

このエントリーをはてなブックマークに追加
follow us in feedly




カテゴリ

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed


最新記事10本