(57)【要約】【課題】仮想マシン上にコンテナを稼働させるシステムにおいて、仮想マシン群の負荷状況のみに基づいて仮想マシンのオートスケーリングを行う方式に比べて、コンテナの稼働のために使用されない仮想マシンが無駄に起動される可能性を低減する。【解決手段】オートスケーリング連携装置５０は、コンテナオートスケーリング管理装置３０が求めた必要コンテナ数に対して、コンテナ１４が仮想マシン１２のリソースのうちのどの程度の割合を使用するかを示すリソース使用割合を乗じることで、必要マシン数を求める。そして、求めた必要マシン数を、仮想マシンオートスケーリング管理装置２０に設定する。仮想マシンオートスケーリング管理装置２０は、その必要マシン数を仮想マシン１２の数の目標値として仮想マシン１２群のオートスケーリングを行う。【選択図】図１
2018160149.tif 000002
【特許請求の範囲】
【請求項１】
１以上の仮想マシンと、
前記１以上の仮想マシン上で稼働するコンテナのオートスケーリングを行うコンテナスケーリング装置と、
前記仮想マシンの必要数と現在稼働中の前記仮想マシンの数との差に応じて仮想マシンのオートスケーリングを行う仮想マシンスケーリング装置と、
前記コンテナスケーリング装置が求めた前記コンテナの必要数から、その必要数の前記コンテナを稼働させるのに必要な仮想マシンの数を計算する計算手段と、
前記仮想マシンスケーリング装置が用いる前記必要数に、前記計算手段が計算した数を反映させる手段と、
を含む、情報処理システム。
【請求項２】
コンテナスケーリング装置が求めたコンテナの必要数から、その必要数の前記コンテナを稼働させるのに必要な仮想マシンの数を計算する計算手段と、
前記仮想マシンの必要数と現在稼働中の前記仮想マシンの数との差に応じて仮想マシンのオートスケーリングを行う仮想マシンスケーリング装置が用いる前記必要数に、前記計算手段が計算した数を反映させる手段と、
を含むオートスケーリング連携装置。
【請求項３】
前記計算手段は、１つの前記コンテナが１つの前記仮想マシンのリソースのうちのどの程度の割合を使用するかを示すリソース使用割合と、前記コンテナの必要数とから、前記必要な仮想マシンの数を計算する、ことを特徴とする請求項２に記載のオートスケーリング連携装置。
【請求項４】
前記計算手段は、１つの前記コンテナが１つの前記仮想マシンのリソースのうちのどの程度の割合を使用するかを示すリソース使用割合に前記コンテナの必要数を乗算して得られる数に対して、１より大きいバッファ率を乗算することにより、前記必要な仮想マシンの数を計算する、ことを特徴とする請求項２に記載のオートスケーリング連携装置。
【請求項５】
コンピュータを、
コンテナスケーリング装置が求めたコンテナの必要数から、その必要数の前記コンテナを稼働させるのに必要な仮想マシンの数を計算する計算手段、
前記仮想マシンの必要数と現在稼働中の前記仮想マシンの数との差に応じて仮想マシンのオートスケーリングを行う仮想マシンスケーリング装置が用いる前記必要数に、前記計算手段が計算した数を反映させる手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、オートスケーリング連携装置及びプログラムに関する。
【背景技術】
【０００２】
コンピュータの仮想化方式として広く用いられているハイパーバイザ型仮想化では、物理的なマシンのＯＳ（ホストＯＳ。ＯＳはオペレーティングシステムのこと）上に個々の仮想マシンを構成し、それら個々の仮想マシン上でそれぞれ独立したゲストＯＳ環境を実行する。
【０００３】
一方、近年普及が進んでいるコンテナ型仮想化では、ホストＯＳ上に、個々のユーザ向けのアプリケーション動作環境を個別に構築することで、ユーザ毎のリソースの分離を実現している。コンテナ型仮想化は、ユーザが個別にゲストＯＳを実行しなくてよい分だけ、ハイパーバイザ型仮想化よりも効率的である。
【０００４】
ハイパーバイザ型仮想化方式のシステムでは、負荷状況に応じて仮想マシンの追加や削除を自動的に行うオートスケーリングが行われる（例えば特許文献１、２）。またコンテナ型のシステムでも、負荷状況に応じたコンテナのオートスケーリングが行われる。
【０００５】
更に近年、ハイパーバイザ型とコンテナ型を組み合わせたハイブリッド方式も提案されている。ハイブリッド方式のシステムでは、仮想マシン上にコンテナを構築する。例えば特許文献３には、そのようなハイブリッド方式が例示されている。
【０００６】
ハイブリッド方式の従来システムでは、仮想マシンレベルのオートスケーリングとコンテナレベルのオートスケーリングとが互いに独立に行われている。すなわち、従来は、仮想マシン群の負荷状況等の状態に応じて仮想マシン群のオートスケーリングが行われ、コンテナ群の負荷状況等の状態に応じてコンテナ群のオートスケーリングが行われていた。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１７−４１１８５号公報
【特許文献２】特開２０１５−１９４９５８号公報
【特許文献３】特開２０１６−１８１１８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
仮想マシンのオートスケーリングで、仮想マシン群の負荷状況のみに基づいて仮想マシンのスケールアウト（仮想マシンの台数を増やすこと）を行うと、それら仮想マシン上で稼働するコンテナ群の負荷状況に問題がない場合、使用されない仮想マシンが増えてしまい、無駄が生じる。
【０００９】
本発明は、仮想マシン上にコンテナを稼働させるシステムにおいて、仮想マシン群の負荷状況のみに基づいて仮想マシンのオートスケーリングを行う方式に比べて、コンテナの稼働のために使用されない仮想マシンが無駄に起動される可能性を低減することを目的とする。
【課題を解決するための手段】
【００１０】
請求項１に係る発明は、１以上の仮想マシンと、前記１以上の仮想マシン上で稼働するコンテナのオートスケーリングを行うコンテナスケーリング装置と、前記仮想マシンの必要数と現在稼働中の前記仮想マシンの数との差に応じて仮想マシンのオートスケーリングを行う仮想マシンスケーリング装置と、前記コンテナスケーリング装置が求めた前記コンテナの必要数から、その必要数の前記コンテナを稼働させるのに必要な仮想マシンの数を計算する計算手段と、前記仮想マシンスケーリング装置が用いる前記必要数に、前記計算手段が計算した数を反映させる手段と、を含む、情報処理システムである。
【００１１】
請求項２に係る発明は、コンテナスケーリング装置が求めたコンテナの必要数から、その必要数の前記コンテナを稼働させるのに必要な仮想マシンの数を計算する計算手段と、前記仮想マシンの必要数と現在稼働中の前記仮想マシンの数との差に応じて仮想マシンのオートスケーリングを行う仮想マシンスケーリング装置が用いる前記必要数に、前記計算手段が計算した数を反映させる手段と、を含むオートスケーリング連携装置である。
【００１２】
請求項３に係る発明は、前記計算手段は、１つの前記コンテナが１つの前記仮想マシンのリソースのうちのどの程度の割合を使用するかを示すリソース使用割合と、前記コンテナの必要数とから、前記必要な仮想マシンの数を計算する、ことを特徴とする請求項２に記載のオートスケーリング連携装置である。
【００１３】
請求項４に係る発明は、前記計算手段は、１つの前記コンテナが１つの前記仮想マシンのリソースのうちのどの程度の割合を使用するかを示すリソース使用割合に前記コンテナの必要数を乗算して得られる数に対して、１より大きいバッファ率を乗算することにより、前記必要な仮想マシンの数を計算する、ことを特徴とする請求項２に記載のオートスケーリング連携装置である。
【００１４】
請求項５に係る発明は、コンピュータを、コンテナスケーリング装置が求めたコンテナの必要数から、その必要数の前記コンテナを稼働させるのに必要な仮想マシンの数を計算する計算手段、前記仮想マシンの必要数と現在稼働中の前記仮想マシンの数との差に応じて仮想マシンのオートスケーリングを行う仮想マシンスケーリング装置が用いる前記必要数に、前記計算手段が計算した数を反映させる手段、として機能させるためのプログラムである。
【発明の効果】
【００１５】
請求項１、２、３又は５に係る発明によれば、仮想マシン上にコンテナを稼働させるシステムにおいて、仮想マシン群の負荷状況のみに基づいて仮想マシンのオートスケーリングを行う方式に比べて、コンテナの稼働のために使用されない仮想マシンが無駄に起動される可能性を低減することができる。
【００１６】
請求項４に係る発明によれば、推定されたコンテナの必要数よりもコンテナの数が増える場合に、バッファ率を用いない方式よりも迅速に対処することができる。
【図面の簡単な説明】
【００１７】
【図１】実施形態のシステム構成の一例を示す図である。
【図２】コンテナ起動マシン情報管理部が保持するデータ内容の例を示す図である。
【図３】リソース使用割合管理部が保持するデータ内容の例を示す図である。
【図４】仮想マシンオートスケーリング管理装置の処理手順の一例を示す図である。
【図５】オートスケーリング連携装置の処理手順の一例を示す図である。
【発明を実施するための形態】
【００１８】
図１を参照して、実施形態のクラウドサービスシステムの一例を説明する。
【００１９】
図１のクラウドサービスシステムは、コンテナ用仮想マシン群１０と、仮想マシンオートスケーリング管理装置２０、コンテナオートスケーリング管理装置３０と、コンテナ管理装置４０と、オートスケーリング連携装置５０とを含む。
【００２０】
コンテナ用仮想マシン群１０は、１以上の物理的なコンピュータからなるシステム上で実行されている仮想マシン群である。個々の物理的なコンピュータは、１以上のＣＰＵ（中央演算装置）、メモリ（一次記憶装置）、二次記憶装置等のハードウエアリソースを備えている。物理的なコンピュータのＯＳ上でハイパーバイザ型仮想化の仮想マシンが稼働する。コンテナ用仮想マシン群１０は、それら仮想マシンのうちコンテナを実行するために用いられる仮想マシン１２の集合である。
【００２１】
個々の仮想マシン１２上には、コンテナ型仮想化のコンテナ１４が稼働しており、コンテナ１４内でのアプリケーションが実行される。図示例は、２台の仮想マシン１２のうち一方の仮想マシン１２でコンテナＡ、Ｂ及びＣの３種類のコンテナ１４が１つずつ、もう一方の仮想マシン１２でコンテナＡ及びＣの２種類のコンテナ１４が１つずつ稼働している状態を示している。
【００２２】
仮想マシンオートスケーリング管理装置２０は、仮想マシンレベルのオートスケーリングを行う。この仮想マシンレベルのオートスケーリングでは、仮想マシン群をスケールアウト（仮想マシンの台数を増やすこと）したり、スケールイン（仮想マシンの台数を減らすこと）する。仮想マシンオートスケーリング管理装置２０は、次に説明するコンテナオートスケーリング管理装置３０によるコンテナ１４のオートスケーリングで求められるコンテナ１４の必要数に連動して、仮想マシンのオートスケーリングを行う。
【００２３】
仮想マシンオートスケーリング管理装置２０は、必要マシン数管理部２２と、仮想マシンオートスケーリング部２４とを含む、必要マシン数管理部２２は、現在の状況で必要と判断される仮想マシンの数（必要マシン数と呼ぶ）を管理する。本実施形態では、必要マシン数は、後述するオートスケーリング連携装置５０により必要マシン数管理部２２に設定される。仮想マシンオートスケーリング部２４は、必要マシン数管理部２２が管理している必要マシン数と、現在稼働中の仮想マシン１２の数（現在のマシン数）との差に応じて、仮想マシン１２群のオートスケーリングを行う。
【００２４】
コンテナオートスケーリング管理装置３０は、コンテナレベルでのオートスケーリングを行う。すなわち、ある種類のコンテナの負荷が高まれば、そのコンテナをスケールアウトし（すなわち台数を増やし）、負荷が低くなればそのコンテナをスケールインする（台数を減らす）。例えば、コンテナＡのアプリケーションについての負荷が上昇すれば、コンテナＡをスケールアウト（すなわち新たなコンテナＡを起動する）し、その負荷が下降すればコンテナＡを減らす（すなわち既存のコンテナＡのうち所定の基準から選んだものを終了し、削除する）。
【００２５】
コンテナオートスケーリング管理装置３０は、必要コンテナ数管理部３２と、コンテナオートスケーリング部３４とを含む、必要コンテナ数管理部３２は、コンテナ１４の種類毎に、現在のその種類のコンテナ１４の負荷状況から、必要と判断されるその種類のコンテナ１４の数（必要コンテナ数）を管理する。必要コンテナ数管理部３２は、例えば、ある種類の１以上のコンテナ１４の負荷量の合計から、公知の手法でそれら負荷量を処理するのに必要なコンテナ数（言い換えれば負荷量に見合ったコンテナ数）、すなわち必要コンテナ数を計算する。コンテナ１４の負荷量としては、例えばコンテナ１４が単位時間に処理した要求の数、あるいはそのコンテナ１４に対する要求を保持する待ち行列に貯まっている要求の数等を用いてもよい。コンテナオートスケーリング部３４は、必要コンテナ数管理部３２が求めた必要コンテナ数と、現在稼働中のコンテナ１４の数（現在のコンテナ数）との差に応じて、コンテナ１４群のオートスケーリングを行う。
【００２６】
コンテナ管理装置４０は、コンテナについての各種情報を管理する装置であり、コンテナ・マシン情報管理部４２及びリソース使用割合管理部４４を含む。コンテナ・マシン情報管理部４２は、各仮想マシン１２の上で実行されているコンテナ１４の情報を管理する。コンテナ・マシン情報管理部４２が管理する情報は、例えば図２に例示するように、各仮想マシン１２のＩＤ（識別情報）に、その仮想マシン１２上で実行されているコンテナ１４のＩＤのリストを対応付けた情報である。コンテナ１４のＩＤからそのコンテナ１４の種類が特定可能である。
【００２７】
リソース使用割合管理部４４は、図３に例示するように、コンテナ１４の種類毎に、その種類のコンテナ１４のリソース使用割合を管理する。ある種類のコンテナ１４についてのリソース使用割合は、仮想マシン１２がコンテナ１４群に割り当て可能なリソース量のうち、その種類の１つのコンテナ１４がどの程度の割合を使用するかを示す値である。ここで考えるコンテナ１４が使用するリソース量は、コンテナ１４が実際に稼働しているときの時々刻々変化するリソースの使用量ではなく、そのコンテナ１４を適切に稼働させるのに必要な（いわば推奨される）リソース量である。仮想マシン１２は、その仮想マシン１２を管理している上位のシステムからリソースの割り当てを受け、それら割り当てられたリソースのうちの一部を仮想マシン１２自体の処理（例えば仮想マシン１２の動作管理）のために用い、他の多くの部分を自機上で実行されるコンテナ１４群に割り当てる。
【００２８】
例えばリソースとしてメモリ量に着目する場合、例えば仮想マシン１２が自機上のコンテナ群に対して割り当て可能なメモリ量が４ＧＢであり、コンテナＡという種類のコンテナが処理を実行するのに必要とするメモリ量が２ＧＢである場合、コンテナＡのリソース使用割合は０．５（すなわち５０％）である。また例えばリソースとしてＣＰＵコア数に着目する場合、例えば仮想マシン１２が自機上のコンテナ群に対して割り当て可能なＣＰＵコア数が８個であり、コンテナＡが処理を実行するのに必要とするＣＰＵコア数が２個である場合、コンテナＡのリソース使用割合は０．２５（すなわち２５％）である。また、メモリ量とＣＰＵコアのように複数のリソースに着目する場合は、コンテナのそれら個々のリソースについてのリソース使用割合を総合（例えばそれらリソース使用割合のうち最も大きい値を選ぶ等）したものを、最終的なリソース使用割合とする。
【００２９】
オートスケーリング連携装置５０は、仮想マシンレベルのオートスケーリングを、コンテナレベルのオートスケーリングに連携させるための処理を行う。オートスケーリング連携装置５０は、必要マシン数計算部５２及び必要マシン数設定部５４を有する。また更にバッファ率適用部５６を有していてもよい。
【００３０】
必要マシン数計算部５２は、コンテナオートスケーリング管理装置３０が計算した必要コンテナ数を用いて必要マシン数を計算する。コンテナオートスケーリング管理装置３０は、コンテナ１４の種類毎に必要コンテナ数を計算するので、必要マシン数計算部５２もコンテナ１４の種類毎にその種類のコンテナ１４のための必要マシン数を計算する。そして、必要マシン数計算部５２は、コンテナ１４の種類毎の必要マシン数を合計することで、システム全体として必要な仮想マシン１２の数（全体的な必要マシン数）を計算する。
【００３１】
ある種類のコンテナ１４についての必要マシン数は、例えば、その種類のコンテナ１４についてのリソース使用割合に、その種類のコンテナ１４についての必要コンテナ数を乗算することにより求める。リソース使用割合は、その種類の１台のコンテナ１４が仮想マシン１２のうちの何割を使用するかを示しているので、これに必要コンテナ数を乗算すれば、その種類のコンテナ１４の必要コンテナ数をまかなうのに必要な仮想マシン１２の数が見積もられるのである。
【００３２】
必要マシン数設定部５４は、必要マシン数計算部５２が計算した必要マシン数を仮想マシンオートスケーリング管理装置２０の必要マシン数管理部２２に設定する。
【００３３】
バッファ率適用部５６は、必要マシン数計算部５２が計算した必要マシン数にバッファ率を適用する。バッファ率とは、必要マシン数を多めに見積もるための１以上の係数である。例えば、必要マシン数計算部５２が計算した必要マシン数に対して１より大きいバッファ率を乗算すれば、必要コンテナ数から直接導かれる必要マシン数（すなわち必要コンテナ数×リソース使用割合）より大きい値が得られる。この値を仮想マシンオートスケーリング管理装置２０に設定すれば、必要コンテナ数から直接導かれる必要コンテナ数より大きい値を目標値として仮想マシン１２群のオートスケーリングが行われることとなる。このように１より大きいバッファ率を用いれば、システム全体の仮想マシン１２の数が、必要コンテナ数に連動しつつも、少し余裕を持った多めの数になる。コンテナ１４を新たに起動する際に仮想マシン１２の数が足りない場合、その時点から新たな仮想マシン１２を用意するには、仮想マシン１２のＯＳ等の起動が必要なためある程度の時間がかかる。１より大きいバッファ率を用いてある程度多めの仮想マシン１２を前もって用意すれば、仮想マシン１２の数が増える分だけ費用はかかるものの、コンテナ数の増加により迅速に対応できる。なお、バッファ率を１とすれば、必要コンテナ数×リソース使用割合で求めた必要マシン数そのものが仮想マシンオートスケーリング管理装置２０に設定されることとなる。
【００３４】
オートスケーリング連携装置５０には、バッファ率適用部５６によるバッファ率の適用を実行するか否かの設定項目や、実行する場合に用いるバッファ率の値の設定項目等があり、システムの管理者はこれらの項目の設定を行う。
【００３５】
次に図４を参照して、仮想マシンオートスケーリング管理装置２０（特に仮想マシンオートスケーリング部２４）が実行する仮想マシンレベルのオートスケーリングの処理手順を例示する。この例では、仮想マシンオートスケーリング管理装置２０は、必要マシン数管理部２２が保持する必要マシン数から現在のマシン数（現在稼働中の仮想マシン１２の数）を減算した減算結果がプラス（正値）、マイナス（負値）、０（ゼロ）のいずれであるかを判定する（Ｓ１０）。ここで用いる必要マシン数は、オートスケーリング連携装置５０から設定される。
【００３６】
「必要マシン数−現在のマシン数」がプラスの場合、現在の仮想マシン１２の数が必要なマシン数に足りていないということなので、仮想マシンオートスケーリング管理装置２０は、仮想マシン１２群をスケールアウトする（Ｓ１２）。すなわち、新規の仮想マシン１２を起動する。
【００３７】
「必要マシン数−現在のマシン数」が０の場合、現在のマシン数は必要マシン数に一致しており、仮想マシン１２の増減は必要ない。この場合、仮想マシンオートスケーリング管理装置２０は、処理を終了する。
【００３８】
「必要マシン数−現在のマシン数」がマイナスの場合、現在の仮想マシン１２の数が必要なマシン数を上回っているということである。この場合、仮想マシンオートスケーリング管理装置２０はスケールインを行う（Ｓ１４）。すなわち、終了しても問題のない仮想マシン１２を探して終了させる。
【００３９】
コンテナオートスケーリング管理装置３０が行うコンテナレベルのオートスケーリングの処理手順も、図４に例示した仮想マシンオートスケーリング管理装置２０の手順と同様でよい。すなわち、コンテナオートスケーリング管理装置３０は、コンテナ１４の種類毎に必要コンテナ数と現在のコンテナ数の差を求め、その差がプラスであればスケールアウト（その種類のコンテナ１４を追加起動）し、マイナスであればスケールイン（その種類のコンテナ１４をいくつか終了させる）し、０であれば現状を維持する。
【００４０】
次に、図５を参照して、オートスケーリング連携装置５０の処理手順の一例を説明する。
【００４１】
この手順では、まず必要マシン数計算部５２は、コンテナ・マシン情報管理部４２から、システム上で現在稼働中のコンテナ１４の種類（図１のコンテナＡ、Ｂ、Ｃ等）の一覧を取得する（Ｓ２０）。次に必要マシン数計算部５２は、取得した一覧に含まれる個々のコンテナ種類についてＳ２２〜Ｓ３０の処理を繰り返す。すなわち、まず必要マシン数計算部５２は、それらコンテナ種類の一覧の中にＳ２２〜Ｓ３０の処理をまだ行っていないもの（未処理のもの）があるかどうかを判定し（Ｓ２２）、未処理のコンテナ種類があればそれを１つ取り出す。次に、取り出したコンテナ種類について、コンテナ管理装置４０からリソース使用割合の情報を取得すると共に、コンテナオートスケーリング管理装置３０からそのコンテナ種類についての必要コンテナ数を取得する（Ｓ２４）。次に必要マシン数計算部５２は、取得したリソース使用割合と必要コンテナ数を乗算することで、そのコンテナ種類についての必要マシン数を計算する（Ｓ２６）。そして、計算結果の値を、「システム全体の必要マシン数」（図５の手順の開始時に０に初期化されている）に加算する（Ｓ２８）。なお、例えばクラウドサービスシステムが各ユーザに対してそれぞれそのユーザのために稼働するコンテナの数や仮想マシンの数のオートスケーリングを行う場合、図４や図５の手順はユーザ毎に行う。この場合、Ｓ２８における「システム全体の必要マシン数」とはそのユーザにとって必要な仮想マシン数のことである。
【００４２】
Ｓ２８の後、必要マシン数計算部５２は、今回処理したコンテナ種類を処理済みとし（Ｓ３０）、Ｓ２２に戻る。
【００４３】
Ｓ２０で取得した一覧に含まれるすべてのコンテナ種類に対して以上に説明したＳ２２〜Ｓ３０の処理を行うと、Ｓ２２の判定結果がＮｏとなる。この場合、必要マシン数計算部５２は、バッファ率適用部５６によるバッファ率適用を行う設定となっているか確認し（Ｓ３２）、バッファ率適用を行う設定の場合は、Ｓ２２〜Ｓ３０の繰り返しで求められたシステム全体の必要マシン数にそのバッファ率を乗算する（Ｓ３４）。そして、乗算結果の値の小数点以下を切り上げることで、最終的な必要マシン数を求める（Ｓ３６）。バッファ率適用を行わない設定の場合は、Ｓ３４はスキップし、システム全体の必要マシン数の小数点以下を切り上げて最終的な必要マシン数を求める（Ｓ３６）。
【００４４】
Ｓ３６の後、必要マシン数設定部５４が、Ｓ３６で求められた必要マシン数を、仮想マシンオートスケーリング管理装置２０の必要マシン数管理部２２に設定する（すなわち、必要マシン数管理部２２が保持する必要マシン数の値をＳ３６で求められた値に更新する）。
【００４５】
オートスケーリング連携装置５０の処理（図５）は、例えば、コンテナオートスケーリング管理装置３０が必要コンテナ数を更新したことを契機として実行する。例えば、コンテナオートスケーリング管理装置３０が必要コンテナ数を更新したときに、オートスケーリング連携装置５０に対してプッシュ方式で通知を行ったり、ＡＰＩ（アプリケーションプログラムインタフェース）呼出を行ったりすることで、オートスケーリング連携装置５０が処理を実行する。また別の例として、オートスケーリング連携装置５０は、図５に例示した処理を定期的に実行するようにしてもよく、この場合コンテナオートスケーリング管理装置３０には上述したオートスケーリング連携装置５０を動作させるための通知等の仕組みを持たなくてよい。
【００４６】
以上に説明した例では、仮想マシンオートスケーリング管理装置２０は、オートスケーリング連携装置５０が必要コンテナ数から求めた必要マシン数をそのままオートスケーリングの目標値として用いたが、これは一例に過ぎない。仮想マシンオートスケーリング管理装置２０は、オートスケーリング連携装置５０が必要コンテナ数から求めた必要マシン数を、例えば仮想マシン１２群の負荷に応じて補正（あるいは仮想マシン１２群の負荷から求めた必要マシン数と総合）した必要マシン数を目標値としてオートスケーリングを行ってもよい。このように、本実施形態では、仮想マシンオートスケーリング管理装置２０がオートスケーリングの目標値として用いる必要マシン数に、オートスケーリング連携装置５０が必要コンテナ数から求めた必要マシン数の値を反映させる。
【符号の説明】
【００４７】
１０  コンテナ用仮想マシン群、１２  仮想マシン、１４  コンテナ、２０  仮想マシンオートスケーリング管理装置、２２  必要マシン数管理部、２４  仮想マシンオートスケーリング部、３０  コンテナオートスケーリング管理装置、３２  必要コンテナ数管理部、３４  コンテナオートスケーリング部、４０  コンテナ管理装置、４２  コンテナ・マシン情報管理部、４４  リソース使用割合管理部、５０  オートスケーリング連携装置、５２  必要マシン数計算部、５４  必要マシン数設定部、５６  バッファ率適用部。
【図１】
2018160149.tif 000003
【図２】
2018160149.tif 000004
【図３】
2018160149.tif 000005
【図４】
2018160149.tif 000006
【図５】
2018160149.tif 000007