(57)【要約】【課題】一つ又は複数のアプリケーションサービスを含んだサービスシステムの運用のための設定に関して基盤サービス提供者の負担を軽減する。【解決手段】サービスシステムの運用のための設定を支援する支援システムが構築される。具体的には、少なくとも一つのアプリケーションサービスについて用意されている一つ又は複数のプランから指定されたプランと当該アプリケーションサービスとの組合せに関連付けられている一つ又は複数のメトリクス収集サービスを特定する機能と、一つ又は複数のサイトのうちの当該アプリケーションサービスのデプロイメント先のサイトに当該アプリケーションサービスについてデプロイされる上記特定された一つ又は複数のメトリクス収集サービスの各々に当該メトリクス収集サービスのアクセス先を設定する機能とが提供される。【選択図】  図２５
2020149649.tif 000002
【特許請求の範囲】
【請求項１】
一つ又は複数のアプリケーションサービスを含んだサービスシステムの運用のための設定を支援するシステムであって、
少なくとも一つのアプリケーションサービスについて用意されている一つ又は複数のプランから指定されたプランと当該アプリケーションサービスとの組合せに関連付けられている一つ又は複数のメトリクス収集サービスを特定する収集特定部と、
一つ又は複数のサイトのうちの当該アプリケーションサービスのデプロイメント先のサイトに当該アプリケーションサービスについてデプロイされる前記特定された一つ又は複数のメトリクス収集サービスの各々に当該メトリクス収集サービスのアクセス先を設定する収集支援部と
を備え、
各メトリクス収集サービスは、当該メトリクス収集サービスに設定されたアクセス先からメトリクスを収集するサービスである、
システム。
【請求項２】
デプロイされたアプリケーションサービスであるアプリケーションインスタンスがアンデプロイされる場合、前記収集支援部は、当該アンデプロイされるアプリケーションインタンスに対応しておりデプロイされた一つ又は複数のメトリクス収集サービスである一つ又は複数のメトリクス収集インスタンスをアンデプロイする、
請求項１に記載のシステム。
【請求項３】
デプロイされたアプリケーションサービスのプランの変更であるプラン変更が行われる場合、前記収集支援部は、
当該アプリケーションサービスに対応しておりデプロイされた一つ又は複数のメトリクス収集サービスである一つ又は複数のメトリクス収集インスタンスをアンデプロイし、
当該アプリケーションサービスの前記プラン変更後のプランに対応しデプロイされる一つ又は複数のメトリクス収集サービスの各々に当該メトリクス収集サービスのアクセス先を設定する、
請求項１に記載のシステム。
【請求項４】
それぞれサービスシステムのテンプレートである複数のシステムテンプレートを管理するテンプレートマネージャが、前記複数のシステムテンプレートから選択されたシステムテンプレートが示すサービスシステムに含まれている一つ又は複数のアプリケーションサービスをデプロイすることの一つ又は複数の命令である一つ又は複数のデプロイメント命令を送信する場合に、前記収集特定部が、前記選択されたシステムテンプレートが示すサービスシステムに含まれている一つ又は複数のアプリケーションサービスである一つ又は複数の対象アプリケーションサービスの各々について、それぞれがアプリケーションサービスとそれのプランとの組合せである複数のサービスプランセットと、前記複数のサービスプランセットにそれぞれ対応付けられた複数のメトリクス収集サービス群とを示すサービスプランセット情報から、当該対象アプリケーションサービスとそれの指定されたプランとに一致するサービスプランセットに対応し前記一つ又は複数のデプロイメント命令のいずれかに前記テンプレートマネージャにより関連付けられるメトリクス収集サービス群を選択し、
前記複数のメトリクス収集サービス群の各々は、一つ又は複数のメトリクス収集サービスであり、
一つ又は複数のサービスシステムに対応した一つ又は複数のサービスデプロイメントマネージャの各々について前記収集支援部が備えられており、
前記一つ又は複数の対象アプリケーションサービスがデプロイされる一つ以上のサイトの各々について、当該サイトに対応したサービスデプロイメントマネージャが、少なくとも一つの対象アプリケーションサービスとそれのメトリクス収集サービス群とが関連付けられているデプロイメント命令を受信し、当該対象アプリケーションサービスと当該メトリクス収集サービス群とを、当該サービスデプロイメントマネージャに対応したサイトにおけるサービス実行基盤にデプロイする場合に、当該サービスデプロイメントマネージャについての前記収集支援部が、当該サービスデプロイメントマネージャによりデプロイされるメトリクス収集サービス群における各メトリクス収集サービスに当該メトリクス収集サービスのアクセス先を設定する、
請求項１に記載のシステム。
【請求項５】
デプロイされた対象アプリケーションサービスである対象アプリケーションインスタンスが当該対象アプリケーションサービスをデプロイしたサービスデプロイメントマネージャによりアンデプロイされる場合、当該サービスデプロイメントマネージャについての前記収集支援部が、当該アンデプロイされる対象アプリケーションインタンスに対応しておりデプロイされたメトリクス収集サービス群であるメトリクス収集インスタンス群を、当該サービスデプロイメントマネージャに対応したサイトのサービス実行基盤からアンデプロイする、
請求項４に記載のシステム。
【請求項６】
デプロイされた少なくとも一つの対象アプリケーションサービスのプランの変更であるプラン変更が指定された場合、当該対象アプリケーションサービスをデプロイしたサービスデプロイメントマネージャについての前記収集支援部が、
当該対象アプリケーションサービスに対応しておりデプロイされたメトリクス収集サービス群であるメトリクス収集インスタンス群を、当該サービスデプロイメントマネージャに対応したサイトのサービス実行基盤からアンデプロイし、
当該対象アプリケーションサービスの前記プラン変更後のプランに対応し当該サービスデプロイメントマネージャによりデプロイされるメトリクス収集サービス群における各メトリクス収集サービスに当該メトリクス収集サービスのアクセス先を設定する、
請求項４に記載のシステム。
【請求項７】
少なくとも一つの対象アプリケーションサービスについて指定されたプランに、当該対象アプリケーションサービスの当該指定されたプランに依存し当該対象アプリケーションサービスの呼出し制限に関する一つ又は複数のパラメータ値である呼出し制限パラメータ群が関連付けられている場合、当該対象アプリケーションサービスをデプロイするサービスデプロイメントマネージャが、当該対象アプリケーションサービスについて、当該呼出し制限パラメータ群が関連付けられたプロキシをデプロイする、
請求項４に記載のシステム。
【請求項８】
サービスマネージャを更に備え、
前記テンプレートマネージャから送信される前記一つ又は複数のデプロイメント命令は、一つのデプロイメント命令としての全体デプロイメント命令であり、
前記サービスマネージャは、当該全体デプロイメント命令に基づく一つ以上のデプロイメント命令である一つ以上の個別デプロイメント命令を、前記一つ以上のサイトにそれぞれ対応した一つ以上のサービスデプロイメントマネージャにそれぞれ送信し、
当該一つ以上のサービスデプロイメントマネージャの各々が受信する前記デプロイメント命令は、前記個別デプロイメント命令である、
請求項４に記載のシステム。
【請求項９】
前記複数のサイトは、主たるサービス実行基盤及び当該サービス実行基盤にデプロイメント命令を出すサービスデプロイメントマネージャが存在するサイトであるローカルサイトと、当該ローカルサイト以外のいずれかのサイトであるリモートサイトとを含む、
請求項４に記載のシステム。
【請求項１０】
少なくとも一つのアプリケーションサービスの他に当該アプリケーションサービスのプロキシも、サービスデプロイメントマネージャによりデプロイされる、
請求項１に記載のシステム。
【請求項１１】
前記複数のサイトは、主たるサービス実行基盤及び当該サービス実行基盤にデプロイメント命令を出すサービスデプロイメントマネージャが存在するサイトであるローカルサイトと、当該ローカルサイト以外のいずれかのサイトであるリモートサイトとを含み、
前記少なくとも一つのアプリケーションサービスのデプロイメント先が前記リモートサイトの場合、
前記リモートサイトに対応したサービスデプロイメントマネージャが、当該アプリケーションサービスの第１のプロキシを前記リモートサイトにデプロイし、
前記ローカルサイトに対応したサービスデプロイメントマネージャが、前記第１のプロキシと通信する第２のプロキシを前記ローカルサイトにデプロイする、
請求項１０に記載のシステム。
【請求項１２】
前記サービスシステムは、それぞれがアプリケーションサービスに関連付けられている複数のノードと当該複数のノードにおける各ノード間の結線とで表現されたアプリケーションソフトウェアフローである、
請求項１に記載のシステム。
【請求項１３】
一つ又は複数のアプリケーションサービスを含んだサービスシステムの運用のための設定を支援する方法であって、
少なくとも一つのアプリケーションサービスについて用意されている一つ又は複数のプランから指定されたプランと当該アプリケーションサービスとの組合せに関連付けられている一つ又は複数のメトリクス収集サービスを特定する機能を提供し、
各メトリクス収集サービスは、当該メトリクス収集サービスに設定されたアクセス先からメトリクスを収集するサービスであり、
一つ又は複数のサイトのうちの当該アプリケーションサービスのデプロイメント先のサイトにおけるサービス実行基盤に当該アプリケーションサービスと共にデプロイされる前記特定された一つ又は複数のメトリクス収集サービスの各々に当該メトリクス収集サービスのアクセス先を設定する機能を提供する、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一つ又は複数のアプリケーションサービスを含んだサービスシステムの運用のための設定に関する。
【背景技術】
【０００２】
アプリケーションサービスの一例として、コンポーネント化される商材サービス（例えば、データベースサービス）が挙げられる。サービスシステムの開発の一例として、アプリケーションソフトウェアの開発があり、当該開発において、複数のコンポーネント（商材サービス）を組み合わせることが行われる。例えば、ＰａａＳ（Platform as a Service）と呼ばれる開発基盤を提供するクラウドサービスにおいては、データベースやオブジェクトストレージなどのデータを格納するためのソフトウェアや、音声認識や画像認識のような人工知能（ＡＩ）ソフトウェアを商材サービス（ここではＷｅｂサービス）として提供しており、アプリケーションソフトウェアの開発者（以下、単に「開発者」）はこれらの商材サービスをコンポーネントとして組み合わせてアプリケーションを開発することができる。また、コンポーネントを組み合わせることで構成されるアプリケーションの雛形（テンプレート）を事前に用意しておくことで、開発期間を短縮することができる。開発者は、テンプレートの一覧から、目的に近いテンプレートを取得し、当該テンプレートにおける必要な部分のみを変更することによって開発期間を短縮し、効率的にアプリケーションソフトウェアを開発することができる。
【０００３】
前述のＰａａＳ開発基盤においては、基盤利用者である開発者が、利用したいテンプレートやコンポーネント化された商材サービスを選択したときに、その組合せに合わせて動的にシステムが構築されることが一般的になりつつあり、そのための仕組みの標準化が進んでいる。その一例としては、Open Service Broker API（https://www.openservicebrokerapi.org/）が挙げられる。これは、コンポーネント化された商材サービスをプロビジョニングしたり（つまり、当該商材サービスを利用可能な状態としたり）、商材サービスを利用するための設定値をやりとりするためのインターフェースを標準化した仕様である。この仕様に則ったインターフェースを持つサービスデプロイメントプログラム（ServiceBroker）を用意することで、サービス提供者はKubernetes（https://kubernetes.io/）やCloudFoundry（https://kubernetes.io/）などの任意の呼び出し元プラットフォームから共通の仕組みでサービスのプロビジョニング命令を受け取ることができるため、利用者を増加させやすくできる。
【０００４】
また、Ｗｅｂサービスのビジネス形態のトレンドとして、利用者に対してサービスの利用実績に応じた料金を請求する従量課金方式の採用が広がっている。その理由の一つとして、ＰａａＳ開発基盤のユーザである開発者は、性能は低いが低額なプランで開発をスタートさせつつ、アプリケーションソフトウェアのエンドユーザ数の拡大に合わせて高性能且つ高額なプランに切り替える、といった柔軟なアプリケーション運用を行うことができるためである。従量課金方式を採用する提供者（ＰａａＳ開発基盤の提供者）は、開発者（ユーザ）の選択に合わせてサービスコンポーネントの利用実績を計測する仕組みを有する必要がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１４１６９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このような背景の下、特許文献１では、ユーザからの入力に応じてテンプレートに即したシステムを構築することができる。
【０００７】
しかしながら、特許文献１の技術では、従量課金方式を実現するための設定（アプリケーションソフトウェアの運用のための設定の一例）に関し基盤サービス提供者の負担が大きい。具体的には、ユーザが選択した利用実績計測対象サービスの構成に合わせて、利用実績計測サービスをデプロイ可能にするためのパラメータ補完が必要である。なお、利用実績計測サービスは、利用実績を計測するサービスであり、メトリクスを収集するメトリクス収集サービスの一例である。また、利用実績計測対象サービスは、利用実績の計測対象とされるサービスであり、一例が、商材サービスである。仮に、ユーザの選択した構成に合わせた利用実績収集サービスの選択を行わない場合は、課金の利用実績として使われる可能性がある全ての指標を計測・収集する必要があり、本来は不必要な利用実績収集サービスを動かすためのコストが発生してしまう。
【０００８】
このような問題は、利用実績計測サービス以外のメトリクス収集サービスが採用される場合、商材サービス以外のアプリケーションサービスが採用される場合、及び、従量課金方式の採用とは異なる目的でメトリクス収集サービスが採用される場合のいずれの場合にもあり得る。
【課題を解決するための手段】
【０００９】
サービスシステムの運用のための設定を支援する支援システムが構築される。具体的には、少なくとも一つのアプリケーションサービスについて用意されている一つ又は複数のプランから指定されたプランと当該アプリケーションサービスとの組合せに関連付けられている一つ又は複数のメトリクス収集サービスを特定する機能と、一つ又は複数のサイトのうちの当該アプリケーションサービスのデプロイメント先のサイトに当該アプリケーションサービスについてデプロイされる上記特定された一つ又は複数のメトリクス収集サービスの各々に当該メトリクス収集サービスのアクセス先を設定する機能とが提供される。なお、「メトリクス」とは、アプリケーションサービスの稼働（利用実績）に伴い測定される値、又は、当該値の加工済みの値である。
【発明の効果】
【００１０】
本発明によれば、アプリケーションサービスと当該アプリケーションサービスのプランとが指定されれば、当該アプリケーションサービスと当該指定されたプランとの組合せに必要な一つ又は複数のメトリクス収集サービスの各々がデプロイされ、且つ、当該一つ又は複数のメトリクス収集サービスの各々に当該メトリクス収集サービスのアクセス先が設定される。結果として、一つ又は複数のアプリケーションサービスを含んだサービスシステムの運用のための設定に関して基盤サービス提供者の負担が軽減される。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態におけるシステム構成の一例を示すブロック図である。
【図２Ａ】テンプレートマネージャＧＵＩの一例としてのシステムテンプレート一覧画面の構成例を示す図である。
【図２Ｂ】テンプレートマネージャＧＵＩの一例としてのシステムテンプレート構成画面の構成例を示す図である。
【図３Ａ】テンプレートマネージャＧＵＩの一例としての商材サービス設定画面の構成例を示す図である。
【図３Ｂ】テンプレートマネージャＧＵＩの一例としてのデプロイメント済みシステム画面の構成例を示す図である。
【図４Ａ】テンプレートマネージャＧＵＩの一例としてのサービス追加画面の構成例を示す図である。
【図４Ｂ】テンプレートマネージャＧＵＩの一例としてのデプロイメント済み商材サービス画面の構成例を示す図である。
【図５Ａ】計算機の構成の一例を示すブロック図である。
【図５Ｂ】ユーザ端末のメモリ内のプログラムの一例を示すブロック図である。
【図５Ｃ】ログ集積基盤のメモリ内のプログラム及びデータの一例を示すブロック図である。
【図５Ｄ】テンプレートマネージャのメモリ内のプログラム及びデータの一例を示すブロック図である。
【図６Ａ】サービスマネージャのメモリ内のプログラム及びデータの一例を示すブロック図である。
【図６Ｂ】サービスデプロイメントマネージャのメモリ内のプログラム及びデータの一例を示すブロック図である。
【図６Ｃ】サービス実行基盤のメモリ内のプログラム及びデータの一例を示すブロック図である。
【図７】システムテンプレートマネージャの表の一例を示す図である。
【図８】システムテンプレートマネージャの表の一例を示す図である。
【図９】サービスマネージャの表の一例を示す図である。
【図１０Ａ】ローカルサイト内のサービスデプロイメントマネージャの表の一例を示す図である。
【図１０Ｂ】リモートサイト内のサービスデプロイメントマネージャの表の一例を示す図である。
【図１１】テンプレートマネージャのシステムデプロイメント処理を示すフローチャートである。
【図１２】テンプレートマネージャのCM-SVデプロイメント処理を示すフローチャートである。
【図１３】テンプレートマネージャのサービスデプロイメント処理を示すフローチャートである。
【図１４】テンプレートマネージャのMet.-SVデプロイメント処理を示すフローチャートである。
【図１５】サービスマネージャのサービスデプロイメント処理を示すフローチャートである。
【図１６】サービスデプロイメントマネージャのサービス／プロキシデプロイメント処理を示すフローチャートである。
【図１７】サービスデプロイメントマネージャのメトリクス取得先特定処理を示すフローチャートである。
【図１８】テンプレートマネージャのCM-SVアンデプロイメント処理を示すフローチャートである。
【図１９】テンプレートマネージャのMet.-SVアンデプロイメント処理を示すフローチャートである。
【図２０】テンプレートマネージャのサービスアンデプロイメント処理を示すフローチャートである。
【図２１】サービスマネージャのサービスアンデプロイメント処理を示すフローチャートである。
【図２２】サービスデプロイメントマネージャのサービス／プロキシアンデプロイメント処理を示すフローチャートである。
【図２３】テンプレートマネージャのプラン変更処理を示すフローチャートである。
【図２４】本発明の一実施形態の一変形例に係るテンプレートマネージャＧＵＩの一例を示す図である。
【図２５】本発明の一実施形態の概要を示す図である。
【発明を実施するための形態】
【００１２】
以下の説明では、「インターフェース装置」は、一つ以上のインターフェースデバイスでよい。当該一つ以上のインターフェースデバイスは、下記のうちの少なくとも一つでよい。
・一つ以上のＩ／Ｏ（Input/Output）インターフェースデバイス。Ｉ／Ｏ（Input/Output）インターフェースデバイスは、Ｉ／Ｏデバイスと遠隔の表示用計算機とのうちの少なくとも一つに対するインターフェースデバイスである。表示用計算機に対するＩ／Ｏインターフェースデバイスは、通信インターフェースデバイスでよい。少なくとも一つのＩ／Ｏデバイスは、ユーザインターフェースデバイス、例えば、キーボード及びポインティングデバイスのような入力デバイスと、表示デバイスのような出力デバイスとのうちのいずれでもよい。
・一つ以上の通信インターフェースデバイス。一つ以上の通信インターフェースデバイスは、一つ以上の同種の通信インターフェースデバイス（例えば一つ以上のＮＩＣ（Network Interface Card））であってもよいし二つ以上の異種の通信インターフェースデバイス（例えばＮＩＣとＨＢＡ（Host Bus Adapter））であってもよい。
【００１３】
また、以下の説明では、「メモリ」は、一つ以上のメモリデバイスであり、典型的には主記憶デバイスでよい。メモリにおける少なくとも一つのメモリデバイスは、揮発性メモリデバイスであってもよいし不揮発性メモリデバイスであってもよい。
【００１４】
また、以下の説明では、「永続記憶装置」は、一つ以上の永続記憶デバイスである。永続記憶デバイスは、典型的には、不揮発性の記憶デバイス（例えば補助記憶デバイス）であり、具体的には、例えば、ＨＤＤ（Hard Disk Drive）又はＳＳＤ（Solid State Drive）である。
【００１５】
また、以下の説明では、「記憶装置」は、メモリと永続記憶装置の少なくともメモリでよい。
【００１６】
また、以下の説明では、「プロセッサ」は、一つ以上のプロセッサデバイスである。少なくとも一つのプロセッサデバイスは、典型的には、ＣＰＵ（Central Processing Unit）のようなマイクロプロセッサデバイスであるが、ＧＰＵ（Graphics Processing Unit）のような他種のプロセッサデバイスでもよい。少なくとも一つのプロセッサデバイスは、シングルコアでもよいしマルチコアでもよい。少なくとも一つのプロセッサデバイスは、プロセッサコアでもよい。少なくとも一つのプロセッサデバイスは、処理の一部又は全部を行うハードウェア回路（例えばＦＰＧＡ（Field-Programmable Gate Array）又はＡＳＩＣ（Application Specific Integrated Circuit））といった広義のプロセッサデバイスでもよい。
【００１７】
また、以下の説明では、「ｘｘｘ表」といった表現にて、入力に対して出力が得られる情報を説明することがあるが、当該情報は、どのような構造のデータでもよいし、入力に対する出力を発生するニューラルネットワークのような学習モデルでもよい。従って、「ｘｘｘ表」を「ｘｘｘ情報」と言うことができる。また、以下の説明において、各表の構成は一例であり、一つの表は、二つ以上の表に分割されてもよいし、二つ以上の表の全部又は一部が一つの表であってもよい。
【００１８】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサによって実行されることで、定められた処理を、適宜に記憶装置及び／又はインターフェース装置等を用いながら行うため、処理の主語が、プロセッサ（或いは、そのプロセッサを有するコントローラのようなデバイス）とされてもよい。プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は計算機が読み取り可能な（例えば非一時的な）記録媒体であってもよい。また、以下の説明において、二つ以上のプログラムが一つのプログラムとして実現されてもよいし、一つのプログラムが二つ以上のプログラムとして実現されてもよい。
【００１９】
また、以下の説明では、「ｋｋｋ部」の表現にて機能を説明することがあるが、機能は、一つ以上のコンピュータプログラムがプロセッサによって実行されることで実現されてもよいし、一つ以上のハードウェア回路（例えばＦＰＧＡ又はＡＳＩＣ）によって実現されてもよい。プログラムがプロセッサによって実行されることで機能が実現される場合、定められた処理が、適宜に記憶装置及び／又はインターフェース装置等を用いながら行われるため、機能はプロセッサの少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機又は計算機が読み取り可能な記録媒体（例えば非一時的な記録媒体）であってもよい。各機能の説明は一例であり、複数の機能が一つの機能にまとめられたり、一つの機能が複数の機能に分割されたりしてもよい。
【００２０】
また、以下の説明では、「計算機システム」は、一つ以上の物理的な計算機を含んだシステムである。物理的な計算機は、汎用計算機でも専用計算機でもよい。
【００２１】
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号のうちの共通部分を使用し、同種の要素を区別する場合は、参照符号を使用することがある。例えば、サービス実行基盤を区別しない場合には、「サービス実行基盤７００」と言い、サービス実行基盤を区別する場合には、「サービス実行基盤７００Ａ」、「サービス実行基盤７００Ｂ」のように言うことがある。
【００２２】
また、以下の説明において、「商材サービス」は、アプリケーションサービスの一例である。以下、商材サービスを、「CM-SV」と表記し、メトリクス収集サービスを、「Met.-SV」と表記する。
【００２３】
以下、本発明の一実施形態について添付図面を用いて説明する。
【００２４】
＜概要の説明＞
【００２５】
図２５は、一実施形態の概要を示す図である。
【００２６】
主たるサービス実行基盤７００Ａ及び当該サービス実行基盤７００Ａにデプロイメント命令を出すサービスデプロイメントマネージャ６００Ａが存在するサイト（又は、テンプレートマネージャ３００が存在するサイト）であるローカルサイト８０Ｌがある。ローカルサイト８０Ｌ以外のいずれかのサイトであるリモートサイト８０Ｒがある。サイトは一つでもよいが、本実施形態では、このように少なくとも二つのサイトがある。テンプレートマネージャ３００は、例えば、複数のシステムテンプレートを管理するテンプレート管理部５１と、CM-SV（及びそれのプラン）に関連付けられているMet.-SVを特定する収集特定部５２と、デプロイメント命令を発行する命令発行部５３と、デプロイメント後のリソース情報管理を行うリソース管理部５４とを有する。なお、各システムテンプレートは、サービスシステムのテンプレートである。サービスシステムは、一つ又は複数のCM-SVを含んだシステム（例えば、一つ又は複数のCM-SVの組合せ）である。テンプレートマネージャ３００が、後述のサービスマネージャ５００としての機能が有してもよく、その場合、テンプレートマネージャ３００の外にサービスマネージャ５００は無くてもよい。
【００２７】
ローカルサイト８０Ｌに、テンプレートマネージャ３００、サービスデプロイメントマネージャ６００Ａ、サービス実行基盤７００Ａ、ログ集積基盤９００、及び、サービスマネージャ５００が存在する。リモートサイト８０Ｒに、サービスデプロイメントマネージャ６００Ｂ、サービス実行基盤７００Ｂが存在する。サイト８０に存在する上述の各要素は、計算機システムでもよいし、計算機システムにより実現される機能でもよい。ユーザ端末１００が、テンプレートマネージャ３００にアクセスできる。なお、ユーザ端末１００は、ユーザ（例えば開発者）が使用する情報処理端末（典型的には、パーソナルコンピュータのような計算機）である。ユーザ端末１００は、例えば、ウェブブラウザ（ブラウザの一例）を実行する。また、ログ集積基盤９００はサービス実行基盤７００に含まれてもよい（例えば、リモートサイト８０Ｒでは、ログ集積基盤９００はサービス実行基盤７００Ｂに含まれている）。
【００２８】
少なくとも一つのサービスデプロイメントマネージャ６００が、例えばサイト８０毎に存在する。サービスデプロイメントマネージャ６００は、CM-SV７０１及びそれのプロキシ７０２を、当該マネージャ６００に対応したサイト８０（具体的には、当該サイト８０のサービス実行基盤７００）にデプロイする。サービスデプロイメントマネージャは、収集支援部７７を有する。収集支援部７７は、複数（又は一つ）のサイト８０Ｌ及び８０Ｒのうちデプロイメント対象のCM-SV７０１がデプロイされるサイト８０に当該CM-SV７０１についてデプロイされる一つ又は複数のMet.-SV６５の各々に当該Met.-SV６５のアクセス先情報（アクセス先を示す情報）を設定する。
【００２９】
サービス実行基盤７００は、当該基盤７００にデプロイされたCM-SV７０１やそれのプロキシ７０２であるインスタンスやそれのプロキシインスタンスを実行する。
【００３０】
ログ集積基盤９００は、ログを収集する。例えば、ログ集積基盤９００は、ローカルサイト８０Ｌのサービス実行基盤７００ＡにデプロイされたCM-SV７０１Ａの稼働に伴い出力されたメトリクスを含むログを蓄積する。また、例えば、ログ集積基盤９００は、リモートサイト８０Ｒのサービス実行基盤７００ＢにデプロイされたCM-SV７０１Ｂの稼働に伴いサービス実行基盤７００Ｂに出力されたログを、サービス実行基盤７００Ｂから取得し蓄積してもよい。サービス実行基盤７００ＡにデプロイされたMet.-SV６５は、当該Met.-SV６５に設定されているアクセス先情報が示すアクセス先から、メトリクスを収集する。例えば、アクセス先情報が、ログ集積基盤９００を示す情報を含んでいれば、Met.-SV６５は、CM-SV７０１Ａ（及び７０１Ｂ）に関するメトリクスを含んだログをログ集積基盤９００から取得し、当該取得されたログからCM-SV７０１Ａ（及び７０１Ｂ）に関するメトリクスを収集する。また、例えば、アクセス先情報が、CM-SV７０１Ｂを示す情報を含んでいれば、Met.-SV６５は、CM-SV７０１Ｂに関するメトリクスをCM-SV７０１Ｂに問い合わせることで、当該メトリクスを収集する。Met.-SV６５は、収集されたメトリクスを、所定の出力先に出力する（例えば、CM-SV７０１及びそれのプランに沿った課金を行う課金サーバに、収集されたメトリクスを送信する）。
【００３１】
テンプレートマネージャＧＵＩ３０１を介してシステムテンプレートが選択された場合、当該選択されたシステムテンプレートを構成するCM-SV毎に、当該CM-SV７０１（及びそれのプロキシ７０２）に加えて、当該CM-SV７０１（及びそれのプラン）に関連付けられている一つ又は複数のMet.-SV６５の各々がサービス実行基盤７００にデプロイされ、且つ、当該一つ又は複数のMet.-SV６５の各々に当該Met.-SVのアクセス先情報が設定される。結果として、一つ又は複数のCM-SV７０１を含んだサービスシステムの運用のための設定に関して基盤サービス提供者の負担が軽減される。サービスシステム運用のためのこのような設定支援は、テンプレートマネージャ３００とサービスデプロイメントマネージャ６００とが例えばサービスマネージャ５００を介して連携することで実現される。より具体的には、以下の通りである。
【００３２】
CM-SVとプランとの組み合わせ毎に一つ又は複数のMet.-SVが紐づけられた情報（例えば後述のプラン対応表）を、テンプレートマネージャ３００が保持する。サービスデプロイメントマネージャ６００が、過去にデプロイしたサービスインスタンスを管理するデータと、Met.-SVの特性とメトリクス取得に必要なアクセス先情報を対応づけて管理するデータと、これらのデータから既にデプロイメント済みのCM-SVの利用実績を計測するために必要なMet.-SVのアクセス先を特定する処理を実行する機能である収集支援部７７とを備える。テンプレートマネージャ３００が、サービスマネージャ５００にCM-SVのデプロイメントを命令する際に、テンプレートマネージャ３００において、収集特定部５２が、選択されたCM-SVとプランに関して必要となるMet.-SVを特定して、命令発行部５３が、当該特定されたMet.-SVのデプロイメント命令をサービスマネージャ５００に出す。当該デプロイメント命令に従うデプロイメント命令が、サービスマネージャ５００により、Met.-SVのデプロイメント先に対応したサービスデプロイメントマネージャ６００に送信される。当該命令を受けたサービスデプロイメントマネージャ６００の収集支援部７７が、当該命令に応答して、デプロイメント対象のMet.-SVがメトリクス取得に必要なアクセス先情報を特定して、当該アクセス先情報を、デプロイメント先のサービス実行基盤７００へのデプロイメント命令のパラメータに追加する。
【００３３】
また、本実施形態では、テンプレートマネージャＧＵＩ３０１を介して（或いは別の方法により）、ユーザが、利用するCM-SVのプランを変更したときに、プラン変更に合わせて不要となったMet.-SVをアンデプロイし、新たに必要となったMet.-SVをデプロイすることができる。
【００３４】
クラウドコンピューティングサービスのようなCM-SVが提供される環境として、CM-SVの開発者がCM-SVをアップロードしておき、ユーザが、一つ以上のCM-SVの組合せとしてのテンプレートを利用したり、個々にCM-SVを選択したりすると、それらのCM-SV７０１がサービス実行環境７００にデプロイされて使えるようになる環境が考えられる。
【００３５】
このような環境では、使用されたCM-SVとその使用プラン（例えば使用時間長）に応じていわゆる従量課金をすることがCM-SVのサプライヤにとってもCM-SVのユーザにとっても好ましいケースがあり得る。従量課金において妥当な料金を特定するためには、CM-SVの使用状況を正確に検出するためにCM-SVの使用に関わるメトリクスを収集し、収集されたメトリクスを基に料金を決定することが考えられる。
【００３６】
しかし、CM-SV（及びそれのプラン）によって、どのような従量課金を行うかが異なり、結果として、収集対象のメトリクスが異なる。また、通常、CM-SVの開発者は、収集対象とされ得るメトリクスが何であるかを考慮してCM-SVを開発するようなことはしない。
【００３７】
本実施形態によれば、複数のMet.-SVが用意されており、各Met.-SVが、複数のサービスプランセットのうちの該当するサービスプランセットに関連付けられている（「サービスプランセット」は、CM-SVとプランとの組合せ）。いずれかのサービスプランセットが選択された場合、当該サービスプランセットに属するCM-SVに加えて、当該サービスプランセットに関連付けられているMet.-SVもデプロイされ、且つ、そのMet.-SVに、メトリクス取得に必要なアクセス先情報が設定される。本実施形態では、例えば下記が採用される。なお、以下の説明において、「システムテンプレート」は、サービスシステムのテンプレートである。また、上述の機能５１〜５４及び７７の配置は、図２５の例に限られないでよい。
【００３８】
テンプレートマネージャ３００が一つ又は複数のデプロイメント命令を送信する場合に、収集特定部５２が、一つ又は複数の対象CM-SV（選択されたシステムテンプレートが示すサービスシステムに含まれている一つ又は複数のCM-SV）の各々について、サービスプラン対応表から、当該対象CM-SVとそれの指定されたプランとに一致するサービスプランセットに対応するMet.-SV群を選択する。「デプロイメント命令」は、選択されたシステムテンプレートが示すサービスシステムに含まれている一つ又は複数のCM-SVをデプロイすることの命令である。「サービスプラン対応表」は、複数のサービスプランセットと当該複数のサービスプランセットにそれぞれ対応付けられた複数のMet.-SV群とを示す表である。「Met.-SV群」は、一つ又は複数のMet.-SVである。対象CM-SVのデプロイメント命令に、選択されたMet.-SV群が関連付けられる。一つ又は複数の対象CM-SVがデプロイされる一つ以上のサイト８０の各々について、当該サイト８０に対応したサービスデプロイメントマネージャ６００が、少なくとも一つの対象CM-SVとそれのMet.-SV群とが関連付けられているデプロイメント命令を受信して、当該対象CM-SV７０１と当該Met.-SV群とを、当該サービスデプロイメントマネージャ６００に対応したサイト８０におけるサービス実行基盤７００にデプロイする場合に、当該サービスデプロイメントマネージャ６００の収集支援部７７が、当該サービスデプロイメントマネージャ６００によりデプロイされるMet.-SV群における各Met.-SV６５に当該Met.-SVのアクセス先情報を設定する。サイト８０毎に存在するサービスデプロイメントマネージャ６００と、一つ以上のサイト８０に共通のテンプレートマネージャ３００とが上記のように連携することで、CM-SV７０１に加えてMet.-SV６５もデプロイされ、且つ、そのMet.-SV６５に、メトリクス取得に必要なアクセス先情報が設定される。
【００３９】
デプロイされた対象CM-SV７０１である対象商材インスタンスが当該対象CM-SV７０１をデプロイしたサービスデプロイメントマネージャ６００によりアンデプロイされる場合、当該サービスデプロイメントマネージャ６００についての収集支援部７７が、当該アンデプロイされる対象商材インタンスに対応しておりデプロイされたMet.-SV群であるメトリクス収集インスタンス群を、当該サービスデプロイメントマネージャ６００に対応したサイト８０のサービス実行基盤７００からアンデプロイする。これにより、商材インタンスのアンデプロイメントの結果として不要になったメトリクス収集インスタンス群がサービス実行基盤７００に残ってしまうことを避けることができる。
【００４０】
デプロイされた少なくとも一つの対象CM-SVのプランの変更であるプラン変更が指定された場合、当該対象CM-SV７０１をデプロイしたサービスデプロイメントマネージャ６００についての収集支援部７７が、下記（ａ）及び（ｂ）、
（ａ）当該対象商材インタンスに対応したメトリクス収集インスタンス群を、当該サービスデプロイメントマネージャ６００に対応したサイト８０のサービス実行基盤７００からアンデプロイする、及び、
（ｂ）当該対象CM-SVのプラン変更後のプランに対応し当該サービスデプロイメントマネージャ６００によりデプロイされるMet.-SV群における各Met.-SVに当該Met.-SVのアクセス先を設定する、
を行う。これにより、プラン変更に付随して、デプロイメント済のCM-SV７０１と変更後のプランとのサービスプランセットに適したアクセス先情報を変更することができる。
【００４１】
少なくとも一つの対象CM-SVについて指定されたプランに、当該対象CM-SVの当該指定されたプランに依存し当該対象CM-SVの呼出し制限に関する一つ又は複数のパラメータ値である呼出し制限パラメータ群が関連付けられている場合、当該対象CM-SVをデプロイするサービスデプロイメントマネージャ６００が、当該対象CM-SVについて、当該呼出し制限パラメータ群が関連付けられたプロキシ７０２をデプロイする。例えば、デプロイメント命令には、CM-SVのサービスＩＤと、当該CM-SVのデプロイメント先とされるサイト８０のサイトＩＤとが関連付けられていてよい。更に、デプロイメント命令には、CM-SVについて、ユーザのユーザＩＤ、当該ユーザが所属するグループ（例えば開発チーム）のグループＩＤ（ネームスペース）、及び、当該CM-SV又はそれのプロキシのＡＰＩ（エンドポイント）の呼出し回数の制限を示すＡＰＩ呼出し回数制限（CM-SVの呼出し制限に関する引数である制限引数の一例）、のうちの少なくとも一つが関連付けられてもよい（ＡＰＩは、Application Programming Interfaceの略）。CM-SVのＡＰＩ呼出し制限回数は、CM-SVについて用意されている一つ以上のプランのうちの指定されたプランに依存してよい。デプロイメント命令にＡＰＩ呼出し制限回数が関連付けられている場合、当該デプロイメント命令に従うデプロイメント対象のCM-SVについてデプロイされるプロキシに、当該ＡＰＩ呼出し制限回数が関連付けられてよい。
【００４２】
テンプレートマネージャ３００から送信される一つ又は複数のデプロイメント命令は、一つのデプロイメント命令としての全体デプロイメント命令でよい。サービスマネージャ５００は、当該全体デプロイメント命令に基づく一つ以上のデプロイメント命令である一つ以上の個別デプロイメント命令を、一つ以上のサイト８０にそれぞれ対応した一つ以上のサービスデプロイメントマネージャ６００にそれぞれ送信してよい。当該一つ以上のサービスデプロイメントマネージャ６００の各々が受信するデプロイメント命令は、個別デプロイメント命令でよい。例えば、個別デプロイメント命令は、全体デプロイメント命令から識別されるCM-SV７０１をデプロイすることの命令でよい。当該個別デプロイメント命令には、当該CM-SV７０１のデプロイメント先のサイト８０に対応し全体デプロイメント命令から特定されたCM-SVＩＤが関連付けられてよい。このような個別デプロイメント命令を受けたサービスデプロイメントマネージャ６００は、当該個別デプロイメント命令から識別されるCM-SV７０１を当該サイト８０におけるサービス実行基盤７００にデプロイし、当該CM-SV７０１に対応した呼出し先エンドポイントが関連付けられた応答である個別デプロイメント応答を当該個別デプロイメント命令の送信元（ここではサービスマネージャ５００）に返してよい。「CM-SV７０１に対応した呼出し先エンドポイント」とは、当該CM-SV７０１のエンドポイント、及び、当該CM-SV７０１のプロキシ７０２のエンドポイントのうちの少なくとも一つでよい。
【００４３】
少なくとも一つのCM-SV７０１のデプロイメント先がリモートサイト８０Ｒの場合、サービスデプロイメントマネージャ６００Ｂが、当該CM-SV７０１の第１のプロキシ７０２Ｂ１をリモートサイト８０Ｒのサービス実行基盤７００Ｂにデプロイし、ローカルサイト８０Ｌに対応したサービスデプロイメントマネージャ６００Ａが、第１のプロキシ７０２Ｂ１と通信する第２のプロキシ７０２Ｂ２をローカルサイト８０Ｌのサービス実行基盤７００Ａにデプロイする。
【００４４】
以下、本実施形態を詳細に説明する。
【００４５】
＜システムの説明＞
【００４６】
図１は、本発明の一実施形態におけるシステム構成の一例を示すブロック図である。
【００４７】
図１のシステムは、ユーザ端末１００と、テンプレートマネージャ３００と、サービスマネージャ５００と、サービスデプロイメントマネージャ６００Ａ及び６００Ｂと、サービス実行基盤７００（例えば７００Ａ及び７００Ｂ）と、ログ集積基盤９００と、ネットワークスイッチ８００（例えば、８００Ａ〜８００Ｄ）から構成される。
【００４８】
図１のシステムは、システムのテンプレートと、システムを構成するCM-SVのプランとを含んだ設定を指定されると、設定を反映させたサービス群からなるシステムを所定のサービス実行基盤７００にデプロイすることができる。さらに、指定されたプランに応じて必要となるサービス群をデプロイするために、必要なパラメータを自動的に補完し、運用サービス群を自動的に追加デプロイすることができる。本実施例においては、CM-SVとそれのプランとの組合せに関連付けられた運用サービスの一例として、CM-SVの従量課金に必要な利用実績測定機能を有するMet.-SVが採用される。
【００４９】
ユーザ１０１は、ユーザ端末１００で動作するウェブブラウザにより、テンプレートマネージャ３００が提供するＧＵＩにアクセスすることで、一つ以上のサービスから構成されるシステムテンプレートを選択することができる。さらに、各サービスの設定を入力し、設定を反映させたサービスから構成されるシステムのデプロイを実行できる。
【００５０】
テンプレートマネージャ３００は、テンプレートマネージャＧＵＩを提供する機能と、システムテンプレート管理機能、サービスデプロイメント／削除（アンデプロイメント）命令機能を持つ。これらの機能の詳細は後述する。なお、「デプロイメント／削除命令」とは、デプロイメント命令又は削除命令を意味する。
【００５１】
サービスマネージャ５００は、サービスデプロイメントマネージャ６００へサービスデプロイメント／削除命令を発行する機能、サービス実行基盤７００上にデプロイされているサービスを管理する機能を持つ。これらの機能の詳細は後述する。
【００５２】
サービスデプロイメントマネージャ６００は、サービス実行基盤７００へサービスのデプロイメント／削除、及びサービスへのアクセス先となるエンドポイントを設定するプロキシのデプロイメント／削除を実行する機能を持つ。これらの機能の詳細は後述する。
【００５３】
サービス実行基盤７００は、サービス及びプロキシのインスタンスを実行する機能を持つ。サービス実行基盤７００Ａはサービスデプロイメントマネージャ６００Ａより、サービス実行基盤７００Ｂはサービスデプロイメントマネージャ６００Ｂより、サービスデプロイメント／削除命令、プロキシデプロイメント／削除命令、及び、プロキシ設定命令のうちの少なくとも一つを受信し、受信した命令を実行する。サービス実行基盤７００の例として、Ｋｕｂｅｒｎｅｔｅｓ（https://kubernetes.io/）が挙げられる。
【００５４】
ログ集積基盤９００は、すべてのサービス実行基盤７００のログ、及びサービス実行基盤７００上で動作するすべてのサービスのログを集積する機能を持つ。また、ログ集積基盤９００は、Met.-SVから要求を受け、当該要求で指定されたCM-SVのログを返す機能を持つ。
【００５５】
本実施形態においては、複数のサイト８０に分散して存在する複数のサービス実行基盤７００に対してサービスシステムを構成する複数のCM-SVのデプロイメントが実施される。本実施形態では、サービス実行基盤７００Ａが主たるサービス実行基盤であり、Met.-SVはすべてサービス実行基盤７００Ａにデプロイされるものとする。
【００５６】
＜画面の説明＞
【００５７】
図２Ａは、テンプレートマネージャＧＵＩの一例としてのシステムテンプレート一覧画面の構成例を示す図である。なお、図２Ａ〜図４Ｂを参照した説明において、「ＵＩ」は、ユーザインターフェースの略であり、具体的には、例えば、ＧＵＩ部品（例えばプルダウンメニューやボタン）と表示エリアの一方又はそれらの組合せでよい。
【００５８】
システムテンプレート一覧画面２０１は、テンプレートマネージャによって提供されるシステムテンプレートの一覧からユーザ１０１がデプロイしたいシステムテンプレートを選択するための画面の一例である。
【００５９】
システムテンプレート一覧画面２０１は、テンプレートマネージャＧＵＩプログラム３２３（図５Ｄ参照）によって提供され、テンプレート表３２４に基づいたユーザに提供可能なテンプレートへのリンク（例えば、リンクが埋め込まれたアイコン）２０１０１の表示ＵＩと、テンプレートマネージャ３００のユーザ情報を表示するユーザ情報表示ＵＩ２０１０２から構成される。
【００６０】
例えば、ユーザ１０１が、テンプレートマネージャ３００にログインすると、ユーザ情報表示ＵＩ２０１０２に当該ユーザ１０１のユーザ名や所属グループなどのユーザプロフィールが表示される。テンプレートマネージャ３００は、ログアウトを実行するまで画面を遷移してもログイン状態を維持する。さらに、ユーザ１０１が、システムテンプレート一覧画面２０１よりいずれかのリンク２０１０１を選択（例えばマウスでクリック）すると、システムテンプレート構成画面２０２が開く。例えば、テンプレート１のリンク２０１０１が指定されることで、図２Ｂに例示のシステムテンプレート構成画面２０２が開いたとする。
【００６１】
図２Ｂによれば、システムテンプレート構成画面２０２は、システムテンプレート一覧画面２０１にてユーザ１０１に選択されたシステムテンプレートの説明と、システムテンプレートを構成しているCM-SVの一覧とを表示し、選択されたシステムテンプレートに基づいたシステムのデプロイの指示のためのユーザ操作を受け付けることができる画面の一例である。
【００６２】
システムテンプレート構成画面２０２は、テンプレートマネージャＧＵＩプログラム３２３によって提供され、テンプレート表３２４（図５Ｄ参照）とサービスプランセット表３２７（図５Ｄ参照）に基づいたサービス情報表示ＵＩ２０２０１と、サービス設定入力ＵＩ２０２０２と、デプロイ指示ＵＩ２０２０３、入力破棄ＵＩ２０２０５から構成される。また、サービス情報表示ＵＩ２０２０１内には各サービスの詳細設定を行うための画面に遷移するためのリンク２０２０４が含まれる。
【００６３】
例えば、ユーザ１０１が、システムテンプレート一覧画面２０１においてテンプレート１に対応するリンク２０１０１を選択して、システムテンプレート構成画面２０２を表示する場合、サービスプランセット表３２７に基づいたサービス情報表示ＵＩ２０２０１には、テンプレート１の説明文と、テンプレート１を構成するサービスの一覧（CM-SV１、CM-SV２、CM-SV３）の情報が表示される。さらに、ユーザ１０１は、テンプレート１に基づいてデプロイするシステムの設定をサービス設定入力ＵＩ２０２０２から入力することができる。さらに、ユーザ１０１が、デプロイ指示ＵＩ２０２０３を指定すると、テンプレート管理プログラム３２２のシステムデプロイメント処理３２２０１（図５Ｄ参照）が実行される。このとき、ログイン中のユーザ１０１のグループＩＤ、及びシステムテンプレート構成画面２０２で選択したシステムに含まれるCM-SVのサービスＩＤ、CM-SVに紐付いたプランＩＤと設定値を引数とする。ここで設定値については、サービス毎に数や種類が異なるため、サービス毎にまとめてプロパティとして引数が与えられる。
【００６４】
システムデプロイメント処理３２２０１の結果にて与えられるリソースＩＤの情報を用いて、デプロイメント済みCM-SV表３２８のリソースＩＤが更新される。また、デプロイ指示ＵＩ２０２０３を指定してデプロイメントを指示する前に、入力破棄ＵＩ２０２０５を指定すると、入力済みの情報をすべて破棄し、呼び出し元の画面に戻ることができる。
【００６５】
例えば、図２Ｂのシステムテンプレート構成画面２０２においてCM-SV２のリンク２０２０４が指定されると、図３Ａに例示のCM-SV設定画面３０１が表示される。CM-SV設定画面３０１は、システムテンプレート構成画面２０２にてユーザ１０１に選択されたCM-SVの説明、プラン、パラメータ情報の確認と、CM-SVに対するユーザ定義の説明文、プラン選択、パラメータなどの設定を入力できる画面の一例である。
【００６６】
CM-SV設定画面３０１は、テンプレートマネージャＧＵＩプログラム３２３によって提供され、サービスプランセット表３２７に基づいたサービス情報表示ＵＩ３０１０１と、サービス設定入力ＵＩ３０１０２と、入力破棄指示ＵＩ３０１０３と、設定完了指示ＵＩ３０１０４から構成される。
【００６７】
例えば、ユーザ１０１が、システムテンプレート構成画面２０２において、CM-SV２の詳細設定画面に遷移するためのリンク２０２０４を指定して、CM-SV設定画面３０１を表示する場合、サービス情報表示ＵＩ３０１０１には、CM-SV２の説明文が表示される。さらに、ユーザ１０１はCM-SV２をデプロイする際のプランやパラメータの設定を、サービス設定入力ＵＩ３０１０２から入力することができる。さらに、ユーザ１０１が、入力破棄ＵＩ３０１０３を指定すると、CM-SV設定画面３０１にて入力した内容を破棄し、呼び出し元の画面に戻ることができる。もしくは、ユーザ１０１が、設定完了指示ＵＩ３０１０４を指定すると、CM-SV設定画面３０１にて入力した情報をデプロイメント済みCM-SV表３２８（図５Ｄ参照）に保持したまま、呼び出し元の画面に戻ることができる。ただし、この時点ではデプロイメントが完了していないため、リソースＩＤには仮の値が入力される。
【００６８】
図３Ｂに例示のデプロイメント済みシステム画面３０２は、システムテンプレート構成画面２０２を通じてデプロイしたシステムの説明と、システムを構成しているCM-SVの一覧と設定を確認し、サービスの追加もしくは削除、サービスの設定変更を指示することができる画面の一例である。
【００６９】
デプロイメント済みシステム画面３０２は、テンプレートマネージャＧＵＩプログラム３２３によって提供され、デプロイメント済みCM-SV表３２８とデプロイメント済みシステム表３３０とに基づいたサービス情報表示ＵＩ３０２０１と、入力破棄ＵＩ３０２０３と、システム構成変更指示ＵＩ３０２０４から構成される。また、サービス情報表示ＵＩ３０２０１内には各サービスの詳細設定を行うための画面に遷移するためのリンク３０２０５、CM-SVを追加するためのリンク３０２０６が含まれる。
【００７０】
例えば、ユーザ１０１が、デプロイメント済みのシステムに新たにCM-SVを追加するときには、デプロイメント済みシステム画面３０２を開き、サービス追加指示ＵＩ３０２０６を指定する。すると、図４Ａに例示のサービス追加画面４０１に遷移する（サービス追加画面４０１は、デプロイメント済みシステム画面３０２に重ねて表示されてもよい）。サービス追加画面４０１に関する説明は後述する。サービス追加画面４０１において、CM-SV４を追加した場合、サービス情報表示ＵＩにCM-SV４に関する行が追加される。ここで追加されたCM-SV４の行のサービス詳細設定画面への遷移リンク３０２０５を指定すると、CM-SV４に関するCM-SV設定画面３０１に遷移する。CM-SV設定画面でCM-SV４に関する設定を行った後、システム構成変更指示ＵＩ３０２０４を指定すると、テンプレート管理プログラム３２２のCM-SVデプロイメント処理３２２０２が呼び出される。その結果を受けて、追加したCM-SV４に関して、デプロイメント済みCM-SV表３２８におけるリソース情報が更新される。また、システム構成変更指示ＵＩ３０２０４を指定して変更を反映する前に、入力破棄ＵＩ３０２０３を指定すると、入力済みのシステム変更情報をすべて破棄し、呼び出し元の画面に戻ることができる。
【００７１】
例えば、ユーザ１０１が、デプロイメント済みのCM-SV２を削除するときには、デプロイメント済みシステム画面を開き、サービスの詳細設定画面への遷移リンク３０２０５を指定する。すると、図４Ｂに例示のデプロイメント済みCM-SV画面４０２に遷移する。デプロイメント済みCM-SV画面４０２に関する説明は後述する。デプロイメント済みCM-SV画面において、CM-SV２を削除した後、サービス情報表示ＵＩにCM-SV４に関する行が削除される。
【００７２】
例えば、ユーザ１０１が、デプロイメント済みのCM-SV２の設定を変更するときには、デプロイメント済みシステム画面を開き、サービスの詳細設定画面への遷移リンク３０２０５を指定する。すると、デプロイメント済みCM-SV画面４０２に遷移する。デプロイメント済みCM-SV画面４０２に関する説明は後述する。デプロイメント済みCM-SV画面において、CM-SV２の設定を変更した後、変更された設定に合わせてサービス情報表示ＵＩ３０２０１の内容が更新される。
【００７３】
サービス追加画面４０１は、システムテンプレート構成画面を通じてデプロイしたシステムに対して、追加するサービスを選択することができる画面の一例である。
【００７４】
サービス追加画面４０１は、テンプレートマネージャＧＵＩプログラム３２３によって提供され、サービスプランセット表３２７に基づいた追加可能CM-SV情報表示ＵＩ４０１０１と、追加対象選択部４０１０２と、入力破棄ＵＩ４０１０３と、サービス追加指示ＵＩ４０１０４から構成される。
【００７５】
例えば、ユーザ１０１が、デプロイメント済みのシステムに追加するCM-SVを選択するときには、サービス追加画面４０１０１において、CM-SV情報表示ＵＩ４０１０１を参照し、追加したいCM-SVの追加対象選択ＵＩ４０１０２を指定することで、画面上に選択済みのフラグをたてる。再度同じ追加対象選択ＵＩ４０１０２を指定すると選択状態が解除される。さらに、ユーザ１０１が４０１０４を指定すると、追加対象選択ＵＩ４０１０２が選択済み状態となっているCM-SVをデプロイメント済みCM-SV表３２８に追加して、システムテンプレート構成画面２０２に戻る。このとき、デプロイメントは未実行であるので、リソースＩＤの情報は仮の値を入力しておく。このとき、ユーザ１０１が４０１０４を指定する前に、４０１０３を指定した場合、サービス追加画面にて入力した情報をすべて破棄し、呼び出し元の画面に戻ることができる。
【００７６】
デプロイメント済みCM-SV画面４０２は、デプロイメント済みシステム画面３０２においてユーザに指定されたデプロイメント済みサービスの設定を確認し、サービスの削除、設定変更ができる画面の一例である。
【００７７】
デプロイメント済みCM-SV画面４０２は、テンプレートマネージャＧＵＩプログラム３２３によって提供され、サービスプランセット表３２７及びデプロイメント済みCM-SV表３２８に基づいたサービス情報表示ＵＩ４０２０１と、サービス設定入力ＵＩ４０２０２と、入力破棄指示ＵＩ４０２０３と、設定完了指示ＵＩ４０２０４、サービス削除指示ＵＩ４０２０５から構成される。
【００７８】
例えば、ユーザ１０１が、デプロイメント済みのCM-SV２を削除するときには、デプロイメント済みシステム画面３０２において、削除対象のサービスを指定してデプロイメント済みCM-SV画面４０２を開き、サービス削除指示ＵＩ４０２０５を指定する。すると、テンプレート管理プログラム３２２のCM-SVアンデプロイメント処理３２２０５が呼び出される。CM-SVのアンデプロイが正常に完了した場合、デプロイメント済みCM-SV表３２８から該当するCM-SV２のリソースに関する行が削除される。
【００７９】
例えば、ユーザ１０１が、デプロイメント済みのCM-SV２の設定を変更するときには、サービス設定入力ＵＩ４０２０２からメニューを選択し直したり、入力済みの設定を削除してから設定を入力し直したりすることができる。さらに、ユーザ１０１が、入力破棄指示ＵＩ４０２０３を指定すると、デプロイメント済みCM-SV画面にて入力した内容を破棄し、呼び出し元の画面に戻ることができる。もしくは、ユーザ１０１が、設定完了指示ＵＩ４０２０４を指定すると、テンプレート管理プログラム３２２のCM-SVアンデプロイメント処理３２２０５及びCM-SVデプロイメント処理３２２０２が呼び出された後、デプロイメント済みCM-SV表３２８が更新される。プランが変更されていた場合は、テンプレート管理プログラム３２２のプラン変更処理３２２０８が呼び出された後、エラーが返ってこなければデプロイメント済みCM-SV表３２８が更新される。
【００８０】
＜計算機の説明＞
【００８１】
図５Ａは、計算機の構成の一例を示すブロック図である。
【００８２】
テンプレートマネージャ３００、サービスマネージャ５００、サービスデプロイメントマネージャ６００、サービス実行基盤７００及びログ集積基盤９００のうちの少なくとも一つは、一つ以上の計算機３０上に実現可能である。
【００８３】
計算機３０は、プロセッサ３１と、メモリ３２と、永続記憶装置３３と、インターフェース装置３４と、これらの構成要素を接続するバス３５とを有する。
【００８４】
プロセッサ３１は、メモリ３２に記憶されているプログラムを実行することによって、所定の機能を実現する。メモリ３２は、プロセッサ３１によって実行されるプログラム及び当該プログラムの実行に必要なデータを記憶する。プログラムは、永続記憶装置３３からメモリ３２にロードされる。インターフェース装置３４は、いずれかのネットワークスイッチ８００に接続される。計算機３０は、インターフェース装置３４を介して、他の計算機３０と通信することができる。
【００８５】
なお、一部の計算機３０は、仮想マシンやコンテナ等の仮想環境に置き換えることもできる。
【００８６】
＜メモリ内のプログラム及びデータの説明＞
【００８７】
図５Ｂは、ユーザ端末１００のメモリ３２Ａ内のプログラムの一例を示す図である。
【００８８】
メモリ３２Ａは、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）１２１、ウェブブラウザ１２２を持つ。
【００８９】
図５Ｃは、ログ集積基盤９００のメモリ３２Ｂ内のプログラム及びデータの一例を示すブロック図である。
【００９０】
メモリ３２Ｂは、ＯＳ９２１、ログ管理プログラム９２２及びログ管理表９２３を持つ。ログ管理プログラム９２２が、すべてのサービス実行基盤７００のログ、及びサービス実行基盤７００上で動作するすべてのサービスのログを集積したり、Met.-SVから要求を受け、当該要求で指定されたCM-SVのログを返したりする。ログ管理表９２３は、ログに関する情報を保持し、例えば、CM-SV毎にサービスＩＤとログの格納場所とを示す情報を保持する。
【００９１】
図５Ｄは、テンプレートマネージャ３００のメモリ３２Ｃ内のプログラム及びデータの一例を示すブロック図である。
【００９２】
テンプレートマネージャ３００のメモリ３２Ｃは、ＯＳ３２１、テンプレート管理プログラム３２２、テンプレートマネージャＧＵＩプログラム３２３、テンプレート表３２４、サービスプランセット表３２７、サイト表３３１、デプロイメント済みシステム表３３０、デプロイメント済みCM-SV表３２８、デプロイメント済みMet.-SV表３２９を持つ。
【００９３】
テンプレート管理プログラム３２２は、システムデプロイメント処理３２２０１、CM-SVデプロイメント処理３２２０２、サービスデプロイメント処理３２２０３、Met.-SVデプロイメント処理３２２０４、CM-SVアンデプロイメント処理３２２０５、サービスアンデプロイメント処理３２２０６、Met.-SVアンデプロイメント処理３２２０７、プラン変更処理３２２０８を持つ（実行する）。
【００９４】
図６Ａは、サービスマネージャ５００のメモリ３２Ｄ内のプログラム及びデータの一例を示すブロック図である。
【００９５】
メモリ３２Ｄは、ＯＳ５２１、サービス管理プログラム５２２、CM-SV表５２４、Met.-SV表５２８、サイト表５２５、及びサービスデプロイメントマネージャ表５２６を持つ。
【００９６】
サービス管理プログラム５２２は、サービスデプロイメント処理５２２０１、及びサービスアンデプロイメント処理５２２０２を持つ（実行する）。
【００９７】
図６Ｂは、サービスデプロイメントマネージャ６００のメモリ３２Ｅ内のプログラム及びデータの一例を示すブロック図である。
【００９８】
メモリ３２Ｅは、ＯＳ６２１、サービスデプロイメントプログラム６２２、サービスインスタンスの情報を管理するサービスデプロイメント表６２４、及び、ログ集積基盤９００に関する情報を持つログ集積基盤表６２５を持つ。
【００９９】
サービスデプロイメントプログラム６２２は、サービス／プロキシデプロイメント処理６２２０１、メトリクス取得先特定処理６２２０２、及び、サービス／プロキシアンデプロイメント処理６２２０３を持つ（実行する）。
【０１００】
図６Ｃは、サービス実行基盤７００のメモリ３２Ｆ内のプログラム及びデータの一例を示すブロック図である。
【０１０１】
メモリ３２Ｆは、ＯＳ７２１、サービスのデプロイメント／削除を実施するサービス管理プログラム７２２、サービスインスタンスの情報を管理するサービス表７２３、及び、デプロイされたサービスであるサービスインスタンス７２４を持つ。
【０１０２】
＜テーブルの説明＞
【０１０３】
図７及び図８は、テンプレートマネージャ３００が保持する表の構成の一例を示す図である。
【０１０４】
テンプレート表３２４は、テンプレートマネージャにおいてデプロイ指示を出すことが可能なシステムテンプレートの一覧を管理するための表である。テンプレート表３２４は、システムテンプレート毎にエントリを有する。一つのシステムテンプレートを例に取ると、エントリは、システムテンプレートを機械的に識別するための識別子であるシステムテンプレートＩＤ３２４０１、システムテンプレートを人間が識別しやすくするためのラベルであるシステムテンプレート名３２４０２、システムテンプレートを構成しているCM-SVの配列であるCM-SV群３２４０３、及び、システムテンプレートの説明文などのメタデータが格納されているコンテンツ３２４０４といった情報を保持する。
【０１０５】
サービスプランセット表３２７は、CM-SVをデプロイする条件となるプランを管理する表である。サービスプランセット表３２７は、サービスプランセット毎にエントリを有する。一つのサービスプランセットを例に取ると、エントリは、プランを機械的に識別するための識別子であるプランＩＤ３２７０１、プランを人間が識別しやすくするためのラベルであるプラン名３２７０２、無料プランか否かを示す無料３２７０３、プランが紐付いているCM-SVの識別子であるCM-SV ＩＤ３２７０４、当該CM-SVのデプロイメント先サイトの識別子であるサイトＩＤ３２７０５、プランにおけるＡＰＩ呼び出し回数の上限を示すＡＰＩ呼出し回数制限３２７０６、当該プランの課金や利用上限制御のための利用料計測を実施するMet.-SVのサービスＩＤの配列であるMet.-SV群３２７０７、及び、当該CM-SVの説明や設定可能パラメータを保持するコンテンツ３２７０９といった情報を保持する。ＡＰＩ呼出し回数制限３２７０６は、例えば、｛ＡＰＩ呼出し回数ＰＥＲ  期間｝という形式でＡＰＩ呼出し回数制限の情報を保持する。ＡＰＩ呼出し回数制限３２７０６の欄が空欄の場合は、ＡＰＩ呼出し回数制限が無いことを示す。
【０１０６】
サイト表３３１は、サイト情報を管理する表である。サイト表３３１は、サイト毎にエントリを有する。一つのサイトを例に取ると、エントリは、サイトの識別子であるサイトＩＤ３３１０１、サイト名３３１０２、及び、当該サイトがローカルサイトか否かを判定するためのローカルフラグを表すローカル３３１０３といった情報を保持する。
【０１０７】
ここで、「ローカルサイト」とは、主たるサービス実行基盤７００Ａ及びサービス実行基盤にデプロイ指示を出すサービスデプロイメントマネージャ６００Ａの存在するサイトである。
【０１０８】
デプロイメント済みシステム表３３０は、テンプレートマネージャにおいてデプロイされたシステムインスタンスの一覧を管理する表である。デプロイメント済みシステム表３３０は、サービスシステム毎にエントリを有する。一つのサービスシステムを例に取ると、エントリは、デプロイメント済みシステムの識別子であるシステムＩＤ３３００１、デプロイメント済みシステムを構成しているサービスインスタンスの識別子の配列であるリソース３３００２、及び、デプロイメント済みシステムの説明文などを含むメタデータ３３００３といった情報を保持する。
【０１０９】
デプロイメント済みCM-SV表３２８は、すべてのサービス実行基盤７００にデプロイメント済みのCM-SVインスタンスを一括で管理するための表である。デプロイメント済みCM-SV表３２８は、リソース（CM-SVインスタンス）毎にエントリを有する。一つのリソースを例に取ると、エントリは、デプロイメント済みCM-SVインスタンスの識別子であるリソースＩＤ３２８０１、デプロイメント済みのCM-SVの識別子であるサービスＩＤ３２８０２、デプロイメント済みCM-SVと紐付いているプランの識別子であるプランＩＤ３２８０３、デプロイメント済みCM-SVがデプロイされているサイトの識別子であるサイトＩＤ３２８０４、ユーザ１０１の所属しているグループの識別子であるグループＩＤ３２８０５、及び、CM-SVインスタンスに関する説明文などのメタデータやデプロイメント時に利用したパラメータを含んだプロパティ３２８０６といった情報を保持する。
【０１１０】
デプロイメント済みMet.-SV表３２９は、すべてのサービス実行基盤７００にデプロイメント済みのMet.-SVを一括で管理するための表である。デプロイメント済みMet.-SV表３２９は、リソース（Met.-SVインスタンス）毎にエントリを有する。一つのリソースを例に取ると、エントリは、デプロイメント済みMet.-SVインスタンスの識別子であるリソースＩＤ３２９０１、デプロイメント済みMet.-SVの識別子であるMet.-SV ＩＤ３２９０２、デプロイメント済みMet.-SVのデプロイメント先サイトの識別子であるサイトＩＤ３２９０３、及び、デプロイメント済みMet.-SVがメトリクスの収集対象とするCM-SVインスタンスの識別子である対象リソースＩＤ３２９０４といった情報を保持する。
【０１１１】
図９は、サービスマネージャ５００が保持する表の構成の一例を示す図である。
【０１１２】
CM-SV表５２４は、CM-SVと、CM-SVをデプロイ可能なサイト、CM-SVのメタデータの組合せを管理する表である。CM-SV表５２４は、CM-SV毎にエントリを有する。一つのCM-SVを例に取ると、エントリは、CM-SVの識別子であるCM-SV ＩＤ５２４０１、CM-SVを人間が識別するためのラベルであるCM-SV名５２４０２、CM-SVのデプロイメント先サイトの識別子であるサイトＩＤ５２４０３、CM-SVの説明文や、設定可能なパラメータなどのメタデータを保持するメタデータ５２４０４、及び、CM-SVのサービスタイプの識別子を表すサービスタイプＩＤ５２４０５といった情報を保持する。
【０１１３】
Met.-SV表５２８は、Met.-SVと、Met.-SVをデプロイ可能なサイト、Met.-SVのメタデータの組合せを管理する表である。Met.-SV表５２８は、Met.-SV毎にエントリを有する。一つのMet.-SVを例に取ると、エントリは、Met.-SVの識別子であるMet.-SV ＩＤ５２８０１、メトリクス収集対象のCM-SVの識別子である対象CM-SV ＩＤ５２８０２、収集されるメトリクスを人間が識別するためのラベルであるメトリクス名５２８０３、メトリクス取得の方法を表す取得タイプ５２８０４、及び、Met.-SVのサービスタイプの識別子を表すサービスタイプＩＤ５２８０５といった情報を保持する。
【０１１４】
サイト表５２５は、サイト情報を管理する表である。サイト表５２５は、サイト毎にエントリを有する。一つのサイトを例に取ると、エントリは、サイトの識別子であるサイトＩＤ５２５０１、サイトを人間が識別するためのラベルであるサイト名５２５０２、及び、サイトがローカルか否かを判定するためのローカルフラグを表すローカル５２５０３といった情報を保持する。
【０１１５】
サービスデプロイメントマネージャ表５２６は、サービスデプロイメントマネージャ６００の情報を管理する表である。サービスデプロイメントマネージャ表５２６は、サービスデプロイメントマネージャ６００毎にエントリを有する。一つのサービスデプロイメントマネージャ６００を例に取ると、エントリは、サービスデプロイメントマネージャの識別子を表すサービスデプロイメントマネージャＩＤ５２６０１、サービスデプロイメントマネージャのアクセス先エンドポイントの識別子を表すエンドポイント５２６０２、及び、サービスデプロイメントマネージャが存在するサイトの識別子であるサイトＩＤ５２６０３といった情報を保持する。
【０１１６】
図１０Ａは、サービスデプロイメントマネージャ６００Ａが保持する表の構成の一例を示す図である。図１０Ｂは、サービスデプロイメントマネージャ６００Ｂが保持する表の構成の一例を示す図である。
【０１１７】
サービスデプロイメント表６２４は、デプロイメント済みのサービス及びプロキシの情報を管理する表である。サービスデプロイメント表６２４は、デプロイメント済みのCM-SV毎にエントリを有する。一つのCM-SVを例に取ると、エントリは、デプロイメント先ネームスペースの識別子を表すネームスペースＩＤ６２４０１、デプロイされたCM-SVインスタンスの識別子を表すリソースＩＤ６２４０２、デプロイされたCM-SVの識別子を表すCM-SV ＩＤ６２４０３、CM-SVがデプロイされているサイトの識別子を表すサイトＩＤ６２４０４、ユーザの識別子を表すユーザＩＤ６２４０５、ユーザの所属しているグループのＩＤを表すグループＩＤ６２４０６、デプロイされたCM-SVがそれのプロキシに公開しているエンドポイントを表すCM-SVエンドポイント６２４０７、デプロイされたCM-SVにユーザがプロキシ経由でアクセスするためのエンドポイントを表すプロキシエンドポイント６２４０８、ローカルサイトにデプロイされたプロキシの認証トークンを保持するローカル認証トークン６２４０９、リモートサイトにデプロイされたプロキシの認証トークンを保持するリモート認証トークン６２４１０、及び、CM-SVのＡＰＩ呼び出し回数の上限を表すＡＰＩ呼出し回数制限６２４１１といった情報を保持する。
【０１１８】
ログ集積基盤表６２５は、ログ集積基盤９００のエンドポイントを管理する表である。例えば、ログ集積基盤表６２５は、ログ集積基盤９００のエンドポイントを表すエンドポイント６２５０１といった情報を保持する。
【０１１９】
＜システムデプロイメント処理＞
【０１２０】
図１１は、テンプレートマネージャ３００のシステムデプロイメント処理３２２０１の一例を示すフローチャートである。
【０１２１】
システムデプロイメント処理３２２０１は、利用者が選択したシステムテンプレートに含まれるサービス群、及びそれに付随するMet.-SV群をデプロイする指示を出す処理である。
【０１２２】
まず、ステップＳ１１０１において、テンプレート管理プログラム３２２は、テンプレートマネージャＧＵＩプログラム３２３により、システムデプロイ命令を受信する。
【０１２３】
次に、ステップＳ１１０２において、テンプレート管理プログラム３２２は、ステップＳ１１０１で受信した命令の引数が適切か否かを判断する。具体的には、例えば、デプロイ対象のCM-SVのサービスＩＤ及び対応するプロパティとプランＩＤ、デプロイ対象サービスを属させるグループＩＤの配列を含んでいれば適切と判断する。引数が適切と判断された場合は、ステップＳ１１０３へ進む。引数が適切でないと判断された場合は、ステップＳ１１０６へと進み、テンプレートマネージャＧＵＩプログラム３２３へ、エラー情報を返し、処理を終了する。
【０１２４】
次に、ステップＳ１１０３において、テンプレート管理プログラム３２２は、ステップＳ１１０１で受信した命令の引数に指定されているCM-SVのうちの１つに対してステップＳ１１０５までの処理を実行する。
【０１２５】
次に、ステップＳ１１０４において、テンプレート管理プログラム３２２は、ステップＳ１１０１で受信した命令の引数に指定されているグループＩＤと、ステップＳ１１０３において選定されたCM-SVのサービスＩＤと、ステップＳ１１０１で受信した命令の引数に指定されているプロパティとプランＩＤのうち、サービスＩＤに対応するものを指定して、テンプレート管理プログラム３２２中のCM-SVデプロイメント処理３２２０２を呼び出す。
【０１２６】
次に、ステップＳ１１０５において、テンプレート管理プログラム３２２は、ステップＳ１１０３から開始した処理を終了する。ステップＳ１１０１にて指定されたすべてのCM-SVに対して処理が終了していないものがあるなら、ステップＳ１１０３に戻る。
【０１２７】
次に、ステップＳ１１０６において、テンプレート管理プログラム３２２は、テンプレートマネージャＧＵＩプログラム３２３へ、システムデプロイメント処理が完了した結果を返し、処理を終了する。
【０１２８】
＜CM-SVデプロイメント処理＞
【０１２９】
図１２は、テンプレートマネージャ３００のCM-SVデプロイメント処理３２２０２の一例を示すフローチャートである。
【０１３０】
CM-SVデプロイメント処理は、あるCM-SVと、及びそれに付随するMet.-SV群をデプロイする指示を出す処理である。
【０１３１】
まず、ステップＳ１２０１において、テンプレート管理プログラム３２２は、システムデプロイメント処理３２２０１内において、CM-SVのサービスＩＤ、そのCM-SVに対応するプロパティとプランＩＤ、グループＩＤを入力としてCM-SVデプロイ命令を受信する。
【０１３２】
次に、ステップＳ１２０２において、テンプレート管理プログラム３２２は、ステップＳ１２０１で受信した命令の引数が適切か否かを判断する。具体的には、例えば、デプロイ対象のCM-SVのサービスＩＤ及び対応するプロパティ、プランＩＤ、グループＩＤを含んでいれば適切と判断する。引数が適切と判断された場合は、ステップＳ１２０３へ進む。引数が適切でないと判断された場合は、ステップＳ１２０８へと進み、システムデプロイメント処理３２２０１にエラー情報を返し、処理を終了する。
【０１３３】
次に、ステップＳ１２０３において、テンプレート管理プログラム３２２は、サービスプランセット表３２７を参照し、ステップＳ１２０１で受信した命令の引数に指定されているプランＩＤから、サービスをデプロイするサイトＩＤと同プランにおけるＡＰＩ呼び出し回数を特定する。
【０１３４】
次に、ステップＳ１２０４において、テンプレート管理プログラム３２２は、ステップＳ１２０１で受信した命令の引数に指定されているサービスＩＤとプロパティとグループＩＤ、及びステップＳ１２０３で特定したサイトＩＤを指定して、サービスデプロイメント処理３２２０３を呼び出す。ここでは、プロパティにステップＳ１２０３で特定したＡＰＩ呼び出し回数、グループＩＤを追加する。
【０１３５】
次に、ステップＳ１２０５において、テンプレート管理プログラム３２２は、ステップＳ１２０４にて実行したサービスデプロイメント処理３２２０３が正常に完了したか否かを確認する。正常に完了していた場合はＳ１２０６へ進む。正常に完了せずエラーが返ってきた場合はＳ１２０８へ進み、システムデプロイメント処理３２２０１にエラー情報を返し、処理を終了する。
【０１３６】
次に、ステップＳ１２０６において、テンプレート管理プログラム３２２は、Ｓ１２０４にて実行したサービスデプロイメント処理３２２０３の結果をデプロイメント済みCM-SV表３２８に追加する。
【０１３７】
次に、ステップＳ１２０７において、テンプレート管理プログラム３２２は、ステップＳ１２０１で受信したサービスＩＤ、ステップＳ１２０４にて実行したサービスデプロイメント処理３２２０３の結果に含まれるリソースＩＤ、ステップＳ１２０１で受信した命令の引数に指定されているプランＩＤを指定して、Met.-SVデプロイメント処理３２２０４を呼び出す。
【０１３８】
次に、ステップＳ１２０８において、テンプレート管理プログラム３２２は、ステップＳ１２０４にて実行したサービスデプロイメント処理３２２０３及びステップＳ１２０７にて実行したMet.-SVデプロイメント処理３２２０４の結果をシステムデプロイメント処理３２２０１に返し、処理を終了する。
【０１３９】
＜サービスデプロイメント処理＞
【０１４０】
図１３は、テンプレートマネージャ３００のサービスデプロイメント処理３２２０３の一例を示すフローチャートである。
【０１４１】
サービスデプロイメント処理は、CM-SVやMet.-SVをデプロイする命令（指示）を出す処理である。
【０１４２】
まず、ステップＳ１３０１において、テンプレート管理プログラム３２２は、システムデプロイメント処理３２２０１内もしくはMet.-SVデプロイメント処理内において、デプロイ対象サービスのサービスＩＤと対応するプロパティ、サイトＩＤ、グループＩＤを入力としてサービスデプロイメント処理命令を受信する。
【０１４３】
次に、ステップＳ１３０２において、テンプレート管理プログラム３２２は、ステップＳ１３０１で受信した命令の引数が適切か否かを判断する。具体的には、例えば、デプロイ対象サービスのサービスＩＤ、プロパティ、サイトＩＤ、グループＩＤが含まれていれば適切と判断する。引数が適切でないと判断された場合は、ステップＳ１３０５へと進み、呼び出し元であるシステムデプロイメント処理３２２０１もしくはMet.-SVデプロイメント処理３２２０４にエラー情報を返し、処理を終了する。
【０１４４】
次に、ステップＳ１３０３において、テンプレート管理プログラム３２２は、サービスマネージャ５００のサービス管理プログラム５２２へ、サービスデプロイ命令を送信する。命令の引数には、ステップＳ１３００にて受け取ったサービスＩＤ、サイトＩＤ、プロパティ、グループＩＤを指定する。命令送信後、テンプレート管理プログラム３２２は、既定のタイムアウト時間まで、命令のレスポンスを待つ。
【０１４５】
次に、ステップＳ１３０４において、テンプレート管理プログラム３２２は、タイムアウト時間内にレスポンスがあったか否かを確認する。タイムアウト時間内にレスポンスがあったら、ステップＳ１３０５に進む。タイムアウト時間内にレスポンスがなくても、ステップＳ１３０５に進む。ただし、ステップＳ１３０４の結果によって、ステップＳ１３０５で返る結果は異なる。例えば、タイムアウト時間内にレスポンスがなかった場合、テンプレート管理プログラム３２２は、呼び出し元であるシステムデプロイメント処理３２２０１もしくはMet.-SVデプロイメント処理３２２０４にエラー情報が返る。
【０１４６】
次に、ステップＳ１３０５において、テンプレート管理プログラム３２２は、呼び出し元であるシステムデプロイメント処理３２２０１もしくはMet.-SVデプロイメント処理３２２０４にサービスデプロイメント処理が完了した結果を返し、処理を終了させる。
【０１４７】
＜Met.-SVデプロイメント処理＞
【０１４８】
図１４は、テンプレートマネージャ３００のMet.-SVデプロイメント処理３２２０４の一例を示すフローチャートである。
【０１４９】
CM-SVデプロイメント処理は、あるCM-SVに付随するMet.-SV群をデプロイする命令（指示）を出す処理である。
【０１５０】
まず、ステップＳ１４０１において、テンプレート管理プログラム３２２は、CM-SVデプロイメント処理３２２０２内において、メトリクス計測対象のCM-SVインスタンスのサービスＩＤ、リソースＩＤ、プランＩＤを入力としてMet.-SVデプロイ命令を受信する。
【０１５１】
次に、ステップＳ１４０２において、テンプレート管理プログラム３２２は、ステップＳ１４０１で受信した命令の引数が適切か否かを判断する。具体的には、例えば、メトリクス計測対象サービスのサービスＩＤ、リソースＩＤ及び対応するプランＩＤを含んでいれば適切と判断する。引数が適切と判断された場合は、ステップＳ１４０３へ進む。引数が適切でないと判断された場合は、ステップＳ１４１０へと進み、CM-SVデプロイメント処理３２２０２にエラー情報を返し、処理を終了する。
【０１５２】
次に、ステップＳ１４０３において、テンプレート管理プログラム３２２は、ステップＳ１４０１で受信した命令の引数に指定されているプランＩＤから、サービスプランセット表３２７を参照してデプロイするべきMet.-SVの組み合わせを特定する。
【０１５３】
次に、ステップＳ１４０４において、テンプレート管理プログラム３２２は、表３３１を参照して、Met.-SVのデプロイメント先となる主たるサービス実行基盤のサイトを特定する。
【０１５４】
次に、ステップＳ１４０５において、テンプレート管理プログラム３２２は、ステップＳ１４０３で特定したMet.-SV群のうちの１つに対してステップＳ１４０９までの処理を実行する。
【０１５５】
次に、ステップＳ１４０６において、テンプレート管理プログラム３２２は、ステップＳ１４０５において選定したサービスＩＤ、ステップＳ１４１１で特定したサイトＩＤ、Met.-SVを属させるグループのグループＩＤ、プロパティを指定して、サービスデプロイメント処理を呼び出す。ここでは、空のプロパティに対して、ステップＳ１４０１にて入力されたリソースＩＤを追加したものをプロパティとして指定する。
【０１５６】
次に、ステップＳ１４０７において、テンプレート管理プログラム３２２は、ステップＳ１４０５にて実行したサービスデプロイメント処理３２２０３が正常に完了したか否かを確認する。正常に完了していた場合はＳ１４０８へ進む。正常に完了せずエラーが返ってきた場合はＳ１４１０へ進み、CM-SVデプロイメント処理３２２０２にエラー情報を返し、処理を終了する。
【０１５７】
次に、ステップＳ１４０８において、テンプレート管理プログラム３２２は、Ｓ１４０５にて実行したサービスデプロイメント処理３２２０３の結果をデプロイメント済みMet.-SV表３２９に追加する。
【０１５８】
次に、ステップＳ１４０９において、テンプレート管理プログラム３２２は、ステップＳ１４０５から開始した処理を終了する。ステップＳ１４０３にて特定されたすべてのMet.-SVに対して処理が終了していないものがあるなら、ステップＳ１４０５に戻る。
【０１５９】
次に、ステップＳ１４１０において、テンプレート管理プログラム３２２は、ステップＳ１４０５にて実行したサービスデプロイメント処理３２２０３の結果をまとめてシステムデプロイメント処理３２２０１に返し、処理を終了する。
【０１６０】
＜サービスデプロイメント処理＞
【０１６１】
図１５は、サービスマネージャ５００のサービスデプロイメント処理５２２０１の一例を示すフローチャートである。
【０１６２】
サービスデプロイメント処理５２２０１は、テンプレートマネージャ３００から命令を受けたサービスマネージャ５００のサービス管理プログラム５２２によって実行される処理であり、CM-SVやMet.-SVをデプロイする命令（指示）を出す処理である。
【０１６３】
まず、ステップＳ１５０１において、サービス管理プログラム５２２は、テンプレート管理プログラム３２２により、デプロイ対象サービスのサービスＩＤと対応するプロパティ、デプロイメント先サイトのサイトＩＤ、サービスが属するグループのグループＩＤ、を入力としてサービスデプロイ命令を受信する。
【０１６４】
次に、ステップＳ１５０２において、サービス管理プログラム５２２は、ステップＳ１５０１で受信した命令の引数が適切か否かを判断する。具体的には、例えば、サービスＩＤ、プロパティ、サイトＩＤ、グループＩＤを含んでいれば適切と判断する。引数が適切と判断された場合は、ステップＳ１５０４へ進む。引数が適切でないと判断された場合は、ステップＳ１５０９へと進み、テンプレート管理プログラム３２２へ、エラー情報を返し、処理を終了する。
【０１６５】
次に、ステップＳ１５０３において、サービス管理プログラム５２２は、ステップＳ１５０１で受信した命令の引数であるサイトＩＤと、サービスデプロイメントマネージャ表５２６より、サービスデプロイメントマネージャＩＤ５２５０１を特定する。サービスデプロイメントマネージャＩＤ５２５０１を特定できたら、ステップＳ１５０５へ進む。サービスデプロイメントマネージャＩＤ５２５０１を特定できなかったら、ステップＳ１５０８へ進み、サービス管理プログラム５２２は、テンプレート管理プログラム３２２にエラー情報を返し、処理を終了する。
【０１６６】
次に、ステップＳ１５０４において、サービス管理プログラム５２２は、デプロイするサービスに対してリソースＩＤを発行する。
【０１６７】
次に、ステップＳ１５０５において、サービス管理プログラム５２２は、特定したサービスデプロイメントマネージャＩＤ５２５１０のサービスデプロイメントマネージャ６００Ａ又は６００Ｂのサービスデプロイメントプログラム６２２へ、ステップＳ１５０１で受信した命令の引数に含まれるサービスＩＤとグループＩＤ、ステップＳ１５０４で発行したリソースＩＤ、プロパティ、サービスタイプＩＤを指定して、サービス／プロキシデプロイ命令を送信する。このとき、ステップＳ１５０１で受信した命令の引数に含まれるプロパティに、ステップＳ１５０１で受信した命令の引数に含まれるサービスＩＤからMet.-SV表５２８を参照して特定した取得タイプを追加したものを、プロパティとして指定する。取得タイプが特定できなかった場合は、ステップＳ１５０１で受信した命令の引数に含まれるプロパティをそのままプロパティとして指定する。また、ここではサービスタイプＩＤとして、サービスＩＤから表５２７及び表５２８を参照して特定したものを指定する。命令送信後、サービス管理プログラム５２２は、既定のタイムアウト時間まで、命令のレスポンスを待つ。
【０１６８】
次に、ステップＳ１５０６において、サービス管理プログラム５２２は、タイムアウト時間内にレスポンスがあったか否かを確認する。タイムアウト時間内にレスポンスがあったら、ステップＳ１５０７に進む。タイムアウト時間内にレスポンスがなかったら、ステップＳ１５０９に進み、サービス管理プログラム５２２は、テンプレート管理プログラム３２２にエラー情報を返し、処理を終了する。
【０１６９】
次に、ステップＳ１５０７において、サービス管理プログラム５２２は、サービスデプロイメントプログラム６２２からのレスポンス内容を確認し、正常か否かを確認する。正常ならば、ステップＳ１５０８に進む。命令のエラーがあれば、ステップＳ１５０９へ進み、サービス管理プログラム５２２は、テンプレート管理プログラム３２２にエラー情報を返し、処理を終了する。
【０１７０】
次に、ステップＳ１５０８において、サービス管理プログラム５２２は、サービスデプロイメントマネージャＩＤのサービスデプロイメントマネージャ６００がローカル（つまり主たるサービス実行基盤７００Ａに対応するサービスデプロイメントマネージャ６００A）か否かを確認する。サービスデプロイメントマネージャ６００がローカルなら、ステップＳ１５０９へ進む。サービスデプロイメントマネージャ６００がローカルでないなら、リモートのサイトにプロキシをデプロイするためにステップＳ１５０５へ戻る。
【０１７１】
次に、ステップＳ１５０９において、サービス管理プログラム５２２は、テンプレート管理プログラム３２２へ、サービスデプロイメント処理の結果を返し、処理を終了する。
【０１７２】
＜サービス／プロキシデプロイメント処理＞
【０１７３】
図１６は、サービスデプロイメントマネージャ６００のサービス／プロキシデプロイメント処理６２２０１の一例を示すフローチャートである。
【０１７４】
サービス／プロキシデプロイメント処理６２２０１は、サービスマネージャ５００から命令を受けたサービスデプロイメントプログラム６２２によって実行される処理であり、CM-SVやMet.-SVをデプロイする命令（指示）を出す処理である。
【０１７５】
まず、ステップＳ１６０１において、サービスデプロイメントプログラム６２２は、サービス管理プログラム５２２より、デプロイ対象サービスのサービスＩＤと対応するプロパティ、サービスタイプＩＤ、リソースＩＤ、グループＩＤを入力としてサービスデプロイ／プロキシ命令を受信する。
【０１７６】
次に、ステップＳ１６０２において、サービスデプロイメントプログラム６２２は、ステップＳ１６０１で受信した命令の引数が適切か否かを判断する。具体的には、例えば、サービスデプロイメントプログラム６２２は、引数に、サービスＩＤ、リソースＩＤ、サービスタイプＩＤ、プロパティ、グループＩＤが指定されていれば適切と判断する。引数が適切なら、ステップＳ１６０３へ進む。引数が適切でないならば、ステップＳ１６０９へ進み、サービスデプロイメントプログラム６２２は、サービス管理プログラム５２２にエラー情報を返し、処理を終了する。
【０１７７】
次に、ステップＳ１６０３において、サービスデプロイメントプログラム６２２は、ステップＳ１６０１にて入力された引数のサービスタイプＩＤから、サービスタイプ表６２６を参照しながらデプロイ対象サービスのタイプを特定する。サービスのタイプが“product”（商材）である場合、ステップＳ１６０４に進む。サービスのタイプが“collector”（メトリクス収集）である場合、ステップＳ１６１０に進む。サービスの種類が不明である場合、ステップＳ１６０９に進み、サービスデプロイメントプログラム６２２は、サービス管理プログラム５２２にエラー情報を返し、処理を終了する。
【０１７８】
次に、ステップＳ１６１０では、Met.-SVが実際にやりとりするメトリクス収集先のアクセス情報を特定するために、サービスデプロイメントプログラム６２２は、ステップＳ１６０１で受信したサイトＩＤとプロパティ内のリソースＩＤ、メトリクス取得タイプを入力としてメトリクス取得先特定処理６２２０２を実行する。
【０１７９】
次に、ステップＳ１６１１では、サービスデプロイメントプログラム６２２は、Ｓ１６１０の実行結果のメトリクス収集先アクセス情報をプロパティに追加する。
【０１８０】
次に、ステップＳ１６０４において、サービスデプロイメントプログラム６２２は、サービス実行基盤７００のサービス管理プログラム７２２へ、サービスＩＤ、リソースＩＤ、ネームスペースＩＤ、プロパティを指定してサービス／プロキシデプロイ命令を送信する。ここでは、サービスＩＤ、リソースＩＤはステップＳ１６０１にて入力されたもの。ネームスペースＩＤはステップＳ１６０１にて入力されたグループＩＤに基づいたものを指定する。また、プロパティはステップＳ１６０１にて入力されたもの、もしくはそれにＳ１６１１にて追記されたものを指定する。命令送信後、サービスデプロイメントプログラム６２２は、既定のタイムアウト時間まで、命令のレスポンスを待つ。
【０１８１】
次に、ステップＳ１６０５において、サービスデプロイメントプログラム６２２は、タイムアウト時間内にレスポンスがあったか否かを確認する。タイムアウト時間内にレスポンスがあったら、ステップＳ１６０６へ進む。タイムアウト時間内にレスポンスがなかったら、ステップＳ１６０９に進み、サービスデプロイメントプログラム６２２は、サービス管理プログラム５２２にエラー情報を返し、処理を終了する。
【０１８２】
次に、ステップＳ１６０６において、サービスデプロイメントプログラム６２２は、サービス管理プログラム７２２からのレスポンス内容を確認し、正常か否かを確認する。正常ならば、ステップＳ１６０７に進む。命令のエラーがあれば、ステップＳ１６０９へ進み、サービスデプロイメントプログラム６２２は、サービス管理プログラム５２２にエラー情報を返し、処理を終了する。
【０１８３】
次に、ステップＳ１６０７において、サービスデプロイメントプログラム６２２は、ステップＳ１６０４のサービス／プロキシデプロイ命令の結果を、サービスデプロイメント表６２４に追加する。
【０１８４】
次に、ステップＳ１６０８において、サービスデプロイメントプログラム６２２は、ステップ３０６のサービスデプロイメント表６２４への追加処理が正常に完了したか否かを確認する。追加処理が正常に完了したら、ステップＳ１６０９へ進む。追加処理の結果、エラーが返ってきても、ステップＳ１６０９へ進む。ただし、ステップＳ１６０８の結果によって、ステップＳ１６０９で返る結果は異なる。例えば、エラーが返ってきた場合、サービスデプロイメントプログラム６２２は、サービス管理プログラム５２２にエラー情報を返し、処理を終了する。
【０１８５】
次に、ステップＳ１６０９において、サービスデプロイメントプログラム６２２は、サービス管理プログラム５２２に、サービス／プロキシデプロイメント処理が完了した結果を返し、処理を終了する。
【０１８６】
＜メトリクス取得先特定処理＞
【０１８７】
図１７は、サービスデプロイメントマネージャ６００のメトリクス取得先特定処理６２２０２の一例を示すフローチャートである。
【０１８８】
メトリクス取得先特定処理６２２０２は、サービスマネージャ５００から命令を受けたサービスデプロイメントプログラム６２２によって実行される処理であり、Met.-SVのアクセス先を特定するための処理である。
【０１８９】
まず、ステップＳ１７０１において、サービスデプロイメントプログラム６２２は、サービス／プロキシデプロイメント処理６２２０１内において、メトリクス収集対象サービスのリソースＩＤ、メトリクス取得サービスの取得タイプを入力として、メトリクス取得先特定命令を受け取る。
【０１９０】
次に、ステップＳ１７０２において、ステップＳ１７０２で受信した命令の引数が適切か否かを判断する。具体的には、例えば、引数としてリソースＩＤ、取得タイプが指定を含んでいれば適切と判断する。引数が適切と判断された場合は、ステップＳ１７０３へ進む。引数が適切でないと判断された場合は、ステップＳ１７０６へと進み、テンプレート管理プログラム３２２へ、エラー情報を返し、処理を終了する。
【０１９１】
次に、ステップＳ１７０３において、サービスデプロイメントプログラム６２２は、ステップＳ１７０１において入力された取得タイプを確認する。
【０１９２】
取得タイプがメトリックである場合、ステップＳ１７０４に進む。取得タイプがログである場合、Ｓ１７０５に進む。
【０１９３】
次に、ステップＳ１７０４において、サービスデプロイメントプログラム６２２は、ステップＳ１７０１において入力されたリソースＩＤから、サービスデプロイメント表６２４を参照してメトリクス収集先サービスのエンドポイントを特定し、出力する。
【０１９４】
次に、ステップＳ１７０５においては、サービスデプロイメントプログラム６２２は、ログ集積基盤表６２５を参照して、ログ集積基盤のエンドポイントを特定し、出力する。
【０１９５】
次に、ステップＳ１７０６において、サービスデプロイメントプログラム６２２は、結果をサービス／プロキシデプロイメント処理６２２０１に返し、処理を終了する。
【０１９６】
＜CM-SVアンデプロイメント処理＞
【０１９７】
図１８は、テンプレートマネージャ３００のCM-SVアンデプロイメント処理３２２０５の一例を示すフローチャートである。
【０１９８】
CM-SVアンデプロイメント処理３２２０５は、利用者が選択したCM-SV、及びそれに付随するMet.-SV群をアンデプロイする指示を出す処理である。
【０１９９】
まず、ステップＳ１８０１において、テンプレート管理プログラム３２２は、テンプレートマネージャＧＵＩプログラム３２３により、利用者がアンデプロイを希望したCM-SVのリソースＩＤを引数として、CM-SVアンデプロイ命令を受信する。
【０２００】
次に、ステップＳ１８０２において、テンプレート管理プログラム３２２は、ステップＳ１８０１で受信した命令の引数が適切か否かを判断する。具体的には、例えば、デプロイ対象のCM-SVのリソースＩＤを含んでいれば適切と判断する。引数が適切と判断された場合は、ステップＳ１８０３へ進む。引数が適切でないと判断された場合は、ステップＳ１８０７へと進み、テンプレートマネージャＧＵＩプログラム３２３へ、エラー情報を返し、処理を終了する。
【０２０１】
次に、ステップＳ１８０３において、テンプレート管理プログラム３２２は、ステップＳ１８０１にて入力されたリソースＩＤを指定して、サービスアンデプロイメント処理３２２０６を呼び出す。
【０２０２】
次に、ステップＳ１８０４において、テンプレート管理プログラム３２２は、ステップＳ１８０３において実行したサービスアンデプロイメント処理３２２０６が正常に完了したか否かを確認する。正常に完了していた場合はＳ１８０５へ進む。正常に完了せずエラーが返ってきた場合はＳ１８０７へ進み、テンプレートマネージャＧＵＩプログラム３２３へ、エラー情報を返し、処理を終了する。
【０２０３】
次に、ステップＳ１８０５において、テンプレート管理プログラム３２２は、ステップＳ１８０１において入力されたリソースＩＤに関する行をデプロイメント済みCM-SV表３２８から削除する。
【０２０４】
次に、ステップＳ１８０６において、テンプレート管理プログラム３２２は、ステップＳ１８０１にて入力されたリソースＩＤを指定して、Met.-SVのアンデプロイメント処理３２２０７を呼び出す。
【０２０５】
次に、ステップＳ１８０７において、テンプレート管理プログラム３２２は、ステップＳ１８０３にて実行したサービスアンデプロイメント処理３２２０６及びステップＳ１８０６にて実行したMet.-SVアンデプロイメント処理３２２０７の結果をテンプレートマネージャＧＵＩプログラム３２３に返し、処理を終了する。
【０２０６】
＜Met.-SVアンデプロイメント処理＞
【０２０７】
図１９は、テンプレートマネージャ３００のMet.-SVアンデプロイメント処理３２２０７の一例を示すフローチャートである。
【０２０８】
Met.-SVアンデプロイメント処理３２２０７は、利用者が選択したCM-SV、及びそれに付随するMet.-SV群をアンデプロイする指示を出す処理である。
【０２０９】
まず、ステップＳ１９０１において、テンプレート管理プログラム３２２は、CM-SVアンデプロイメント処理３２２０５内において、アンデプロイ対象Met.-SVが紐付いているサービスのリソースＩＤを入力としてMet.-SVアンデプロイ命令を受信する。
【０２１０】
次に、ステップＳ１９０２において、テンプレート管理プログラム３２２は、ステップＳ１９０１で受信した命令の引数が適切か否かを判断する。具体的には、例えば、リソースＩＤを含んでいれば適切と判断する。引数が適切と判断された場合は、ステップＳ１９０３へ進む。引数が適切でないと判断された場合は、ステップＳ１９０９へと進み、CM-SVアンデプロイメント処理３２２０５にエラー情報を返し、処理を終了する。
【０２１１】
次に、ステップＳ１９０３において、テンプレート管理プログラム３２２は、ステップＳ１９０１で受信した命令の引数に指定されているリソースＩＤから、デプロイメント済みMet.-SV表３２９を参照して、アンデプロイするべきMet.-SVの組み合わせを特定する。
【０２１２】
次に、ステップＳ１９０４において、テンプレート管理プログラム３２２は、ステップＳ１９０３で特定したMet.-SV群のうちの１つに対してステップＳ１９０８までの処理を実行する。
【０２１３】
次に、ステップＳ１９０５において、テンプレート管理プログラム３２２は、ステップＳ１９０３において選定したリソースＩＤを指定して、サービスアンデプロイメント処理３２２０６を呼び出す。
【０２１４】
次に、ステップＳ１９０６において、テンプレート管理プログラム３２２は、ステップＳ１９０５にて実行したサービスアンデプロイメント処理３２２０６が正常に完了したか否かを確認する。正常に完了していた場合はＳ１９０７へ進む。正常に完了せずエラーが返ってきた場合はＳ１９０９へ進み、CM-SVアンデプロイメント処理３２２０５にエラー情報を返し、処理を終了する。
【０２１５】
次に、ステップＳ１９０７において、テンプレート管理プログラム３２２は、ステップＳ１９０３において選定したリソースＩＤに関する行をデプロイメント済みMet.-SV表３２９から削除する。
【０２１６】
次に、ステップＳ１９０８において、テンプレート管理プログラム３２２は、ステップＳ１９０４から開始した処理を終了する。ステップＳ１９０３にて特定されたすべてのMet.-SVに対して処理が終了していないものがあるなら、ステップＳ１９０４に戻る。
【０２１７】
次に、ステップＳ１９０９において、テンプレート管理プログラム３２２は、ステップＳ１９０５にて実行したサービスアンデプロイメント処理３２２０６の結果をまとめてCM-SVアンデプロイメント処理３２２０５に返し、処理を終了する。
【０２１８】
＜サービスアンデプロイメント処理＞
【０２１９】
図２０は、テンプレートマネージャ３００のサービスアンデプロイメント処理３２２０６の一例を示すフローチャートである。
【０２２０】
サービスデプロイメント処理は、CM-SVやMet.-SVをアンデプロイする指示を出す処理である。
【０２２１】
まず、ステップＳ２００１において、テンプレート管理プログラム３２２は、CM-SVアンデプロイメント処理３２２０５内もしくはMet.-SVアンデプロイメント処理３２２０７内において、アンデプロイ対象サービスのリソースＩＤを入力としてサービスアンデプロイメント処理命令を受信する。
【０２２２】
次に、ステップＳ２００２において、テンプレート管理プログラム３２２は、ステップＳ２００１で受信した命令の引数が適切か否かを判断する。具体的には、例えば、デプロイ対象サービスのリソースＩＤが含まれていれば適切と判断する。引数が適切でないと判断された場合は、ステップＳ２００６へと進み、呼び出し元であるCM-SVアンデプロイメント処理３２２０５内もしくはMet.-SVアンデプロイメント処理３２２０７にエラー情報を返し、処理を終了する。
【０２２３】
次に、ステップＳ２００３において、テンプレート管理プログラム３２２は、ステップＳ２００１にて入力されたリソースＩＤから、デプロイメント済みCM-SV表３２８及びデプロイメント済みMet.-SV表３２９を参照して、アンデプロイ対象サービスがデプロイされているサイトＩＤを特定する。
【０２２４】
次に、ステップＳ２００４において、テンプレート管理プログラム３２２は、サービスマネージャ５００のサービス管理プログラム５２２へ、サービスアンデプロイ命令を送信する。命令の引数には、ステップＳ２００１にて入力されたリソースＩＤ、ステップＳ２００３にて特定されたサイトＩＤを指定する。ここでは、命令送信後、テンプレート管理プログラム３２２は、既定のタイムアウト時間まで、命令のレスポンスを待つ。
【０２２５】
次に、ステップＳ２００５において、テンプレート管理プログラム３２２は、タイムアウト時間内にレスポンスがあったか否かを確認する。タイムアウト時間内にレスポンスがあったら、ステップＳ２００６に進む。タイムアウト時間内にレスポンスがなくても、ステップＳ２００６に進む。ただし、ステップＳ２００５の結果によって、ステップＳ２００６で返る結果は異なる。例えば、タイムアウト時間内にレスポンスがなかった場合、テンプレート管理プログラム３２２は、呼び出し元であるCM-SVアンデプロイメント処理３２２０５内もしくはMet.-SVアンデプロイメント処理３２２０７にエラー情報を返し、処理を終了する。
【０２２６】
次に、ステップＳ２００６において、テンプレート管理プログラム３２２は、ステップＳ２００４が完了した結果を、呼び出し元であるCM-SVアンデプロイメント処理３２２０５内もしくはMet.-SVアンデプロイメント処理３２２０７にサービスアンデプロイメント処理が完了した結果を返し、処理を終了する。
【０２２７】
＜サービスアンデプロイメント処理＞
【０２２８】
図２１は、サービスマネージャ５００のサービスアンデプロイメント処理５２２０２の一例を示すフローチャートである。
【０２２９】
サービスアンデプロイメント処理５２２０２は、テンプレートマネージャ３００から命令を受けたサービスマネージャ５００のサービス管理プログラム５２２によって実行される処理であり、CM-SVやMet.-SVをアンデプロイする指示を出す処理である。
【０２３０】
まず、ステップＳ２１０１において、サービス管理プログラム５２２は、テンプレート管理プログラム３２２により、アンデプロイ対象サービスのリソースＩＤ、アンデプロイ対象サービスがデプロイされているサイトのサイトＩＤを入力としてサービスアンデプロイ命令を受信する。
【０２３１】
次に、ステップＳ２１０２において、サービス管理プログラム５２２は、ステップＳ２１０１で受信した命令の引数が適切か否かを判断する。具体的には、例えば、リソースＩＤ、サイトＩＤを含んでいれば適切と判断する。引数が適切と判断された場合は、ステップＳ２１０３へ進む。引数が適切でないと判断された場合は、ステップＳ２１０８へと進み、テンプレート管理プログラム３２２へ、エラー情報を返し、処理を終了する。
【０２３２】
次に、ステップＳ２１０３において、サービス管理プログラム５２２は、ステップＳ２１０１で受信した命令の引数であるサイトＩＤと、サービスデプロイメントマネージャ表５２６より、サービスデプロイメントマネージャＩＤを特定する。サービスデプロイメントマネージャＩＤを特定できたら、ステップＳ２１０４へ進む。サービスデプロイメントマネージャＩＤを特定できなかったら、ステップＳ２１０８へ進み、サービス管理プログラム５２２は、テンプレート管理プログラム３２２にエラー情報を返し、処理を終了する。
【０２３３】
次に、ステップＳ２１０４において、サービス管理プログラム５２２は、特定したサービスデプロイメントマネージャＩＤのサービスデプロイメントマネージャ６００Ａ又は６００Ｂのサービスデプロイメントプログラム６２２へ、ステップＳ２１０１にて入力されたリソースＩＤを指定して、サービス／プロキシデプロイ命令を送信する。命令送信後、サービス管理プログラム５２２は、既定のタイムアウト時間まで、命令のレスポンスを待つ。
【０２３４】
次に、ステップＳ２１０５において、サービス管理プログラム５２２は、タイムアウト時間内にレスポンスがあったか否かを確認する。タイムアウト時間内にレスポンスがあったら、ステップＳ２１０６に進む。タイムアウト時間内にレスポンスがなかったら、ステップＳ２１０８に進み、サービス管理プログラム５２２は、テンプレート管理プログラム３２２にエラー情報を返し、処理を終了する。
【０２３５】
次に、ステップＳ２１０６において、サービス管理プログラム５２２は、サービスデプロイメントプログラム６２２からのレスポンス内容を確認し、正常か否かを確認する。正常ならば、ステップＳ２１０７に進む。命令のエラーがあれば、ステップＳ２１０８へ進み、サービス管理プログラム５２２は、テンプレート管理プログラム３２２にエラー情報を返し、処理を終了する。
【０２３６】
次に、ステップＳ２１０７において、サービス管理プログラム５２２は、サービスデプロイメントマネージャＩＤのサービスデプロイメントマネージャ６００がローカル（つまり７００Ａ）か否かを確認する。サービスデプロイメントマネージャ６００がローカルなら、ステップＳ２１０８へ進む。サービスデプロイメントマネージャ６００がローカルでないなら、リモートのサイトにプロキシをアンデプロイするためにステップＳ２１０４へ戻る。
【０２３７】
次に、ステップＳ２１０８において、サービス管理プログラム５２２は、テンプレート管理プログラム３２２へ、サービスデプロイメント処理の結果を返し、処理を終了する。
【０２３８】
＜サービス／プロキシアンデプロイメント処理＞
【０２３９】
図２２は、サービスデプロイメントマネージャ６００のサービス／プロキシアンデプロイメント処理６２２０３の一例を示すフローチャートである。
【０２４０】
まず、ステップＳ２２０１において、サービスデプロイメントプログラム６２２は、サービス管理プログラム５２２より、サービスデプロイ／プロキシアンデプロイ命令を受信する。
【０２４１】
次に、ステップＳ２２０２において、サービスデプロイメントプログラム６２２は、ステップＳ２２０１で受信した命令の引数が適切か否かを判断する。具体的には、例えば、サービスデプロイメントプログラム６２２は、引数に、リソースＩＤが指定されていれば適切と判断する。引数が適切なら、ステップＳ２２０３へ進む。引数が適切でないならば、ステップＳ２２０８へ進み、サービスデプロイメントプログラム６２２は、サービス管理プログラム５２２にエラー情報を返し、処理を終了する。
【０２４２】
次に、ステップＳ２２０３において、サービスデプロイメントプログラム６２２は、サービス実行基盤７００のサービス管理プログラム７２２へ、サービス／プロキシアンデプロイ命令を送信する。命令送信後、サービスデプロイメントプログラム６２２は、既定のタイムアウト時間まで、命令のレスポンスを待つ。
【０２４３】
次に、ステップＳ２２０４において、サービスデプロイメントプログラム６２２は、タイムアウト時間内にレスポンスがあったか否かを確認する。タイムアウト時間内にレスポンスがあったら、ステップＳ２２０５へ進む。タイムアウト時間内にレスポンスがなかったら、ステップＳ２２０８に進み、サービスデプロイメントプログラム６２２は、サービス管理プログラム５２２にエラー情報を返し、処理を終了する。
【０２４４】
次に、ステップＳ２２０５において、サービスデプロイメントプログラム６２２は、サービス管理プログラム７２２からのレスポンス内容を確認し、正常か否かを確認する。正常ならば、ステップＳ２２０６に進む。命令のエラーがあれば、ステップＳ２２０８へ進み、サービスデプロイメントプログラム６２２は、サービス管理プログラム５２２にエラー情報を返し、処理を終了する。
【０２４５】
次に、ステップＳ２２０６において、サービスデプロイメントプログラム６２２は、ステップＳ１６０４のサービス／プロキシデプロイ命令でデプロイしたサービス／プロキシに関するレコードを、サービスデプロイメント表６２４より削除する。
【０２４６】
次に、ステップＳ２２０７において、サービスデプロイメントプログラム６２２は、ステップＳ２２０６のサービスデプロイメント表６２４のレコード削除処理が正常に完了したか否かを確認する。削除処理が正常に完了したら、ステップＳ２２０８へ進む。削除処理の結果、エラーが返ってきても、ステップＳ２２０８へ進む。ただし、ステップＳ２２０７の結果によって、ステップＳ２２０８で返る結果は異なる。例えば、エラーが返ってきた場合、サービスデプロイメントプログラム６２２は、サービス管理プログラム５２２にエラー情報を返し、処理を終了する。
【０２４７】
次に、ステップＳ２２０８において、サービスデプロイメントプログラム６２２は、サービス管理プログラム５２２に、サービス／プロキシアンデプロイメント処理６２２０３が完了した結果を返し、処理を終了する。
【０２４８】
＜プラン変更処理＞
【０２４９】
図２３は、テンプレートマネージャ３００のプラン変更処理３２２０８の一例を示すフローチャートである。
【０２５０】
プラン変更処理３２２０８は、デプロイメント済みCM-SVのプラン変更に伴うMet.-SVの再構築を指示する処理である。
【０２５１】
まず、ステップＳ２３０１において、テンプレート管理プログラム３２２は、テンプレートマネージャＧＵＩプログラム３２３により、利用者がプラン変更を希望したデプロイメント済みCM-SVのリソースＩＤと変更後プランのプランＩＤを引数として、プラン変更命令を受信する。
【０２５２】
次に、ステップＳ２３０２において、テンプレート管理プログラム３２２は、ステップＳ２３０１で受信した命令の引数が適切か否かを判断する。具体的には、例えば、リソースＩＤとプランＩＤを含んでいれば適切と判断する。引数が適切と判断された場合は、ステップＳ２３０３へ進む。引数が適切でないと判断された場合は、ステップＳ２３０８へと進み、テンプレートマネージャＧＵＩプログラム３２３へ、エラー情報を返し、処理を終了する。
【０２５３】
次に、ステップＳ２３０３において、テンプレート管理プログラム３２２は、ステップＳ２３０１にて入力されたリソースＩＤを指定して、Met.-SVアンデプロイメント処理３２２０７を呼び出す。
【０２５４】
次に、ステップＳ２３０４において、テンプレート管理プログラム３２２は、ステップＳ２３０３において実行したMet.-SVアンデプロイメント処理３２２０７が正常に完了したか否かを確認する。正常に完了していた場合はＳ２３０４へ進む。正常に完了せずエラーが返ってきた場合はＳ２３０８へ進み、テンプレートマネージャＧＵＩプログラム３２３へ、エラー情報を返し、処理を終了する。
次に、ステップＳ２３０５において、テンプレート管理プログラム３２２は、ステップＳ２３０１で受信したリソースＩＤとプランＩＤを指定して、Met.-SVデプロイメント処理３２２０４を呼び出す。
【０２５５】
次に、ステップＳ２３０６において、テンプレート管理プログラム３２２は、ステップＳ２３０５において実行したMet.-SVデプロイメント処理３２２０４が正常に完了したか否かを確認する。正常に完了していた場合はS２３０４へ進む。正常に完了せずエラーが返ってきた場合はＳ２３０８へ進み、テンプレートマネージャＧＵＩプログラム３２３へ、エラー情報を返し、処理を終了する。
【０２５６】
次に、ステップＳ２３０７において、テンプレート管理プログラム３２２は、ステップＳ２３０１にて入力されたリソースＩＤに関する行のプランＩＤを、ステップＳ２３０１にて入力されたプランＩＤに更新する。
【０２５７】
次に、ステップＳ２３０８において、テンプレート管理プログラム３２２は、プラン変更処理が完了した結果をテンプレートマネージャＧＵＩプログラム３２３に返し、処理を終了する。
【０２５８】
以上、一実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実行することが可能である。例えば、以下のような一変形例が考えられる。
【０２５９】
＜ビジュアルプログラミングツールを用いたケースのＧＵＩ＞
【０２６０】
図２４は、テンプレートマネージャと連携したビジュアルプログラミングツールのＧＵＩの一例である。
【０２６１】
ビジュアルプログラミングツール（例えばＮｏｄｅ−ＲＥＤ（https://nodered.org/））を利用してユーザ１０１が直感的にシステム構成を把握しながらパラメータなどの設定値を入力することができる。
【０２６２】
デプロイメント済みシステム画面２４０１は、デプロイメント済みシステム画面３０２と同じく、システムテンプレート構成画面を通じてデプロイしたシステムの説明と、システムを構成しているCM-SVの一覧と設定を確認し、サービスの追加もしくは削除、サービスの設定変更を指示することができる。
【０２６３】
デプロイメント済みシステム画面２４０１は、テンプレートマネージャＧＵＩプログラム３２３によって提供され、追加可能なサービスを表示しているＵＩ２４０１０１と、システムを構成しているサービスの接続関係を表す編集画面２４０１０２と、システムを構成しているサービスを表すノード２４０１０３と、システムを構成しているサービスの設定を編集するプロパティ画面２４０１０４と、入力破棄ＵＩ２４０１０５と、構成変更指示ＵＩ２４０１０６から構成される。
【０２６４】
例えば、ユーザ１０１が、デプロイメント済みのシステムに新たにCM-SV４を追加してCM-SV２と接続するときには、パレット２４０１０２からCM-SV４のノードを編集画面２４０１０２にドラッグ&ドロップすることでノードを配置し、配置したCM-SV４のノードと既に配置されているCM-SV２のノードを線でつなぐ。
【０２６５】
さらに、さらに、ユーザ１０１が構成変更指示ＵＩ２４０１０５をクリックすると、テンプレート管理プログラム３２２のCM-SVデプロイメント処理３２２０１が呼び出された後、デプロイメント済みCM-SV表３２８が更新される。
【０２６６】
もしくは、ユーザ１０１が構成変更指示ＵＩ２４０１０５をクリックする前に、入力破棄ＵＩ２４０１０６をクリックすると、編集画面２４０１０２にて加えた変更内容をすべて破棄し、呼び出し元の画面に戻ることができる。
【０２６７】
例えば、ユーザ１０１は、配置済みであるCM-SV２のノードをクリックすることで、プロパティ画面２４０１０４を呼び出して、既に設定しているプランやパラメータを変更することができる。
【０２６８】
その場合、設定変更後に、ユーザ１０１が構成変更指示ＵＩ２４０１０５をクリックすると、テンプレート管理プログラム３２２のCM-SVアンデプロイメント処理３２２０５及びCM-SVデプロイメント処理３２２０１が呼び出された後、デプロイメント済みCM-SV表３２８が更新される。
【０２６９】
もしくは、ユーザ１０１が構成変更指示ＵＩ２４０１０５をクリックする前に、入力破棄ＵＩ２４０１０６をクリックすると、編集画面２４０１０２にて加えた変更内容をすべて破棄し、呼び出し元の画面に戻ることができる。
【０２７０】
このように、一変形例によれば、サービスシステムは、それぞれがアプリケーションサービスに関連付けられている複数のノードと当該複数のノードにおける各ノード間の結線とで表現されたアプリケーションソフトウェアフローでよい。なお、ビジュアルプログラミングツールは、「モデル開発環境」と呼ばれてもよい。ソフトウェアの構成要素や処理単位がノードであり、ノード同士の結線は「エッジ」と呼ばれてもよい。ノードとエッジは有向グラフにおける用語であり、Ｎｏｄｅ−ＲＥＤにおけるフローダイアグラムも有向グラフとして捉えることができる。本明細書において、フローダイアグラムとブロックダイアグラムと有向グラフは同義とし、フローダイアグラムは単に「フロー」と呼ぶことができ、「フロー」と「グラフ」は同義とできる。
【符号の説明】
【０２７１】
３００：テンプレートマネージャ
５００：サービスマネージャ
【図１】
2020149649.tif 000003
【図２Ａ】
2020149649.tif 000004
【図２Ｂ】
2020149649.tif 000005
【図３Ａ】
2020149649.tif 000006
【図３Ｂ】
2020149649.tif 000007
【図４Ａ】
2020149649.tif 000008
【図４Ｂ】
2020149649.tif 000009
【図５Ａ】
2020149649.tif 000010
【図５Ｂ】
2020149649.tif 000011
【図５Ｃ】
2020149649.tif 000012
【図５Ｄ】
2020149649.tif 000013
【図６Ａ】
2020149649.tif 000014
【図６Ｂ】
2020149649.tif 000015
【図６Ｃ】
2020149649.tif 000016
【図７】
2020149649.tif 000017
【図８】
2020149649.tif 000018
【図９】
2020149649.tif 000019
【図１０Ａ】
2020149649.tif 000020
【図１０Ｂ】
2020149649.tif 000021
【図１１】
2020149649.tif 000022
【図１２】
2020149649.tif 000023
【図１３】
2020149649.tif 000024
【図１４】
2020149649.tif 000025
【図１５】
2020149649.tif 000026
【図１６】
2020149649.tif 000027
【図１７】
2020149649.tif 000028
【図１８】
2020149649.tif 000029
【図１９】
2020149649.tif 000030
【図２０】
2020149649.tif 000031
【図２１】
2020149649.tif 000032
【図２２】
2020149649.tif 000033
【図２３】
2020149649.tif 000034
【図２４】
2020149649.tif 000035
【図２５】
2020149649.tif 000036