マイクロサービス変更時にシステムの品質を安定化する技術を開発

ad

サービス要件に合わせたパラメーターの自動調整により、品質を維持したまま迅速なシステム改善を実現

2019-09-27 株式会社富士通研究所

株式会社富士通研究所(注1)は、個別に開発・運用が可能な複数のマイクロサービスから構成されるシステムにおいて、応答時間・可用性・コストのサービス要件に合わせて、マイクロサービスの設定パラメーターを適切に自動調整する技術を開発しました。

これまで、1つのマイクロサービスに新機能を追加するなどの変更を行った場合、全体のシステムに遅延などの影響を与えることがあるため、サービス品質を保つためにはそのつどシステム全体の検証が必要でした。今回、システム全体が適切に稼働するようなパラメーターを自動で調整する技術により、マイクロサービス変更時においてもサービス品質を手軽に確保することが可能となります。

これにより、高頻度に変更できる特長を持つマイクロサービスアーキテクチャーを最大限に活かしつつ、サービス品質を維持することができ、迅速なシステム改善を高品質に行うことが可能になります。

開発の背景

マイクロサービスアーキテクチャーは、個別に開発・運用可能な複数の小さなサービス(マイクロサービス)をつなぎ合わせることで、1つのシステムとして構成するソフトウェア開発手法です。構成上、個々のマイクロサービスを簡単に変更することができるため、頻繁に新機能の追加などが求められるECサイトや旅行サイトなどのWebサービスにおいて注目されています。

課題

例えばECサイトにおいて、決済サービスにスマートフォンによる電子マネー決済の新機能を追加した場合、実際には決済サービスを呼び出すためのフロントサービスや、フロントサービスに紐づくほかのサービスなどにも遅延や受付率低下といった影響が及びます。そのため、サービス品質を保つためには、1つのマイクロサービスを変更後、利用者から見たシステム全体のサービス品質の検証が必要となり、現実的には頻繁に変更することが難しい状況でした。

図1. マイクロサービス変更時の影響イメージ

図1. マイクロサービス変更時の影響イメージ

開発した技術

マイクロサービスを変更した際に、応答時間・可用性・コストの観点から確保したいサービス要件に合わせて、マイクロサービス実行基盤における各マイクロサービスの設定パラメーターを自動調整する技術を開発しました。本技術の特長は以下のとおりです。

  1. サービス品質を推定する品質シミュレーション技術

    利用者のサービス利用要求から応答までの間にシステム内部で行われるマイクロサービス間の通信を、順番待ちの状況やその緩和策を数理モデルを用いて解析する待ち行列理論にもとづいてモデル化しました。それを活用し、あるマイクロサービスを変更した際に起こりうる、システム全体の動作や通信量・所要時間を仮想的に推定するシミュレーション技術を開発しました。これにより、システム全体の品質と個々のマイクロサービスの品質を定量化することが可能になります。

  2. 最適パラメーターを探索する自動調整技術

    生物の進化過程を模擬した解の探索手法である遺伝的アルゴリズムと品質シミュレーション技術を組み合わせ、サービスの品質要件を制約条件に、個々のマイクロサービスに与えるCPU・メモリ割当量やリトライ回数といった設定パラメーターの最適な組み合わせを探索する技術を開発しました。これにより、サービス品質と個々のマイクロサービスの品質を両立する設定パラメーターを迅速に導出でき、たとえば、遅延が起こった場合に、利用者を不満に思わせない通信のタイムアウトの時間設定や、通信を停滞させないための優先度が低いサービスの切り離し時の動作決定など、自動で調整することができます。

図2. 設定パラメーターの自動調整技術

図2. 設定パラメーターの自動調整技術

拡大イメージ

効果

マイクロサービス実行基盤のKubernetes(注2)とIstio(注3)で構築した社内のストリーミングサービスにおいて、ある取り決めた品質に向けてパラメーター調整を実施したところ、人手ではパラメーター調整に3日間を要したのに対し、本技術を活用した場合には1時間に短縮されることを確認しました。

今後

富士通研究所では、本技術のさらなる高速化をすすめ、2019年9月からの社内試行の結果をふまえ、2020年度の実用化を目指します。

商標について

記載されている製品名などの固有名詞は、各社の商標または登録商標です。

以上

注釈

注1 株式会社富士通研究所:
本社 神奈川県川崎市、代表取締役社長 古田英範。
注2 Kubernetes:
クバネテス。コンテナ化されたアプリケーションをコンテナ基盤へ配置するためのオープンソースの管理基盤。
注3 Istio:
イスティオ。マイクロサービス間の通信の制御や計測の機能を提供するオープンソースの管理基盤。

本件に関するお問い合わせ

株式会社富士通研究所

サービスビジネス開発運用・ユニット

1500経営工学一般1600情報工学一般1602ソフトウェア工学1604情報ネットワーク
ad
ad
Follow
ad
タイトルとURLをコピーしました