富士通研究所、マイクロサービス変更時にシステムの品質を安定化する技術を開発
[19/09/27]
TOKYO, Sep 27, 2019 - (JCN Newswire) - 株式会社富士通研究所(注1)は、個別に開発・運用が可能な複数のマイクロサービスから構成されるシステムにおいて、応答時間・可用性・コストのサービス要件に合わせて、マイクロサービスの設定パラメーターを適切に自動調整する技術を開発しました。
これまで、1つのマイクロサービスに新機能を追加するなどの変更を行った場合、全体のシステムに遅延などの影響を与えることがあるため、サービス品質を保つためにはそのつどシステム全体の検証が必要でした。今回、システム全体が適切に稼働するようなパラメーターを自動で調整する技術により、マイクロサービス変更時においてもサービス品質を手軽に確保することが可能となります。
これにより、高頻度に変更できる特長を持つマイクロサービスアーキテクチャーを最大限に活かしつつ、サービス品質を維持することができ、迅速なシステム改善を高品質に行うことが可能になります。
開発の背景
マイクロサービスアーキテクチャーは、個別に開発・運用可能な複数の小さなサービス(マイクロサービス)をつなぎ合わせることで、1つのシステムとして構成するソフトウェア開発手法です。構成上、個々のマイクロサービスを簡単に変更することができるため、頻繁に新機能の追加などが求められるECサイトや旅行サイトなどのWebサービスにおいて注目されています。
課題
例えばECサイトにおいて、決済サービスにスマートフォンによる電子マネー決済の新機能を追加した場合、実際には決済サービスを呼び出すためのフロントサービスや、フロントサービスに紐づくほかのサービスなどにも遅延や受付率低下といった影響が及びます。そのため、サービス品質を保つためには、1つのマイクロサービスを変更後、利用者から見たシステム全体のサービス品質の検証が必要となり、現実的には頻繁に変更することが難しい状況でした。
開発した技術
マイクロサービスを変更した際に、応答時間・可用性・コストの観点から確保したいサービス要件に合わせて、マイクロサービス実行基盤における各マイクロサービスの設定パラメーターを自動調整する技術を開発しました。本技術の特長は以下のとおりです。
1. サービス品質を推定する品質シミュレーション技術
利用者のサービス利用要求から応答までの間にシステム内部で行われるマイクロサービス間の通信を、順番待ちの状況やその緩和策を数理モデルを用いて解析する待ち行列理論にもとづいてモデル化しました。それを活用し、あるマイクロサービスを変更した際に起こりうる、システム全体の動作や通信量・所要時間を仮想的に推定するシミュレーション技術を開発しました。これにより、システム全体の品質と個々のマイクロサービスの品質を定量化することが可能になります。
2. 最適パラメーターを探索する自動調整技術
生物の進化過程を模擬した解の探索手法である遺伝的アルゴリズムと品質シミュレーション技術を組み合わせ、サービスの品質要件を制約条件に、個々のマイクロサービスに与えるCPU・メモリ割当量やリトライ回数といった設定パラメーターの最適な組み合わせを探索する技術を開発しました。これにより、サービス品質と個々のマイクロサービスの品質を両立する設定パラメーターを迅速に導出でき、たとえば、遅延が起こった場合に、利用者を不満に思わせない通信のタイムアウトの時間設定や、通信を停滞させないための優先度が低いサービスの切り離し時の動作決定など、自動で調整することができます。
効果
マイクロサービス実行基盤のKubernetes(注2)とIstio(注3)で構築した社内のストリーミングサービスにおいて、ある取り決めた品質に向けてパラメーター調整を実施したところ、人手ではパラメーター調整に3日間を要したのに対し、本技術を活用した場合には1時間に短縮されることを確認しました。
今後
富士通研究所では、本技術のさらなる高速化をすすめ、2019年9月からの社内試行の結果をふまえ、2020年度の実用化を目指します。
本リリースの詳細は下記をご参照ください。
https://pr.fujitsu.com/jp/news/2019/09/27.html
概要:富士通株式会社
詳細は http://jp.fujitsu.com/ をご覧ください。
Copyright 2019 JCN Newswire. All rights reserved. www.jcnnewswire.com
これまで、1つのマイクロサービスに新機能を追加するなどの変更を行った場合、全体のシステムに遅延などの影響を与えることがあるため、サービス品質を保つためにはそのつどシステム全体の検証が必要でした。今回、システム全体が適切に稼働するようなパラメーターを自動で調整する技術により、マイクロサービス変更時においてもサービス品質を手軽に確保することが可能となります。
これにより、高頻度に変更できる特長を持つマイクロサービスアーキテクチャーを最大限に活かしつつ、サービス品質を維持することができ、迅速なシステム改善を高品質に行うことが可能になります。
開発の背景
マイクロサービスアーキテクチャーは、個別に開発・運用可能な複数の小さなサービス(マイクロサービス)をつなぎ合わせることで、1つのシステムとして構成するソフトウェア開発手法です。構成上、個々のマイクロサービスを簡単に変更することができるため、頻繁に新機能の追加などが求められるECサイトや旅行サイトなどのWebサービスにおいて注目されています。
課題
例えばECサイトにおいて、決済サービスにスマートフォンによる電子マネー決済の新機能を追加した場合、実際には決済サービスを呼び出すためのフロントサービスや、フロントサービスに紐づくほかのサービスなどにも遅延や受付率低下といった影響が及びます。そのため、サービス品質を保つためには、1つのマイクロサービスを変更後、利用者から見たシステム全体のサービス品質の検証が必要となり、現実的には頻繁に変更することが難しい状況でした。
開発した技術
マイクロサービスを変更した際に、応答時間・可用性・コストの観点から確保したいサービス要件に合わせて、マイクロサービス実行基盤における各マイクロサービスの設定パラメーターを自動調整する技術を開発しました。本技術の特長は以下のとおりです。
1. サービス品質を推定する品質シミュレーション技術
利用者のサービス利用要求から応答までの間にシステム内部で行われるマイクロサービス間の通信を、順番待ちの状況やその緩和策を数理モデルを用いて解析する待ち行列理論にもとづいてモデル化しました。それを活用し、あるマイクロサービスを変更した際に起こりうる、システム全体の動作や通信量・所要時間を仮想的に推定するシミュレーション技術を開発しました。これにより、システム全体の品質と個々のマイクロサービスの品質を定量化することが可能になります。
2. 最適パラメーターを探索する自動調整技術
生物の進化過程を模擬した解の探索手法である遺伝的アルゴリズムと品質シミュレーション技術を組み合わせ、サービスの品質要件を制約条件に、個々のマイクロサービスに与えるCPU・メモリ割当量やリトライ回数といった設定パラメーターの最適な組み合わせを探索する技術を開発しました。これにより、サービス品質と個々のマイクロサービスの品質を両立する設定パラメーターを迅速に導出でき、たとえば、遅延が起こった場合に、利用者を不満に思わせない通信のタイムアウトの時間設定や、通信を停滞させないための優先度が低いサービスの切り離し時の動作決定など、自動で調整することができます。
効果
マイクロサービス実行基盤のKubernetes(注2)とIstio(注3)で構築した社内のストリーミングサービスにおいて、ある取り決めた品質に向けてパラメーター調整を実施したところ、人手ではパラメーター調整に3日間を要したのに対し、本技術を活用した場合には1時間に短縮されることを確認しました。
今後
富士通研究所では、本技術のさらなる高速化をすすめ、2019年9月からの社内試行の結果をふまえ、2020年度の実用化を目指します。
本リリースの詳細は下記をご参照ください。
https://pr.fujitsu.com/jp/news/2019/09/27.html
概要:富士通株式会社
詳細は http://jp.fujitsu.com/ をご覧ください。
Copyright 2019 JCN Newswire. All rights reserved. www.jcnnewswire.com