(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023176299
(43)【公開日】2023-12-13
(54)【発明の名称】管理装置
(51)【国際特許分類】
G06F 9/50 20060101AFI20231206BHJP
【FI】
G06F9/50 150D
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022088510
(22)【出願日】2022-05-31
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100124811
【弁理士】
【氏名又は名称】馬場 資博
(74)【代理人】
【識別番号】100088959
【弁理士】
【氏名又は名称】境 廣巳
(74)【代理人】
【識別番号】100097157
【弁理士】
【氏名又は名称】桂木 雄二
(74)【代理人】
【識別番号】100187724
【弁理士】
【氏名又は名称】唐鎌 睦
(72)【発明者】
【氏名】内村 祐介
(57)【要約】
【課題】コンテナ数を適切に管理することが難しい場合がある。
【解決手段】管理装置400は、クラウドで処理されるコンテナのサービスレベルを示す情報を収集する収集部421と、前記収集部421が収集した前記サービスレベルを示す情報に基づいて、クラウドで処理される前記コンテナの数を制御する管理部422と、を有する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
クラウドで処理されるコンテナのサービスレベルを示す情報を収集する収集部と、
前記収集部が収集した前記サービスレベルを示す情報に基づいて、クラウドで処理される前記コンテナの数を制御する管理部と、
を有する
管理装置。
【請求項2】
請求項1に記載の管理装置であって、
前記収集部は、第1のクラウドで処理される前記コンテナの前記サービスレベルを示す情報を収集するとともに、前記第1のクラウドと組み合わせて運用される第2のクラウドで処理される前記コンテナの前記サービスレベルを示す情報を収集するよう構成され、
前記管理部は、前記収集部が収集した前記サービスレベルを示す情報に基づいて、前記第1のクラウドで処理されるコンテナの数と前記第2のクラウドで処理されるコンテナの数とを制御する
管理装置。
【請求項3】
請求項2に記載の管理装置であって、
前記管理部は、前記第1のクラウドの環境特性に応じて定められている条件に応じて前記第1のクラウドで処理されるコンテナの数を制御するとともに、前記第2のクラウドの環境特性に応じて定められている条件に応じて前記第2のクラウドで処理されるコンテナの数を制御する
管理装置。
【請求項4】
請求項3に記載の管理装置であって、
前記第1のクラウドの環境特性に応じて定められている条件には、サービスレベルに応じた条件の他にプラットフォームを監視することで取得されるハードウェア使用率に応じた条件が含まれており、前記第2のクラウドの環境特性に応じて定められている条件には、サービスレベルに応じた条件が含まれている
管理装置。
【請求項5】
請求項1に記載の管理装置であって、
コンテナの数を制御した際のサービスレベルの変化をシミュレーションする検証部を有し、
前記管理部は、前記検証部による検証の結果に応じてクラウドで処理される前記コンテナの数を制御する
管理装置。
【請求項6】
請求項5に記載の管理装置であって、
前記検証部は、前記第1のクラウドで処理される前記コンテナの数を制御する際にシミュレーショを行う一方で、前記第1のクラウドで処理される前記コンテナの数を制御する際にシミュレーショを行わない
管理装置。
【請求項7】
請求項1に記載の管理装置であって、
前記第1のクラウドはプライベートクラウドであり、前記第2のクラウドはパブリッククラウドである
管理装置。
【請求項8】
請求項1に記載の管理装置であって、
前記サービスレベルを示す情報は、レイテンシまたはエラー率を示す情報を含んでいる
管理装置。
【請求項9】
情報処理装置が、
クラウドで処理されるコンテナのサービスレベルを示す情報を収集し、
収集した前記サービスレベルを示す情報に基づいて、クラウドで処理される前記コンテナの数を制御する
管理方法。
【請求項10】
情報処理装置に、
クラウドで処理されるコンテナのサービスレベルを示す情報を収集し、
収集した前記サービスレベルを示す情報に基づいて、クラウドで処理される前記コンテナの数を制御する
処理を実現するためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、管理装置、管理方法、プログラムに関する。
【背景技術】
【0002】
クラウド環境において、コンテナ配置を管理する際に用いられる技術が知られている。
【0003】
例えば、特許文献1には、管理部を備えるコンテナ管理装置が記載されている。特許文献1によると、管理部は、ハイブリッドクラウドを構成する第1クラウドと第2クラウドのうち、第1クラウドの第1性能および第2クラウドの第2性能が、所定の条件を満たしている場合に、第2クラウドで処理されるコンテナ数を調整すると同時に、ハイブリッドクラウドに対する処理要求を、第1クラウドと第2クラウドに振り分ける比率を変更する。例えば、特許文献1には、CPU(Central Processing Unit)使用率に基づく管理を行う旨が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載のように、単にCPU使用率などのプラットフォーム監視の情報に基づいてコンテナの増減などを行うと、コンテナの数を制御したにもかかわらずレイテンシなどのサービスレベルが一時的に落ちることがあった。換言すると、単にプラットフォーム監視の情報に基づいてコンテナ数の管理などを行うと、一時的に通信が遅延するなど期待する効果を得られない場合があった。このように、コンテナ数を適切に管理することが難しい場合がある、という課題が生じていた。
【0006】
そこで、本発明の目的は、上述した課題を解決する管理装置、管理方法、プログラムを提供することにある。
【課題を解決するための手段】
【0007】
かかる目的を達成するため本開示の一形態である管理装置は、
クラウドで処理されるコンテナのサービスレベルを示す情報を収集する収集部と、
前記収集部が収集した前記サービスレベルを示す情報に基づいて、クラウドで処理される前記コンテナの数を制御する管理部と、
を有する
という構成をとる。
【0008】
また、本開示の他の形態である管理方法は、
情報処理装置が、
クラウドで処理されるコンテナのサービスレベルを示す情報を収集し、
収集した前記サービスレベルを示す情報に基づいて、クラウドで処理される前記コンテナの数を制御する
という構成をとる。
【0009】
また、本開示の他の形態であるプログラムは、
情報処理装置に、
クラウドで処理されるコンテナのサービスレベルを示す情報を収集し、
収集した前記サービスレベルを示す情報に基づいて、クラウドで処理される前記コンテナの数を制御する
処理を実現するためのプログラムである。
【発明の効果】
【0010】
上述したような各構成によると、上述した課題を解決することができる。
【図面の簡単な説明】
【0011】
【
図1】本開示の第1の実施形態におけるコンテナ管理システムの構成例を示す図である。
【
図2】コンテナ配置管理情報の一例を示す図である。
【
図3】コンテナ配置管理部の動作例を示す図である。
【
図4】本開示の第2の実施形態における管理装置の構成例を示すハードウェア図である。
【発明を実施するための形態】
【0012】
[第1の実施形態]
本開示の第1の実施形態について、
図1から
図3までを参照して説明する。
図1は、コンテナ管理システム100の構成例を示す図である。
図2は、コンテナ配置管理情報の一例を示す図である。
図3は、コンテナ配置管理部230の動作例を示す図である。
【0013】
本開示の第1の実施形態では、プライベートクラウド200とパブリッククラウド300とを有するハイブリッドクラウド環境でコンテナの数を管理するコンテナ管理システム100について説明する。後述するように、コンテナ管理システム100は、プライベートクラウド200のコンテナ260やパブリッククラウド300のコンテナ320などクラウドで処理されるコンテナのサービスレベルを確認する。そして、コンテナ管理システム100は、確認したサービスレベルと、予め定められたSLO(Service Level Objective:サービスレベル目標)とに基づいて、目標とするサービスレベルを満たすようにコンテナ数を制御する。
【0014】
また、本実施形態で説明するコンテナ管理システム100の場合、プライベートクラウド200のコンテナ数を制御しようとする際に、事前にシミュレーションを行ってシミュレーションの結果に応じた制御を行う。例えば、コンテナ管理システム100は、サービスを構成するシステムと同じ構成のシステムを仮想的に構築して、コンテナ構成変更前後におけるサービスレベルの変動をシミュレーションする。そして、コンテナ管理システム100は、シミュレーションの結果に応じた制御を行う。
【0015】
なお、本実施形態において、サービスレベルとは、レイテンシ(応答速度)やエラー率のような実環境のサービス品質を表すものとする。本実施形態におけるサービスレベルは、従来のプラットフォーム監視で確認していたCPU(Central Processing Unit)やメモリの情報とは違い、よりサービスの実態を表す指標である。例えば、アプリケーションの特性によりCPUやメモリに負荷がかからずにレイテンシが遅くなる場合に、プラットフォーム監視では検知できないがサービスレベル監視は検知することができる。例えば、サービスレベルは、レイテンシまたはエラー率であってもよいし、例えば、レイテンシとエラー率とを掛け合わせたものなどであってもよい。
【0016】
また、本実施形態では、プライベートクラウド200とパブリッククラウド300を併用するハイブリッドクラウド環境において、プライベートクラウド200とパブリッククラウド300の両方で同じコンテナを構成することができる場合について説明する。ここで、同じコンテナとは、プライベートクラウド200で動作するコンテナ260が、パブリッククラウド300でも動作する状態、または、パブリッククラウド300で動作するコンテナ320が、プライベートクラウド200でも動作する状態のことをいう。
【0017】
また、本実施形態においては、上述したように、プライベートクラウド200とパブリッククラウド300とを有するハイブリッドクラウドにおいてコンテナ数を管理する場合について説明する。しかしながら、例えば、ハイブリッドクラウドは、複数のプライベートクラウドや複数のパブリッククラウドを有していてもよい。また、コンテナ管理システム100が管理する対象は、例えば、プライベートクラウドを設けずに複数のパブリッククラウドから構成される場合など、ハイブリッドクラウド以外のクラウド環境であってもよい。
【0018】
図1は、コンテナ管理システム100の構成の一例を示している。
図1を参照すると、コンテナ管理システム100は、例えば、プライベートクラウド200と、パブリッククラウド300と、を有している。例えば、プライベートクラウド200とパブリッククラウド300とは、ネットワークなどを介して互いに通信可能なよう接続されている。
【0019】
プライベートクラウド200は、企業などが自身のために構築して運用するクラウドコンピューティング環境である。
図1を参照すると、例えば、プライベートクラウド200は、コンテナ管理装置として、コンテナ情報収集部210と、コンテナ情報記憶部220と、コンテナ配置ルール情報記憶部230と、コンテナ配置管理部240と、サービスレベル検証部250と、コンテナ260と、サービスレベル評価部270と、を有する。例えば、上述したコンテナ管理装置としての各機能は、プライベートクラウド200のコンテナ基盤上に実現されるコンテナ260などのコンテナにより実現されてよい。
【0020】
なお、プライベートクラウド200が有する各機能は、CPUなどの演算装置と、記憶装置と、を有する一つまたは複数の情報処理装置により実現することができる。例えば、プライベートクラウド200が有する各機能は、記憶装置に格納されたプログラムをCPUなどの演算装置が読み込んで実行することにより実現してよい。なお、情報処理装置は、上述したCPU(Central Processing Unit)の代わりに、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、TPU(Tensor Processing Unit)、量子プロセッサ、マイクロコントローラ、又は、これらの組み合わせなどを有してもよい。
【0021】
コンテナ情報収集部210は、プライベートクラウド200のコンテナ260やパブリッククラウド300のコンテナ320のサービスレベルを示す情報を収集する。例えば、コンテナ情報収集部210は、サービスレベル評価部270から、コンテナ260やコンテナ320のサービスレベルを示す情報を収集する。また、コンテナ情報収集部210は、収集したサービスレベルを示す情報をコンテナ情報記憶部220に格納する。なお、コンテナ情報収集部210が情報を収集する間隔は任意に設定してよい。例えば、コンテナ情報取得部210は、予め定められた所定の間隔で定期的にサービスレベルを示す情報をサービスレベル評価部270から収集することができる。
【0022】
また、コンテナ情報収集部210は、プライベートクラウド200で動作するコンテナ260などのCPU使用率やメモリ使用率などを示す情報を収集することができる。コンテナ情報収集部210は、コンテナ260などのCPU使用率やメモリ使用率などとして、コンテナ260が動作するコンテナ基盤のCPU使用率やメモリ使用率などを収集してよい。また、コンテナ情報収集部210は、収集したCPU使用率を示す情報などをコンテナ情報記憶部220に格納することができる。なお、コンテナ情報収集部210は、予め定められた所定の間隔で定期的にCPU使用率を示す情報などを収集してもよいし、所定の条件を満たす場合にCPU使用率を示す情報などを収集してもよい。
【0023】
例えば、以上のように、コンテナ情報収集部210は、CPU使用率やメモリ使用率などのプラットフォームを監視することで得られる情報を収集するとともに、サービスレベルを示す情報を収集する。なお、コンテナ情報収集部210は、上記例示した以外の情報を収集してもよい。例えば、コンテナ情報収集部210は、プライベートクラウド200のコンテナ基盤から、コンテナ260などの基本情報(例えば、コンテナIDやIPアドレスなど)を示す情報などを収集してもよい。
【0024】
コンテナ情報記憶部220は、コンテナ情報収集部210が収集した情報を記憶する記憶部である。上述したように、コンテナ情報記憶部220には、サービスレベルを示す情報やCPU使用率を示す情報などが格納される。例えば、コンテナ情報記憶部220に含まれる各種情報は、コンテナ情報収集部210が情報の収集を行うことなどに応じて更新される。
【0025】
コンテナ配置ルール情報記憶部230は、予め定められたコンテナ配置ルールを示すコンテナ配置ルール情報を格納する記憶部である。例えば、コンテナ配置ルール情報記憶部230には、外部装置などから予め取得したコンテナ配置ルール情報が格納されている。
【0026】
ここで、コンテナ配置ルール情報には、コンテナ数の制御を行う条件や制御の内容などを示す情報が含まれる。換言すると、コンテナ配置ルール情報では、コンテナ情報収集部210が収集した情報に対して、予め定められたサービスレベル目標(SLO)とサービスレベル目標に対応する閾値と、閾値を超過した場合にコンテナ配置管理部240が行う制御の内容と、などがルールとして予め設定されている。
【0027】
図2は、コンテナ配置ルール情報が示すコンテナ配置ルールの一例を示している。例えば、
図2を参照すると、コンテナ配置ルールとして、「コンテナ260のサービスレベルがSLOの70%未満であって、コンテナ320のサービスレベルがSLOの70%未満である」という条件と、「コンテナ320の数を増やし、CPU使用率などに応じてコンテナ260の数を制御する」という制御の内容と、が関連付けられている。なお、「CPU使用率などに応じてコンテナ260の数を制御する」という制御は、具体的には、例えば、「プライベートクラウド200のCPU使用率が所定閾値以上の場合にコンテナ260の数を減らし、CPU使用率が所定閾値未満の場合にコンテナ260の数を増やす」という制御である。CPU使用率の代わりに、または、CPU使用率ともに、メモリ使用率などを参照してもよい。例えば、後述するコンテナ配置管理部240は、コンテナ情報記憶部220に格納されたサービスレベルを示す情報などが上述したような条件を満たす場合、上述した内容の制御をコンテナ260のサービスレベルがSLOの70%以上、かつ、コンテナ320のサービスレベルがSLOの70%以上となるまで続けることができる。
【0028】
例えば、プライベートクラウド200のサービスレベルが低く、かつ、CPU使用率が所定閾値以上の場合、コンテナ260の処理が追い付いていないと想定される。そのため、負荷を下げる目的でプライベートクラウド200のコンテナ数を減らす制御を行う。一方、プライベートクラウド200のサービスレベルが低く、かつ、CPU使用率が所定閾値未満の場合は、ハードウェアに依存するサービスレベルの低下ではなく、単純にコンテナ260の数が少なくて処理が追い付いていないと想定される。そのため、プライベートクラウド200のコンテナ数を増加させる制御を行う。また、パブリッククラウド300のサービスレベルが低い場合は、ハードウェアに依存するサービスレベルの低下ではなく、単純にコンテナ320の数が少なくて処理が追い付いていないと想定される。そのため、CPU使用率などを確認することなく、コンテナ320の数を増加させる制御を行う。このように、プライベートクラウド200とパブリッククラウド300とでは、CPU性能などの環境特性が異なることが想定される。そのため、それぞれの環境特性に応じた条件とすることで、より適切な制御を行うことができる。
【0029】
また、
図2を参照すると、コンテナ配置ルールとして、「コンテナ260のサービスレベルがSLOの70%以上であって、コンテナ320のサービスレベルがSLOの70%未満である」という条件と、「コンテナ320の数を増やす」という制御と、が関連付けられている。例えば、後述するコンテナ配置管理部240は、コンテナ情報記憶部220に格納されたサービスレベルを示す情報などが上述したような条件を満たす場合、上述した内容の制御をコンテナ320のサービスレベルがSLOの70%以上となるまで続けることができる。
【0030】
また、
図2を参照すると、コンテナ配置ルールとして、「コンテナ260のサービスレベルがSLOの70%未満であって、コンテナ320のサービスレベルがSLOの70%以上である」という条件と、「CPU使用率などに応じてコンテナ260の数を制御する」という制御と、が関連付けられている。CPU使用率などに応じたコンテナ260の数を制御するという制御の具体的な内容は、既に説明した場合と同様であってよい。例えば、後述するコンテナ配置管理部240は、コンテナ情報記憶部220に格納されたサービスレベルを示す情報などが上述したような条件を満たす場合、上述した内容の制御をコンテナ260のサービスレベルがSLOの70%以上となるまで続けることができる。
【0031】
また、
図2を参照すると、コンテナ配置ルールとして、「コンテナ260のサービスレベルがSLOの70%以上であって90%未満であり、コンテナ320のサービスレベルがSLOの70%以上であって90%未満である」という条件と、「コンテナ260やコンテナ320の増減なし」という制御と、が関連付けられている。例えば、後述するコンテナ配置管理部240は、コンテナ情報記憶部220に格納されたサービスレベルを示す情報などが上述したような条件を満たす場合、コンテナ260やコンテナ320の数を増減させない。
【0032】
また、
図2を参照すると、コンテナ配置ルールとして、「コンテナ260のサービスレベルがSLOの90%以上であり、コンテナ320のサービスレベルがSLOの90%以上である」という条件と、「コンテナ320の数を1つ減らす」という制御と、が関連付けられている。例えば、後述するコンテナ配置管理部240は、コンテナ情報記憶部220に格納されたサービスレベルを示す情報などが上述したような条件を満たす場合、コンテナ320の数を減らす制御を行うことができる。このように、プライベートクラウド200とパブリッククラウド300とがともにサービスレベルに余裕がある場合、パブリッククラウド300のコンテナ320を優先的に削除する。これにより、例えば、コンテナ320の数などに応じた課金を行う際などにおいて、コンテナ320の数を効率的に抑えて課金額などを出来るだけ抑えることができる。
【0033】
例えば、以上のように、コンテナ配置ルール情報記憶部230には、プライベートクラウド200やパブリッククラウド300の環境特性などに応じた条件や制御の内容などを示すコンテナ配置ルールを示すコンテナ配置ルール情報が格納されている。なお、上述した具体的な値はあくまで一例であり、70%や90%などの値、閾値は任意に設定してよい。また、コンテナ配置ルール情報記憶部230には、上記例示した以外のプライベートクラウド200やパブリッククラウド300の環境特性などに応じた条件や制御の内容などを示すコンテナ配置ルール情報が格納されてもよい。
【0034】
コンテナ配置管理部240は、コンテナ情報記憶部220とコンテナ配置ルール情報記憶部230とを確認して、確認した結果に応じて、コンテナ260やコンテナ320の数を増減させる制御を行う。
【0035】
例えば、コンテナ配置管理部240は、コンテナ情報記憶部220を確認して、サービスレベルを示す情報などがコンテナ配置ルール情報記憶部230に含まれるコンテナ配置ルールが示す条件のうちのいずれかに該当するかを確認する。そして、コンテナ配置ルールが示す条件のうちのいずれかにサービスレベルなどが該当する場合、コンテナ配置管理部240は、該当する条件と関連付けられた制御の内容を実行する。つまり、コンテナ配置管理部240は、該当する条件に応じた、コンテナ260やコンテナ320の数を増減させる制御を行う。例えば、コンテナ配置管理部240は、条件に応じて、コンテナ260の数を増加または減少させる制御を行う。また、制御の内容がコンテナ320の数の増減であった場合、コンテナ配置管理部240は、当該内容の制御を行うよう、コンテナ配置制御部310に対して指示する。
【0036】
なお、コンテナ情報記憶部220とコンテナ配置ルール情報記憶部230とを確認した結果、プライベートクラウド200のコンテナ数を増減させることになった場合、コンテナ配置管理部240は、条件に応じた制御を実際に行う前に、条件に応じた制御を行った場合のシミュレーションを行うようサービスレベル検証部250に対して指示することができる。この場合、コンテナ配置管理部240は、サービスレベル検証部250によるシミュレーションの結果として問題ないと判定されたことに応じて、条件に応じた制御を実際に実行することができる。一方、サービスレベル検証部250によるシミュレーションの結果、サービスレベルが低下するなど問題ありと判定された場合、コンテナ配置管理部240は、例えば、サービスレベル検証部250が使用するリソースを一時的に開放して、条件に応じた制御を行うことができる。サービスレベル検証部250によるシミュレーションの結果、サービスレベルが低下するなど問題ありと判定された場合、コンテナ配置管理部240は、条件に応じた制御を行わないなど上記例示した以外の制御を行ってよい。
【0037】
また、複数のコンテナ260やコンテナ320がある場合などにおいて、プライベートクラウド200に対応するサービスレベルやパブリッククラウド300に対応するサービスレベルが複数収集される可能性がある。このような場合、コンテナ配置管理部240は、プライベートクラウド200やパブリッククラウド300ごとにサービスレベルの平均値を算出して、算出した平均値とSLOと比較することができる。コンテナ配置管理部240は、複数のサービスレベルのうち最も高い値や低い値をSLOと比較してもよい。
【0038】
サービスレベル検証部250は、コンテナ配置管理部240からの指示に応じて、条件に応じた制御の内容でコンテナ260の数を増加または減少させた際のサービスレベルの変化をシミュレーションする。例えば、サービスレベル検証部250には、プライベートクラウド200を構成する情報処理装置が有する所定のハードウェア資源が割り当てられており、当該ハードウェア資源を用いて、上記シミュレーションを行う。
【0039】
例えば、サービスレベル検証部250は、上述したハードウェア資源を用いて、サービスを構成するコンテナ管理システム100と同じ構成のシステムを仮想的に構築する。そして、サービスレベル検証部250は、コンテナ260の数を増加または減少させた際におけるサービスレベルの変化をシミュレーションする。
【0040】
なお、上述したように、サービスレベル検証部250に割り当てられているハードウェア資源は、コンテナ配置管理部240からの指示に応じて一時的に開放される場合がある。開放をいつまで続けるかは任意に設定してよい。
【0041】
コンテナ260は、任意のアプリケーションが動作するコンテナである。プライベートクラウド200において動作するコンテナ260の数は、コンテナ配置管理部240により制御される。
【0042】
サービスレベル評価部270は、プライベートクラウド200のコンテナ260やパブリッククラウド300のコンテナ320のサービスレベルを確認する。例えば、サービスレベル評価部270は、プライベートクラウド200のコンテナ260やパブリッククラウド300のコンテナ320のサービスレベルを予め定められた所定の間隔で定期的に確認することができる。また、サービスレベル評価部270は、コンテナ情報収集部210からの指示などに応じて、確認したサービスレベルを示す情報をコンテナ情報収集部210などに対して送信することができる。
【0043】
パブリッククラウド300は、クラウド事業者などが利用者のために構築して運用するクラウドコンピューティング環境である。
図1を参照すると、例えば、パブリッククラウド300は、コンテナ配置制御部310と、コンテナ320と、を有する。プライベートクラウド200の場合と同様に、パブリッククラウド300が有する各機能は、CPUなどの演算装置と、記憶装置と、を有する一つまたは複数の情報処理装置により実現することができる。例えば、パブリッククラウド300が有する各機能は、記憶装置に格納されたプログラムをCPUなどの演算装置が読み込んで実行することにより実現してよい。また、情報処理装置は、上述したCPUの代わりに、GPU、DSP、MPU、FPU、PPU、TPU、量子プロセッサ、マイクロコントローラ、又は、これらの組み合わせなどを有してもよい。
【0044】
コンテナ配置制御部310は、コンテナ320の数を増加または減少させる制御を行う。例えば、コンテナ配置制御部310は、コンテナ配置管理部240からの指示に応じて、指示に応じた内容の制御を行う。
【0045】
コンテナ320は、任意のアプリケーションが動作するコンテナである。パブリッククラウド300において動作するコンテナ320の数は、コンテナ配置制御部310により制御される。
【0046】
上述したように、コンテナ320は、コンテナ260と同じものとなる。ここでは、コンテナ260がプライベートクラウド200で起動されたコンテナであり、コンテナ320がパブリッククラウド300で起動されたコンテナであることを明確にするために、コンテナ260と区別して、コンテナ320と称する。
【0047】
以上が、コンテナ管理システム100の構成例である。続いて、
図3を参照して、コンテナ配置管理部240の動作例について説明する。
【0048】
図3は、コンテナ配置管理部240の動作例を示すフローチャートである。
図3を参照すると、コンテナ配置管理部240は、コンテナ情報記憶部220とコンテナ配置ルール情報記憶部230とを確認する(ステップS101)
【0049】
コンテナ配置ルールが示す条件のうちのいずれかにサービスレベルが該当する場合(ステップS102、Yes)、コンテナ配置管理部240は、該当する条件に関連付けられた制御の内容がコンテナ260を増加または減少させる制御であるか否か確認する(ステップS103)。
【0050】
条件に関連付けられた制御の内容がコンテナ260を増加または減少させる制御である場合(ステップS103、Yes)、コンテナ配置管理部240は、サービスレベル検証部250に対してコンテナ260の数を増加または減少させた際のサービスレベルの変化をシミュレーションするよう指示する(ステップS104)。また、コンテナ配置管理部240は、サービスレベル検証部250から、シミュレーションの結果を受信する。
【0051】
シミュレーションの結果としてサービスレベルの低下が確認できた場合(ステップS105、Yes)、コンテナ配置管理部240は、サービスレベル検証部250のリソースを一時的に開放して、条件に応じた制御を行う(ステップS106)。一方、シミュレーションの結果としてサービスレベルの低下が確認できなかった場合(ステップS105、No)、コンテナ配置管理部240は、、条件に応じた制御を行う(ステップS107)。
【0052】
また、条件に関連付けられた制御の内容がコンテナ260を増加または減少させる制御でなかった場合(ステップS103、No)、コンテナ配置管理部240は、条件に応じた制御を行う(ステップS107)。また、サービスレベルがコンテナ配置ルールが示す条件に該当しない場合(ステップS102、No)、コンテナ配置管理部240は、処理を終了する。
【0053】
以上が、コンテナ配置管理部240の動作例である。
【0054】
このように、コンテナ管理システム100は、コンテナ情報収取部210とコンテナ配置管理部240とを有している。このような構成によると、コンテナ配置管理部240は、コンテナ情報収取部210が収集したサービスレベルを示す情報に基づいて、コンテナ数を制御することができる。例えば、コンテナ260やコンテナ320で動作するアプリケーションの特性などによっては、CPUやメモリに負荷がかからずにレイテンシが遅くなるなどサービスレベルが低下することがある。上記のような構成によると、サービスレベルを示す情報に基づいてコンテナ数を制御するため、上記のようなアプリケーションの特性などに起因する問題に対応することができる。つまり、上記のような構成によると、コンテナ配置管理部240は、コンテナ数を適切に管理することができる。
【0055】
また、コンテナ管理システム100は、プライベートクラウド200とパブリッククラウド300の環境特性が異なることに着目して、それぞれ制御を行う際の条件を異なるものとしている。その結果、コンテナ配置管理部240は、それぞれの環境特性に応じた適切な制御を行うことができる。
【0056】
また、コンテナ管理システム100は、サービスレベル検証部250を有することで、シミュレーションを行うデジタルツイン環境を用意しており、プライベートクラウド200のコンテナ数を制御する場合に事前にサービスレベル検証部250にて制御に伴うサービスレベルの低下があるか否かを確認する。また、サービスレベルの低下が確認できる場合はサービスレベル検証部250のリソースを一時的に払い出すことで、コンテナ制御に伴うサービスレベルの低下に対応する。このような構成によると、サービスレベルの低下をより適切に抑制しつつコンテナ数を制御することができるため、コンテナ配置管理部240は、コンテナ数をより適切に管理することができる。
【0057】
なお、本実施形態では、コンテナ管理システム100の構成の一例を示しており。コンテナ管理システム100の構成は、本実施形態で例示した場合に限定されない。例えば、本実施形態においては、プライベートクラウド200がコンテナ管理装置としての各機能を有する場合について説明した。しかしながら、コンテナ管理装置としての各機能のうちの少なくとも一部は、プライベートクラウド200以外のサーバ装置などにより実現されてもよい。
【0058】
また、本実施形態においては、サービスレベル評価部270をプライベートクラウド200が有する場合について例示した。しかしながら、サービスレベル評価部としての機能は、パブリッククラウド300などプライベートクラウド200以外が有してもよい。また、プライベートクラウド200に加えて、パブリッククラウド300などがサービスレベル検証部250としての機能を有してもよい。また、コンテナ管理システム100は、プライベートクラウド200が有するコンテナ260やパブリッククラウド300が有するコンテナ320のうち、予め定められた情報に基づいて抽出される一部のコンテナのみをサービスレベル評価の対象やコンテナ数制御の対象としてもよい。コンテナ管理システム100は、その他例示した以外の変形例を採用してもよい。
【0059】
[第2の実施形態]
次に、本開示の第2の実施形態について、
図4、
図5を参照して説明する。
図4は、管理装置400のハードウェア構成例を示す図である。
図5は、管理装置400の構成例を示すブロック図である。
【0060】
本開示の第2の実施形態においては、サービスレベルを示す情報に基づいてクラウドで処理されるコンテナの数を制御する情報処理装置である管理装置400の構成例について説明する。
図4は、管理装置400のハードウェア構成例を示している。
図4を参照すると、管理装置400は、一例として、以下のようなハードウェア構成を有している。
・CPU(Central Processing Unit)401(演算装置)
・ROM(Read Only Memory)402(記憶装置)
・RAM(Random Access Memory)403(記憶装置)
・RAM403にロードされるプログラム群404
・プログラム群404を格納する記憶装置405
・情報処理装置外部の記録媒体410の読み書きを行うドライブ装置406
・情報処理装置外部の通信ネットワーク411と接続する通信インタフェース407
・データの入出力を行う入出力インタフェース408
・各構成要素を接続するバス409
【0061】
なお、管理装置400は、上述したCPUの代わりに、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、TPU(Tensor Processing Unit)、量子プロセッサ、マイクロコントローラ、又は、これらの組み合わせなどを用いてもよい。
【0062】
また、管理装置400は、プログラム群404をCPU401が取得して当該CPU401が実行することで、
図5に示す収集部421、管理部422としての機能を実現することが出来る。なお、プログラム群404は、例えば、予め記憶装置405やROM402に格納されており、必要に応じてCPU401がRAM403などにロードして実行する。また、プログラム群404は、通信ネットワーク411を介してCPU401に供給されてもよいし、予め記録媒体410に格納されており、ドライブ装置406が該プログラムを読み出してCPU401に供給してもよい。
【0063】
なお、
図4は、管理装置400のハードウェア構成例を示している。管理装置400のハードウェア構成は上述した場合に限定されない。例えば、管理装置400は、ドライブ装置406を有さないなど、上述した構成の一部から構成されてもよい。
【0064】
収集部421は、クラウドで処理されるコンテナのサービスレベルを示す情報を収集する。例えば、収集部421は、サービスレベルを示す情報として、レイテンシまたはエラー率を示す情報を収集する。
【0065】
管理部422は、収集部421が収集したサービスレベルを示す情報に基づいて、クラウドで処理されるコンテナの数を制御する。
【0066】
このように、管理装置400は、収集部421と管理部422とを有している。このような構成によると、管理部422は、収集部421が収集したサービスレベルを示す情報に基づいて、クラウドで処理されるコンテナの数を制御することができる。その結果、管理部422は、コンテナ数を適切に管理することができる。
【0067】
なお、上述した管理装置400は、当該管理装置400などの情報処理装置に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、管理装置400などの情報処理装置に、クラウドで処理されるコンテナのサービスレベルを示す情報を収集し、収集したサービスレベルを示す情報に基づいて、クラウドで処理されるコンテナの数を制御する、処理を実現するためのプログラムである。
【0068】
また、上述した管理装置400などの情報処理装置により実行される管理方法は、管理装置400などの情報処理装置が、クラウドで処理されるコンテナのサービスレベルを示す情報を収集し、収集したサービスレベルを示す情報に基づいて、クラウドで処理されるコンテナの数を制御する、という方法である。
【0069】
上述した構成を有する、プログラム、又は、プログラムを記録したコンピュータが読み取り可能な記録媒体、又は、管理方法、の発明であっても、上述した管理装置400と同様の作用・効果を奏するために、上述した本発明の目的を達成することが出来る。
【0070】
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における管理装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
【0071】
(付記1)
クラウドで処理されるコンテナのサービスレベルを示す情報を収集する収集部と、
前記収集部が収集した前記サービスレベルを示す情報に基づいて、クラウドで処理される前記コンテナの数を制御する管理部と、
を有する管理装置。
(付記2)
付記1に記載の管理装置であって、
前記収集部は、第1のクラウドで処理される前記コンテナの前記サービスレベルを示す情報を収集するとともに、前記第1のクラウドと組み合わせて運用される第2のクラウドで処理される前記コンテナの前記サービスレベルを示す情報を収集するよう構成され、
前記管理部は、前記収集部が収集した前記サービスレベルを示す情報に基づいて、前記第1のクラウドで処理されるコンテナの数と前記第2のクラウドで処理されるコンテナの数とを制御する
管理装置。
(付記3)
付記2に記載の管理装置であって、
前記管理部は、前記第1のクラウドの環境特性に応じて定められている条件に応じて前記第1のクラウドで処理されるコンテナの数を制御するとともに、前記第2のクラウドの環境特性に応じて定められている条件に応じて前記第2のクラウドで処理されるコンテナの数を制御する
管理装置。
(付記4)
付記3に記載の管理装置であって、
前記第1のクラウドの環境特性に応じて定められている条件には、サービスレベルに応じた条件の他にプラットフォームを監視することで取得されるハードウェア使用率に応じた条件が含まれており、前記第2のクラウドの環境特性に応じて定められている条件には、サービスレベルに応じた条件が含まれている
管理装置。
(付記5)
付記1に記載の管理装置であって、
コンテナの数を制御した際のサービスレベルの変化をシミュレーションする検証部を有し、
前記管理部は、前記検証部による検証の結果に応じてクラウドで処理される前記コンテナの数を制御する
管理装置。
(付記6)
付記5に記載の管理装置であって、
前記検証部は、前記第1のクラウドで処理される前記コンテナの数を制御する際にシミュレーショを行う一方で、前記第1のクラウドで処理される前記コンテナの数を制御する際にシミュレーショを行わない
管理装置。
(付記7)
付記1に記載の管理装置であって、
前記第1のクラウドはプライベートクラウドであり、前記第2のクラウドはパブリッククラウドである
管理装置。
(付記8)
付記1に記載の管理装置であって、
前記サービスレベルを示す情報は、レイテンシまたはエラー率を示す情報を含んでいる
管理装置。
(付記9)
情報処理装置が、
クラウドで処理されるコンテナのサービスレベルを示す情報を収集し、
収集した前記サービスレベルを示す情報に基づいて、クラウドで処理される前記コンテナの数を制御する
管理方法。
(付記10)
情報処理装置に、
クラウドで処理されるコンテナのサービスレベルを示す情報を収集し、
収集した前記サービスレベルを示す情報に基づいて、クラウドで処理される前記コンテナの数を制御する
処理を実現するためのプログラム。
【0072】
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。
【符号の説明】
【0073】
100 コンテナ管理システム
200 プライベートクラウド
210 コンテナ情報収集部
220 コンテナ情報記憶部
230 コンテナ配置ルール情報記憶部
240 コンテナ配置管理部
250 サービスレベル検証部
260 コンテナ
270 サービスレベル評価部
300 パブリッククラウド
310 コンテナ配置制御部
320 コンテナ
400 管理装置
401 CPU
402 ROM
403 RAM
404 プログラム群
405 記憶装置
406 ドライブ装置
407 通信インタフェース
408 入出力インタフェース
409 バス
410 記録媒体
411 通信ネットワーク
421 収集部
422 管理部