(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023087332
(43)【公開日】2023-06-23
(54)【発明の名称】環境構築システムおよび環境構築方法
(51)【国際特許分類】
G06F 9/44 20180101AFI20230616BHJP
G06F 11/36 20060101ALI20230616BHJP
G06Q 50/10 20120101ALI20230616BHJP
G06F 11/30 20060101ALI20230616BHJP
【FI】
G06F9/44
G06F11/36 188
G06Q50/10
G06F11/30 155
G06F11/30 140A
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2021201650
(22)【出願日】2021-12-13
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】西田 寿雄
(72)【発明者】
【氏名】受田 賢知
【テーマコード(参考)】
5B042
5B376
5L049
【Fターム(参考)】
5B042HH12
5B376AA25
5B376BC01
5L049CC12
(57)【要約】
【課題】第1の環境に構築された情報システムを、リソースを考慮して好適に第2の環境に再構築する。
【解決手段】環境構築システムは、第2の環境の利用可能リソースの価格を表すリソース価格情報と、利用可能リソースを第2の環境に利用した場合の第2の環境と第1の環境の間の通信経路の距離を表す通信距離情報とを保持し、情報システムのシステム構成情報と、第1の環境が配置されている物理的な場所を表す環境配置情報とを取得し、システム構成情報を分析してシステムの構成を表す分析結果を生成し、分析結果に基づいて第2の環境に求められる要件を表す環境配置方針を決定し、リソース価格情報と通信距離情報と環境配置方針とに基づいて利用可能リソースの中から第2の環境に利用するリソースを選定し、選定されたリソースを用いるようにシステム構成情報を変換し、選定されたリソースを用いて第2の環境を構築し、第2の環境に情報システムを構築する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第1の環境に構築された情報システムを第2の環境に再構築するための環境構築システムであって、
前記第2の環境に利用できるリソースである利用可能リソースについて、前記利用可能リソースの価格を表すリソース価格情報と、前記利用可能リソースを前記第2の環境に利用した場合の前記第2の環境と前記第1の環境の間の通信経路の距離を表す通信距離情報と、を保持するシステム構築情報記憶部と、
前記情報システムの構成を表すシステム構成情報と、前記第1の環境が配置されている物理的な場所を表す環境配置情報と、を取得するシステム構築情報取得部と、
前記システム構成情報を分析して前記情報システムの構成を表す分析結果を生成するシステム構成情報分析部と、
前記分析結果に基づいて、前記第2の環境に求められる要件を表す環境配置方針を決定する環境配置決定部と、
前記リソース価格情報と前記通信距離情報と前記環境配置方針とに基づいて、前記利用可能リソースの中から、前記第2の環境に利用するリソースを選定するリソース選定部と、
前記選定されたリソースを用いるように前記システム構成情報を変換するシステム構成情報変換部と、
前記選定されたリソースを用いて前記第2の環境を構築し、前記第2の環境に前記情報システムを構築するシステム構築部と、
を有する環境構築システム。
【請求項2】
請求項1に記載の環境構築システムであって、
前記システム構築情報取得部は、前記第2の環境を構築する個数についての制約条件を表す第1の制約情報を記したユーザ定義情報を更に取得し、
前記環境配置決定部は、前記第1の制約情報の制約条件を満たすように、前記環境配置方針において第2の環境の個数を決定する、
環境構築システム。
【請求項3】
請求項1に記載の環境構築システムであって、
前記システム構築情報取得部は、前記第2の環境で使用するリソースの価格についての制約条件を表す第2の制約情報を記したユーザ定義情報を更に取得し、
前記リソース選定部は、前記第2の制約情報の制約条件を満たすように、前記第2の環境に利用するリソースを選定する、
環境構築システム。
【請求項4】
請求項1に記載の環境構築システムであって、
前記システム構築情報取得部は、前記第1の環境と前記第2の環境の間の通信経路の距離についての制約条件を表す第3の制約情報を記したユーザ定義情報を更に取得し、
前記リソース選定部は、前記第3の制約情報の制約条件を満たすように、前記第2の環境に利用するリソースを選定する、
環境構築システム。
【請求項5】
請求項1に記載の環境構築システムであって、
前記システム構築情報取得部は、前記第1の環境に構築された情報システムが使用するデータについて、前記第2の環境で使用できるか否かを記した保護データ情報を更に取得し、
前記システム構築部は、前記保護データ情報が前記第2の環境で使用できないデータを、保護が必要な箇所を秘匿するように変換する、
環境構築システム。
【請求項6】
請求項1に記載の環境構築システムであって、
前記リソース価格情報を前記利用可能リソースの提供元から取得し、前記システム構築情報記憶部に格納するリソース価格情報取得部を更に有する、
環境構築システム。
【請求項7】
請求項1に記載の環境構築システムであって、
前記通信距離情報を取得し、前記システム構築情報記憶部に格納する通信距離情報取得部を更に有する、
環境構築システム。
【請求項8】
請求項1に記載の環境構築システムであって、
前記情報システムの性能を検証するためのテストの内容と該テストで期待する性能を表す期待値とを規定したテストケース情報を取得するテスト情報取得部と、
前記テストケース情報を分析して前記内容および前記期待値を表す分析結果を生成するテスト情報分析部と、を更に有し、
前記リソース選定部は、前記分析結果に示されたテストを前記第2の環境の前記情報システムに対して実施したら前記期待値が得られるように、前記第2の環境に利用するリソースを選定する、
環境構築システム。
【請求項9】
第1の環境に構築された情報システムを第2の環境に再構築するための環境構築方法であって、
前記第2の環境に利用できるリソースである利用可能リソースについて、前記利用可能リソースの価格を表すリソース価格情報と、前記利用可能リソースを前記第2の環境に利用した場合の前記第2の環境と前記第1の環境の間の通信経路の距離を表す通信距離情報と、を保持し、
前記情報システムの構成を表すシステム構成情報と、前記第1の環境が配置されている物理的な場所を表す環境配置情報と、を取得し、
前記システム構成情報を分析して前記情報システムの構成を表す分析結果を生成し、
前記分析結果に基づいて、前記第2の環境に求められる要件を表す環境配置方針を決定し、
前記リソース価格情報と前記通信距離情報と前記環境配置方針とに基づいて、前記利用可能リソースの中から、前記第2の環境に利用するリソースを選定し、
前記選定されたリソースを用いるように前記システム構成情報を変換するシステム構成情報変換部と、
前記選定されたリソースを用いて前記第2の環境を構築し、前記第2の環境に前記情報システムを構築する、
ことをコンピュータが実行する環境構築方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報システムの環境を構築する技術に関する。
【背景技術】
【0002】
クラウドサービスでは、サーバやストレージ等のIT(Information Technology)リソース(以下、リソース)をインターネット経由で提供している。そのため、クラウド上のリソースを利用して自由にシステムを構築したり、クラウド上でサービスを提供したりすることが可能になっている。また、クラウドサービスでは、システム運用におけるサーバ増強や負荷分散などの機能も提供されている。そのため、オンプレミスでの運用に比べて、システム管理コストや運用負担を大幅に削減できる。このような背景から、多くの企業がクラウドコンピューティングをユーザとして利用して自身のサービスを提供している。
【0003】
一方で、リソースの仮想化技術も進歩し、多様化している。例えば、物理サーバを論理的に複数に分割し、複数のサーバとして見せる仮想サーバの技術がある。また、サーバで動作するOS(Operating System)のプロセス単位に処理を論理的に分割することにより、複数の物理サーバのリソースを1つのサーバのように見せるコンテナの技術がある。このような仮想化技術の進歩および多様化に伴い、仮想化されたリソースを効率的に管理したり運用したりするためのオーケストレーションツールが開発されている。クラウドサービスの管理においては、サービスそのもののアップデートに加え、オーケストレーションツールの定期的なアップデートも必要とされている。クラウドサービスを提供する企業は、サービスを継続的に提供するために、サービスそのもののアップデートの他、上記のようなオーケストレーションツールの定期的なアップデートにも対応する必要がある。
【0004】
このような提供サービスやオーケストレーションツールをバージョンアップする作業では、まず、バージョンアップ後のサービスやツールが問題なく動作することを検証するための検証環境を構築し、次に、その環境を利用してバージョンアップ後のサービスやツールが問題なく動作することを確認し、その後、バージョンアップ後のサービスやツールを現在運用中のシステム(以下「現用系システム」ともいう)に適用するという流れで工程が進められるのが一般的である。
【0005】
なお、バージョンアップ後のサービスやツールをそれらが実際の運用される環境で利用されているリソースと同様のリソースを使用して検証を行うのが望ましい。そのため、クラウド上でサービスやツールが提供されている場合、バージョンアップ後のサービスやツールの検証に利用する環境(以下「検証環境」ともいう)もクラウド上に構築するのが一般的である。しかし、クラウド上のリソースを利用するには、クラウドベンダに利用料を支払う必要がある。そのため、検証環境を永続的に維持することは多大なコストを要する。そのため、検証環境をそれが必要なときに動的に構築することを可能とし、また、可能な限り安価なリソースで検証環境を構築できることが求められる。
【0006】
検証環境の動的な構築や安価な構築に関し、クラウドベンダからは、クラウドベンダの抱えている利用されていないリソース(以下「余剰リソース」ともいう)をユーザが低コストで利用できるサービスが提供されている。しかし、このサービスは、余剰リソースを安価で提供するサービスであるため、クラウドベンダの都合で強制的に利用が終了される可能性がある。ユーザが利用しているリソース等をクラウドベンダの都合で強制的に利用できなくすることを以下「強制終了」ということがある。特許文献1には、クラスタシステムにおいて、強制終了される可能性があるインスタンスを用いて運用コストを抑えつつ、可用性を確保する方法が開示されている。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1における「強制終了される可能性があるインスタンス」とは、前述の余剰リソースに相当する。特許文献1に開示された方法を検証環境の構築に適用することで、検証環境の運用コストを低減できると考えられる。しかし、単に、安価な余剰リソース(以下「安価なリソース」ともいう)を利用して検証環境を構築することには様々な問題の生じるケースが存在する。例えば、現在運用中のシステムが稼働している環境(以下「稼働環境」ともいう)で実際に利用されているデータベース内の情報を検証環境で利用してバージョンアップ後のサービスやツールの検証を実施する場合がある。このような場合、検証を実行するために稼働環境と検証環境との間で通信が必要になる。
【0009】
しかし、検証環境に単に安価なリソースを利用した場合、そのリソースは、稼働環境から物理的に遠く離れた場所にあるサーバにより提供される可能性がある。このことは、稼働環境と検証環境との間の通信経路の距離を長くし、データ転送に要する時間を長くするので、適切な検証を妨げる要因になる恐れがある。
【0010】
また、検証環境に単に安価なリソースを利用した場合、そのリソースは稼働環境とは異なる国や地域にあるサーバにより提供される可能性がある。しかし、個人情報などの情報を国等の外へ持ち出すことは法制度により規制されている場合がある。例えば、欧州にはGDPR(General Data Protection Regulation)と呼ばれる法律がある。GDPRは、欧州外への個人データ流出を保護する法律である。欧州に構築された稼働環境にてサービスを提供するシステムのデータベースに格納されるデータに、この種の法律によって保護されるデータ(以下「保護データ」ともいう)が含まれていれば、保護データをそのまま欧州外で利用することはできない。検証環境を欧州外に構築しようとすれば、保護データを匿名化したり、保護データをダミーデータに差し替えたりして検証環境に与えることが必要となる。
【0011】
本開示のひとつの目的は、第1の環境に構築された情報システムを第2の環境に再構築する際に、情報システムのシステム構成と、第2の環境に利用するリソースの価格と、第1の環境と第2の環境との間での通信性能と、を考慮した好適な第2の環境の構築を可能にする技術を提供することである。
【課題を解決するための手段】
【0012】
本開示の一態様は、第1の環境に構築された情報システムを第2の環境に再構築するための環境構築システムであって、前記第2の環境に利用できるリソースである利用可能リソースについて、前記利用可能リソースの価格を表すリソース価格情報と、前記利用可能リソースを前記第2の環境に利用した場合の前記第2の環境と前記第1の環境の間の通信経路の距離を表す通信距離情報と、を保持するシステム構築情報記憶部と、前記情報システムの構成を表すシステム構成情報と、前記第1の環境が配置されている物理的な場所を表す環境配置情報と、を取得するシステム構築情報取得部と、前記システム構成情報を分析して前記システムの構成を表す分析結果を生成するシステム構成情報分析部と、前記分析結果に基づいて、前記第2の環境に求められる要件を表す環境配置方針を決定する環境配置決定部と、前記リソース価格情報と前記通信距離情報と前記環境配置方針とに基づいて、前記利用可能リソースの中から、前記第2の環境に利用するリソースを選定するリソース選定部と、前記選定されたリソースを用いるように前記システム構成情報を変換するシステム構成情報変換部と、前記選定されたリソースを用いて前記第2の環境を構築し、前記第2の環境に前記情報システムを構築するシステム構築部と、を有する環境構築システムを提供する。
【発明の効果】
【0013】
本発明によれば、稼働環境のシステム情報に応じて、リソースの利用コストと通信距離の最適化を図ると共に、データ保護に関わる法制度にも対応した検証環境を動的に構築することができる。
【図面の簡単な説明】
【0014】
【
図1】実施の形態1における環境構築システムの機能構成例を示す図である。
【
図2】実施の形態1におけるシステム構築情報記憶部の情報の具体例を示す図である。
【
図3】実施の形態1における稼働環境のシステムの具体例を示す図である。
【
図4】実施の形態1における検証環境へのシステム構築例を示す図である。
【
図5】実施の形態1における検証環境へのシステム構築処理の流れを示すフローチャートの例である。
【
図6】実施の形態2における環境構築システムの機能構成例を示す図である。
【
図7】実施の形態2における稼働環境のシステムの具体例を示す図である。
【
図8】実施の形態2における検証項目を示すテストケース一覧の具体例を示す図である。
【
図9】実施の形態2における検証環境へのシステム構築例を示す図である。
【
図10】実施の形態2における検証環境へのシステム構築処理の流れを示すフローチャートの例である。
【
図11】本開示における環境構築システムを実現するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【0015】
以下、図面を用いて実施の形態を説明する。なお、下記の説明はあくまでも実施の一例に過ぎず、下記の説明に発明が限定されることを意図するものではない。また、以下の説明において、同一または類似の要素および処理に同一の符号を付し、重複説明を省略する。また、後出の実施の形態では、既出の実施の形態との差異を説明し、重複説明を省略する場合がある。また、以下の実施の形態の説明並びに各図で示す構成および処理は、本発明の理解および実施に必要な程度で実施の形態の概要を示すものであり、本発明に係る実施の態様を限定することを意図する趣旨ではない。また、各実施の形態および各変形例は、本発明の趣旨を逸脱せず、互いに整合する範囲内で、一部または全部を組合せることができる。
【0016】
(実施の形態1)
本実施の形態では、稼働環境のシステムの情報に応じて、リソースの利用コストと通信距離の最適化を図ると共に、データ保護に関わる法制度にも対応した検証環境を動的に構築する処理を示す。
【0017】
まず、本実施の形態における環境構築システムSが有する機能の構成例について、
図1を用いて説明する。
図1は、実施の形態1における環境構築システムSが有する機能の構成例を示す図である。
【0018】
環境構築システムSは、第1の環境に構築された情報システムを第2の環境に再構築するためのシステムである。なお、本実施の形態では、第1の環境が「稼働環境」であり、第2の環境が「検証環境」である例を説明するが、第1の環境および第2の環境はこれらに限られない。
【0019】
図1に示すように、環境構築システムSは、システム構築情報取得部100、システム構成情報分析部101、環境配置決定部102、リソース選定部103、システム構成情報変換部104、システム構築部105、システム構築情報記憶部106、リソース価格情報取得部107、および通信距離情報取得部108を含んで構成される。
【0020】
システム構築情報記憶部106は、システム構成情報1061、リソース価格情報1062、通信距離情報1063、保護データ情報1064、環境配置情報1065、ユーザ定義情報1066を保持する。
【0021】
環境構築システムSは、リソース価格情報1062を、ネットワーク109を介して、リソース価格情報提供サーバ110から取得してよい。リソース価格情報1062は、第2の環境に利用できるリソースである利用可能リソースについて、当該利用可能リソースの価格を表す。
【0022】
環境構築システムSは、通信距離情報1063を、ネットワーク109を介して、リソース提供サーバ群111から取得してよい。通信距離情報1063は、利用可能リソースを第2の環境に利用した場合の第2の環境と第2の環境との間の通信経路の距離を表す。
【0023】
なお、ネットワーク109、リソース価格情報提供サーバ110およびリソース提供サーバ群111を、まとめて連携部と称してもよい。
【0024】
次に、システム構築情報取得部100によるシステム構築情報記憶部106への情報登録について説明する。システム構築情報取得部100は、環境構築システムSを利用するユーザから入力された情報を取得したり、稼働環境のシステムが構築された構築サーバから情報を取得したりする。例えば、システム構築情報取得部100は、システム構成情報1061、保護データ情報1064、環境配置情報1065、およびユーザ定義情報1066を取得する。
【0025】
ここで、
図2を用いて、本実施の形態における各情報の一例について説明する。
図2は、実施の形態1におけるシステム構築情報記憶部106に記憶される情報の一例を示す図である。
【0026】
まず、システム構成情報1061について説明する。システム構成情報1061は、情報システムの構成を表す情報であり、オーケストレーションツール等により、システムを自動構築する際に用いられる情報である。例えば、システム構成情報1061は、システム定義項目とその設定値から構成される。システム定義項目は、利用するリソースを指定するものであり、コンテナやストレージ、ネットワーク等を含む。また、設定値としては、コンテナの場合にはコンテナの名前や利用するイメージ、ポート番号等が記載される。なお、各情報を階層化して記述することにより、各リソースの配置情報や接続関係などを記すことが可能である。このシステム構成情報1061をオーケストレーションツール等で読み込んで実行することにより、任意の場所にシステムを構築することが可能になる。システム構成情報1061の例として、Kubernetes(KubernetesはThe Linux Foundationの米国およびその他の国における商標または登録商標である)のmanifestや、Docker(DockerはDocker,Inc.の米国およびその他の国における商標または登録商標である)のDocker-compose等が挙げられる。
【0027】
なお、
図2では、システム構築情報記憶部106が、稼働環境(第1の環境)のシステムのシステム構成情報1061と、検証環境(第2の環境)に構築するシステムのシステム構成情報1061とを記憶する例を示しているが、システム構築情報取得部100が取得する情報は、稼働環境のシステムのシステム構成情報1061であってよい。
【0028】
システム構築情報取得部100は、稼働環境のシステムのシステム構成情報1061を、環境構築システムSを利用するユーザから取得してもよいし、稼働環境のシステムが構築された構築サーバから取得してもよい。
【0029】
次に、保護データ情報1064について説明する。保護データ情報1064は、稼働環境(第1の環境)に構築された情報システムが使用するデータについて、検証環境(第2の環境)で使用できるか否かを記す。例えば、保護データ情報1064は、稼働環境のシステムが利用するデータベースが保持する情報の、法制度上での保護の必要性を記した情報である。保護データ情報1064は、稼働環境のシステムの管理ユーザ等、利用データを把握しているユーザから取得されてよい。
【0030】
次に、環境配置情報1065について説明する。環境配置情報1065は、第1の環境(または第2の環境)が配置されている物理的な場所を表す。すなわち、環境配置情報1065は、稼働環境や検証環境が配置されているエリアを示すエリア情報である。エリアとは、クラウドベンダがリソース提供を行うためのデータセンタを設置している場所のことであり、大手クラウドベンダは、世界各国にデータセンタを設置している。
【0031】
システム構築情報取得部100が取得するものは、稼働環境の環境配置情報1065であってよい。システム構築情報取得部100は、稼働環境の環境配置情報1065を、環境構築システムSを利用するユーザから取得してもよいし、稼働環境のシステムが構築された構築サーバから取得してもよい。
【0032】
次に、ユーザ定義情報1066について説明する。ユーザ定義情報1066は、検証環境の構築で使用するリソースを選定する際に考慮されるユーザ要件に関わる情報である。
図2では、ユーザ定義情報1066が、使用するリソースの価格の制約と、稼働環境と検証環境との間で通信を行う場合を想定したネットワーク遅延に関する応答時間の制約と、検証環境の分割構築の制約と、を保持する例を示す。ユーザ定義情報1066は、環境構築システムSを利用するユーザから取得される。
【0033】
次に、システム構成情報分析部101および環境配置決定部102による検証環境の配置方針の決定について説明する。
【0034】
システム構成情報分析部101は、システム構築情報記憶部106から稼働環境のシステム構成情報1061を取得して分析し、システムの構成を表す分析結果を生成する。システム構成情報分析部101は、分析結果として、コンテナの配置情報やデータベースの有無、各コンテナとデータベースの接続関係などを得る。
【0035】
ここで、
図3を用いて、本実施の形態におけるシステム構成情報1061の分析結果の一例を説明する。
図3は、システム構成情報1061の分析結果を視覚的に示したものであり、実施の形態1における稼働環境のシステムの一例を示す図である。
【0036】
稼働環境のシステムは、クラウド環境300上に構築されており、クラウドベンダが保有するエリアの1つであるエリアA301が提供するリソースを用いて構築されている。
【0037】
また、この稼働環境のシステムは、サービス実行単位302および303から構成されている。「サービス実行単位」とは、特定のサービスを実現するリソースの集合体である。サービス実行単位302は、サービスX304単体で構成されている。サービス実行単位303は、サービスY305とサービスZ306、そして、データベースY307とデータベースZ308から構成されている。サービス実行単位内の各リソースは、互いにネットワークやストレージを共有することで特定のサービスを実現する。つまり、
図3に示す稼働環境のシステムは、サービス実行単位302および303により、互いに独立した2つのサービスを提供している。
【0038】
環境配置決定部102は、システム構成情報分析部101の分析結果に基づいて、検証環境(第2の環境)に求められる要件を表す環境配置方針を決定する。検証環境の環境配置方針の例として、サービス実行単位で検証環境を分割構築する方法が挙げられる。例えば、サービス実行単位302は、サービスX304単体で動作するものであり、検証において稼働環境と通信を行う必要がないため、稼働環境との通信距離よりもリソース価格削減を優先したリソース選定が有効である。一方、サービス実行単位303は、データベースを利用したサービスであり、検証において稼働環境のデータベースの情報を用いることが想定される。そのため、稼働環境との通信におけるネットワーク遅延を考慮し、リソース価格よりも稼働環境との通信距離を優先したリソース選定が有効である。このように異なる観点でリソース選定を行う方が有効なサービスが混在しているシステムでは、サービス実行単位で検証環境を分割構築することが有効であると判断することができる。
【0039】
なお、検証内容によっては、サービス実行単位302とサービス実行単位303により提供される2つのサービス間の通信を検証する可能性がある。そのような場合、検証環境を構築するユーザは、検証環境を分割することを求めない。この場合、環境配置決定部102は、システム構築情報記憶部106に保持されるユーザ定義情報1066を参照し、ユーザ要件として記載されている検証環境の分割構築の制約を確認した上で最終的な配置方針を決定する。これにより、ユーザの意図に反した検証環境構築を行わないようにすることができる。
【0040】
次に、検証環境で利用するリソースを選定するために必要な情報を外部ネットワークから取得する、リソース価格情報取得部107および通信距離情報取得部108について説明する。
【0041】
まず、リソース価格情報取得部107について説明する。リソース価格情報取得部107は、リソース価格情報1062を利用可能リソースの提供元から取得し、システム構築情報記憶部106に格納する。これにより、リソース価格情報取得部107は、リソース価格情報1062を容易に取得することができる。例えば、リソース価格情報取得部107は、ネットワーク109を介して、リソース価格情報提供サーバ110と接続されている。リソース価格情報提供サーバ110は、クラウドベンダの情報提供サーバであり、クラウドベンダがサービス提供を行っているエリアごとのリソース価格を公開している。リソース価格情報取得部107は、このリソース価格の情報をリソース価格情報提供サーバ110から取得し、システム構築情報記憶部106にリソース価格情報1062として格納する。ソース価格情報1062は、例えば
図2に示すように、クラウドベンダがサービス提供を行っている各エリアについて、時間当たりのリソース利用価格を示す情報を含む。
【0042】
次に、通信距離情報取得部108について説明する。通信距離情報取得部108は、通信距離情報1063を取得し、システム構築情報記憶部106に格納する。これにより、通信距離情報取得部108は、通信距離情報1063を容易に取得することができる。例えば、通信距離情報取得部108は、ネットワーク109を介して、リソース提供サーバ群111と接続されている。リソース提供サーバ群111は、クラウドベンダがサービス提供を行っている各エリアに設置されているリソース提供サーバを含んでいる。ここでは、リソース提供サーバA1111はエリアAでリソース提供を行うサーバを表し、リソース提供サーバB1112はエリアBでリソース提供を行うサーバを表し、リソース提供サーバC1111はエリアCでリソース提供を行うサーバを表している。
【0043】
通信距離情報取得部108は、稼働環境と各エリアとの通信距離を計測し、その計測結果を通信距離情報1063としてシステム構築情報記憶部106に格納する。計測方法の一例として、応答時間による測定が挙げられる。例えば、通信距離情報取得部108は、稼働環境から各エリアに設置されたリソース提供サーバにHTTPリクエストを送信し、その応答が返ってくるまでの時間を測定し、このようにして得られた応答時間を通信距離情報として取得する。
【0044】
なお、本実施の形態では、環境構築システムSが稼働環境と同じエリアに構築されていることを前提としており、環境構築システムSと各エリアの通信距離を測定することで、稼働環境と各エリアの通信距離情報1063を得る構成を示している。もし、環境構築システムSが稼働環境と異なるエリアに配置されている場合には、稼働環境の配置されているエリアに通信距離情報取得部108を配置し、そこで得られた応答時間を通信距離情報1063としてシステム構築情報記憶部106に格納するようにすればよい。例えば、通信距離情報1063は、
図2に示すように、クラウドベンダがサービス提供を行っている各エリアについて、各エリアに設置されたリソース提供サーバに対する応答時間を示す情報を含む。
【0045】
次に、リソース選定部103、システム構成情報変換部104、およびシステム構築部105による検証環境の構築方法について説明する。
【0046】
リソース選定部103は、システム構築情報記憶部106に格納されたリソース価格情報1062と通信距離情報1063と上記した環境配置方針と基づいて、利用可能リソースの中から、検証環境(第2の環境)に利用するリソースを選定する。リソース選定部103は、さらにユーザ定義情報1066も用いて、検証環境に利用するリソースを選定してよい。
【0047】
例えば、システム構成情報分析部101による分析結果が、稼働環境のシステムが
図3に示す構成であることを示すとする。また、ユーザ定義情報1066が、検証環境に関するユーザ要件として、検証環境の分割構築を許可しているとする。この場合、稼働環境のシステムに注目すると、先に述べたように、サービス実行単位302は、リソース価格削減を優先したリソース選定が有効であり、サービス実行単位303は、稼働環境との通信距離を優先したリソース選定が有効である。そこで、リソース選定部103は、サービス実行単位ごとに、リソース価格情報1062および通信距離情報1063に基づいて最適なリソース提供エリアを選定する。また、この場合、リソース選定部103は、ユーザ定義情報1066に含まれるリソース価格および/または応答時間に関するユーザ要件を満たすように、リソースを選定する。リソース選定部103は、選定したリソース提供エリアの情報を、システム構築情報記憶部106の環境配置情報1065に登録する。例えば、
図2に示す環境配置情報1065は、サービス実行単位ごとに2つの検証環境を構築する場合を示し、検証環境1としてエリアBを、検証環境2としてエリアCを選定した場合を示す。
【0048】
次に、システム構成情報変換部104について説明する。システム構成情報変換部104は、システム構築情報記憶部106に格納されたシステム構成情報1061を取得し、検証環境に構築するシステム構成に応じてシステム構成情報1061を変更する。例えば、上述したように、サービス実行単位ごとに2つの検証環境を構築する場合、システム構成情報変換部104は、それぞれの検証環境を構築するために、2つのシステム構成情報1061を生成する。このとき、システム構成情報変換部104は、システム構成情報1061に記述されたシステム構成について、サービス実行単位の界面で記述を切り分け、2つのシステム構成情報1061を生成してよい。
【0049】
また、このとき、システム構成情報変換部104は、システム構成情報1061に記述する利用リソースの指定を変更してもよい。例えば、稼働環境のシステムが永続的に利用可能なオンデマンド提供のリソースを利用している場合、そのシステム構成情報1061では、オンデマンドのリソースの利用が指定されてよい。そこで、システム構成情報変換部104は、そのオンデマンドのリソースの利用を、リソース選定部103にて選定された安価なリソースの利用に変更する。
【0050】
また、システム構成情報変換部104は、稼働環境のシステムと検証環境のシステムとの差分、つまり、検証項目となるアップデート差分を、システム構成情報1061に反映する。例えば、システム構成情報変換部104は、システム上で動作するコンテナをアップデートし、その動作検証を行うために検証環境を構築する場合、システム構成情報1061において指定されるコンテナイメージをアップデート版に変更する。
【0051】
システム構成情報変換部104は、このようにして生成したシステム構成情報1061をシステム構築情報記憶部106に格納する。例えば、システム構成情報1061は、
図2に示すように、検証環境1および検証環境2として、サービス実行単位ごとに2つの検証環境を構築する場合を想定しており、それぞれの環境を構築するためのシステムの構成情報を含んでよい。
【0052】
次に、システム構築部105について説明する。システム構築部105は、選定されたリソースを用いて検証環境(第2の環境)を構築し、検証環境に情報システムを構築する。例えば、システム構築部105は、システム構築情報記憶部106からシステム構成情報1061、保護データ情報1064、および環境配置情報1065を取得し、それらの情報に基づいて検証環境に情報システムを構築する。例えば、システム構築部105は、システム構成情報1061から、検証環境の構築に必要なシステムの構成情報を得る。例えば、
図2に示したシステム構成情報1061には、検証環境構築用のシステムの構成情報が2つ格納されており、それぞれのシステムの構築先のエリアについては、環境配置情報1065を参照することで確認することができる。したがって、システム構築部105は、オーケストレーションツール等にシステム構成情報1061を与えることで、環境配置情報1065に記述されたエリアに対して各検証環境を自動構築することができる。
【0053】
なお、稼働環境のシステムがデータベースを利用している場合には、保護データ情報1064を参照することで各データベースが保有する情報に関して法制度における保護の必要性を確認できるため、保護が必要な情報の匿名化も併せて実施することができる。匿名化の処理は如何なる方法で実現されてもよく、例えば、データベース上の各フィールドの値を別の値に書き換える方法などが挙げられる。例えば、任意のフィールドの値が「ABC」という文字列であった場合、全ての文字を「X」に書き換える処理を実施することで「XXX」という文字列に変換し、これを新しいフィールドの値とすることで匿名化が可能になる。
【0054】
上述した環境構築システムSの構成によれば、稼働環境(第1の環境)に構築された情報システムを検証環境(第2の環境)に再構築する際に、情報システムのシステム構成と、第2の環境に利用するリソースの価格と、第1の環境と第2の環境との間での通信性能と、を考慮した好適な第2の環境の構築が可能となる。
【0055】
次に、
図4および
図5を用いて、本実施の形態における環境構築システムSを用いた検証環境へのシステム構築の一例について説明する。
【0056】
図4は、実施の形態1における検証環境へのシステム構築例を示す図である。環境構築システムS、ネットワーク109、リソース価格情報提供サーバ110、および、リソース提供サーバ群111については、
図1で示したものと同一のものである。また、以降の説明により構築される検証環境の構成を、クラウド環境300上に記載している。
【0057】
図5は、実施の形態1における検証環境へのシステム構築処理の流れを示すフローチャートの例である。次に、
図5を用いて、環境構築システムSを用いた検証環境へのシステム構築処理について説明する。
【0058】
まず、システム構築情報取得部100は、稼働環境のシステム構成情報1061、保護データ情報1064、環境配置情報1065、および、ユーザ定義情報1066を取得し、システム構築情報記憶部106に格納する(S501)。
【0059】
システム構成情報1061および環境配置情報1065は、環境構築システムSを利用するユーザがユーザ操作端末400に入力したものであってよい。例えば、システム構築情報取得部100は、ユーザ操作端末400からネットワーク109を介して環境構築システムSに送信されたシステム構成情報1061および環境配置情報1065を取得する。ユーザ操作端末400は、例えばPC(Personal Computer)やタブレット端末であり、ユーザから情報の入力を受け付ける機能、および端末の外部から取得した情報をユーザに提示(出力)する機能を備える。
【0060】
システム構成情報1061は、構築サーバ401において稼働環境のシステムを構築するために使用されたものであってよい。例えば、システム構築情報取得部100は、当該構築サーバ401からネットワーク109を介して環境構築システムSに送信されたシステム構成情報1061を取得する。
【0061】
保護データ情報1064は、稼働環境のシステムの管理ユーザ等や利用データを把握しているユーザがユーザ操作端末400に入力したものであってよい。例えば、システム構築情報取得部100は、ユーザ操作端末400からネットワーク109を介して環境構築システムSに送信された保護データ情報1064を取得する。
【0062】
ユーザ定義情報1066は、環境構築システムSを利用するユーザがユーザ操作端末400に入力したものであってよい。例えば、システム構築情報取得部100は、ユーザ操作端末400からネットワーク109を介して環境構築システムSに送信されたユーザ定義情報1066を取得する。
【0063】
次に、システム構成情報分析部101は、システム構築情報記憶部106から稼働環境のシステム構成情報1061を取得し、システム構成を分析する(S502)。
【0064】
環境配置決定部102は、S502の分析結果に基づいて、システムを複数環境に配置することで最適な環境を構築可能であるかを判定する(S503)。例えば、環境配置決定部102は、S502の稼働環境のシステム構成の分析結果が、
図3に示すようなシステム構成を示すものである場合、リソース価格削減を優先したリソース選定が有効なサービス実行単位302と、稼働環境との通信距離を優先したリソース選定が有効なサービス実行単位303とで、異なる検証環境を構築した方が良いと判断する。
【0065】
異なる検証環境を構築した方が良いと判断した場合(S503:Yes)、環境配置決定部102は、システム構築情報記憶部106からユーザ定義情報1066を取得し、ユーザ定義情報1066に検証環境(第2の環境)を構築する個数についての制約条件を表す第1の制約情報が記されているか否かを確認する。すなわち、環境配置決定部102は、ユーザ定義情報1066において複数の検証環境の構築が許可されているか否かを確認する(S504)。複数の検証環境の構築が許可されている場合、環境配置決定部102は、複数の検証環境を構築するように配置方針を決定する(S505)。これにより、検証環境(第2の環境)を複数に分けることについてユーザが定義した条件を満たすように検証環境(第2の環境)を構築することができる。
【0066】
複数の検証環境の構築が許可されていない場合や、そもそも異なる検証環境を構築する必要性が無い場合(S503:No)、環境配置決定部102は、単一の検証環境を構築するように配置方針を決定する(S505)。
【0067】
次に、リソース価格情報取得部107は、クラウドベンダがサービス提供を行っている各エリアにおけるリソース価格情報1062を取得し、システム構築情報記憶部106に格納する(S506)。
【0068】
次に、通信距離情報取得部108は、各エリアまでの通信距離情報1063を取得し、システム構築情報記憶部106に格納する(S507)。
【0069】
次に、リソース選定部103は、システム構築情報記憶部106から、リソース価格情報1062、通信距離情報1063、ユーザ定義情報1066を取得し、各情報に基づいて最適な使用リソースを選定し、そのリソースの提供エリアを検証環境の配置エリア情報として、システム構築情報記憶部106の環境配置情報1065に格納する(S508)。
【0070】
ここでは、ステップS503で異なる検証環境を構築した方が良いと判定され、ステップS504で複数の検証環境の構築が許可されている場合について説明する。また、リソース価格情報1062、通信距離情報1063、ユーザ定義情報1066が
図2に示したものであるとして説明する。
図2に示すように、ユーザ定義情報1066には、検証環境(第2の環境)で使用するリソースの価格についての制約条件を表す第2の制約情報が記されている。また、ユーザ定義情報1066には、稼働環境(第1の環境)と検証環境(第2の環境)の間の通信経路の距離についての制約条件を表す第3の制約情報が記されている。
【0071】
ステップS503で判定した通り、リソース選定部103は、サービス実行単位302についてはリソース価格削減を優先したリソース選定を行うことで検証環境1を構築し、サービス実行単位303については稼働環境との通信距離を優先したリソース選定を行うことで検証環境2を構築する。
【0072】
リソース選定部103は、ユーザ定義情報1066に記された第2の制約情報が示す制約条件と第3の制約情報が示す制約条件とを満たすように、検証環境(第2の環境)に利用するリソースを選定する。例えば、リソース選定部103は、
図2に示すユーザ定義情報1066に基づいて、リソース価格が「$0.15/時間以下」、応答時間が「0.1秒以内」となるようにリソースを選定する。これにより、検証環境(第2の環境)のリソースの価格についてユーザが定義した条件を満たすように検証環境(第2の環境)を構築することができる。また、検証環境(第2の環境)の稼働環境(第1の環境)との通信経路の距離についてユーザが定義した条件を満たすように検証環境(第2の環境)を構築することができる。
【0073】
まず、サービス実行単位302については、リソース価格削減を検討するため、リソース選定部103は、リソース価格情報1062を参照し、最も安価なリソースが提供されているエリアを検証環境の配置先として選定する。リソース価格情報1062を参照すると、最も安価なリソースを提供しているのはエリアBで、$0.08/時間であることがわかる。また、通信距離情報1063を参照すると、エリアBの応答時間は0.1秒であることがわかる。何れもユーザ定義情報1066に記されたユーザ要件を満たしているため、リソース選定部103は、エリアBを検証環境1の構築エリアとして選定する。
【0074】
次に、サービス実行単位303については、稼働環境との通信距離を検討するため、リソース選定部103は、通信距離情報1063を参照し、最も通信距離の短いリソースが提供されているエリアを検証環境の配置先として選定する。通信距離情報1063を参照すると、最も通信距離の短いリソースを提供しているのはエリアAで、0.03秒であることがわかる。しかし、リソース価格情報1062を参照すると、エリアAのリソース価格は$0.2/時間であり、ユーザ定義情報1066に記されたユーザ要件を満たさないことがわかる。そこで、次に通信距離の短いリソースを提供しているエリアを選定すると、エリアCの0.05秒であることがわかる。また、リソース価格情報1062を参照すると、エリアCのリソース価格は$0.1/時間であり、何れもユーザ定義情報1066に記されたユーザ要件を満たしているため、リソース選定部103は、エリアCを検証環境2の構築エリアとして選定する。
【0075】
リソース選定部103は、このようにして選定したエリアを検証環境の配置エリア情報を環境配置情報1065として、システム構築情報記憶部106に格納する。
【0076】
次に、システム構成情報変換部104は、システム構築情報記憶部106から稼働環境のシステム構成情報1061を取得し、リソース選定部103で選定したリソースを用いた構成になるようにシステム構成情報1061を変換し、検証環境のシステム構成情報1061としてシステム構築情報記憶部に格納する(S509)。
【0077】
本実施の形態では、サービス実行単位302について、リソース価格削減を優先した検証環境1を構築し、サービス実行単位303について、稼働環境との通信距離を優先した検証環境2を構築すると判断している。
【0078】
そこで、システム構成情報変換部104は、稼働環境のシステム構成情報1061の記述について、サービス実行単位の界面で記述の切り分けを行い、検証環境1を構築するためのシステム構成情報1061と、検証環境2を構築するためのシステム構成情報1061とを生成する。
【0079】
さらに、システム構成情報変換部104は、リソース選定部103で選定した安価なリソースを使用するようにシステム構成情報1061を書き換える。そして、システム構成情報変換部104は、稼働環境のシステムと検証環境のシステムの差分、つまり、検証項目となるアップデート差分をシステム構成情報1061に反映する。システム構成情報変換部104は、このようにして生成したシステム構成情報1061を、システム構築情報記憶部106に格納する。
【0080】
次に、システム構築部105は、システム構築情報記憶部106から、検証環境のシステム構成情報1061、保護データ情報1064、および環境配置情報1065を取得し、各情報を用いて検証環境を構築する(S510)。
【0081】
例えば、システム構築部105は、システム構成情報1061として、検証環境1を構築するためのシステム構成情報1061と、検証環境2を構築するためのシステム構成情報1061とを取得する。さらに、システム構築部105は、環境配置情報1065を参照し、それぞれの検証環境を構築するエリアを確認する。システム構築部105は、取得したシステム構成情報1061をオーケストレーションツール等に与え、指定されたエリアに各検証環境を自動構築する。
【0082】
また、システム構築部105は、保護データ情報1064が検証環境(第2の環境)で使用できないデータを、保護が必要な箇所を秘匿するように変換する。例えば、システム構築部105は、保護データ情報1064を参照し、稼働環境のシステムが利用しているデータベースの保有情報について、法制度上での保護の必要性を確認する。システム構築部105は、保護が必要なデータを有している場合、検証環境で利用する前にデータの匿名化を実施する。これにより、個人情報の保護等の観点から稼働環境(第1の環境)のデータが検証環境(第2の環境)でそのまま使用できない場合にも必要な箇所を秘匿することで使用することが可能となる。つまり、法制度にも対応した検証環境を構築できる。
【0083】
本実施の形態によれば、稼働環境のシステムの情報に応じて、リソースの利用コストと通信距離の最適化を図ると共に、データ保護に関わる法制度にも対応した検証環境を動的に構築することができる。
【0084】
(実施の形態2)
本実施の形態では、稼働環境のシステムの情報に加え、検証環境で実施するテスト内容も考慮することにより、リソースの利用コストと通信距離の最適化を図ると共に、データ保護に関わる法制度にも対応した検証環境を動的に構築する処理を示す。
【0085】
まず、
図6を用いて、本実施の形態における環境構築システムSの機能構成例について
図6を用いて説明する。
図6は、実施の形態2における環境構築システムの機能構成例を示す図である。
【0086】
図6に示す実施の形態2における環境構築システムSが有する機能の構成例は、実施の形態1における
図1と比較して、テスト情報取得部600とテスト情報分析部601とを含む点が異なり、その他は同一である。
【0087】
実施の形態1では、稼働環境のシステム構成情報1061に基づいて検証環境のリソースを選定する構成を示したが、実施の形態2では、稼働環境のシステム構成情報1061に加え、検証環境で実施するテスト内容についても考慮して検証環境のリソースを選定する点が異なる。
【0088】
テスト情報取得部600は、情報システムの性能を検証するためのテストの内容と該テストで期待する性能を表す期待値とを規定したテストケース情報800(
図8参照)を取得する。
【0089】
テスト情報分析部601は、テストケース情報800を分析して上記テストの内容および上記期待値を表す分析結果を生成する。
【0090】
リソース選定部103は、テスト情報分析部601による分析結果に示されたテストを検証環境(第2の環境)の情報システムに対して実施したら期待値が得られるように、検証環境(第2の環境)に利用するリソースを選定する。
【0091】
上述した環境構築システムSの構成によれば、テストの内容および期待値を考慮したリソースの選定が可能となる。以下、詳細に説明する。
【0092】
図7を用いて、本実施の形態で取扱う稼働環境のシステム構成について説明する。
図7は、実施の形態2における稼働環境のシステムの一例を示す図である。
【0093】
図7に示す実施の形態2における稼働環境のシステムは、実施の形態1における
図3と比較して、サービスX304がネットワーク109を介して、オンプレミス環境700に設置されたデータベースX701と通信を行う構成になっている点が異なり、その他は同一である。
【0094】
次に、
図8を参照して、本実施の形態において、検証環境での実施を想定したテスト内容について説明する。
図8は、実施の形態2における検証項目を示すテストケース情報800の一例を示す図である。
【0095】
図8では、テストケース情報800に含まれるテストケースとして3つのテストケースを示している。
【0096】
テストケース#1および#2は、特定のサービスとデータベース間のトランザクション性能の検証項目を示し、テストケース#3は、特定のサービス間のスループット性能の検証項目を示す。また、それぞれのテストケースにおける期待値が記されており、これを満たすことが検証における合格基準となる。
【0097】
次に、
図9および
図10を用いて、本実施の形態における環境構築システムSを用いた検証環境へのシステム構築の一例について説明する。
【0098】
図9は、実施の形態2における検証環境へのシステム構築例を示す図である。
【0099】
図9では、以降の説明により構築される検証環境の構成を、クラウド環境300上に記載している。また、クラウド環境300に接続されたネットワーク109、オンプレミス環境700、および、データベースX701を除く他の構成要素は、
図4で示した構成要素と同一である。
【0100】
図10は、実施の形態2における検証環境へのシステム構築処理の流れを示すフローチャートの例である。
【0101】
図10に示すフローチャートは、実施の形態1における
図5に示すフローチャートと比較して、ステップS1001が追加されている点と、ステップS508がステップS1002に置き換えられている点が異なる。これに伴い、以下では、実施の形態1と異なる部分を中心に説明する。次に、
図10のフローチャートを用いて、環境構築システムSを用いた検証環境へのシステム構築処理について説明する。
【0102】
ステップS501からステップS507までの処理は、
図5に示す実施の形態1における処理と同一であるため、説明を省略する。なお、ステップS501からステップS507までの処理によりシステム構築情報記憶部106に格納される情報は、
図2と同様であるとする。また、ステップS502で得られる稼働環境のシステム構成は、
図7に示すものであるとする。また、ステップS503では、実施の形態1と同様、サービス実行単位302については、リソース価格削減を優先したリソース選定により検証環境を構築し、サービス実行単位303については、稼働環境との通信距離を優先したリソース選定により検証環境を構築することが最適であると判断したものとする。
【0103】
続いて、テスト情報取得部600は、検証環境で実施するテストケース情報800を取得する。テスト情報分析部601は、当該テストケース情報800とシステム構成情報分析部101による分析結果とを合わせて、テスト内容を分析する(S1001)。
【0104】
テストケース情報800は、テストを実施するユーザがユーザ操作端末400から入力したものであってよい。テスト情報取得部600は、ユーザ操作端末400がネットワーク109を介して環境構築システムSに送信したテストケース情報800を取得してよい。
【0105】
テスト内容の分析では、テストケース情報800と、
図7に示す稼働環境のシステム構成を示す情報とを用いて、検証環境の構成によって検証結果に影響を及ぼすか否かを判定する。例えば、テストケース#1は、サービスXとデータベースXのトランザクション性能の検証である。仮に、サービスX304のアップデートに伴う検証を検証環境で実施する場合、サービスX304を含むサービス実行単位302を検証環境に構築することになる。しかし、データベースX701はオンプレミス環境700に設置されたものであるため、検証環境がオンプレミス環境から遠く離れたエリアに構築されてしまうと、サービスX304とデータベースX701と間の通信距離が長くなり、トランザクション性能の検証結果に影響を及ぼす可能性がある。したがって、サービスX304を含むサービス実行単位302を配置する検証環境は、オンプレミス環境に近いエリアにするべきであると判断できる。
【0106】
同様にして、テストケース#2および#3についても分析を行うと、何れのテストケースもサービス実行単位303の内部に閉じた検証内容であることがわかる。つまり、テストケース#2および#3については、検証環境を構築するエリアによる検証結果への影響は無いものと判断できる。
【0107】
次に、リソース選定部103は、システム構築情報記憶部106から、リソース価格情報1062、通信距離情報1063、およびユーザ定義情報1066を取得する。そして、リソース選定部103は、取得したこれらの情報と、ステップS1001におけるテスト内容の分析結果とに基づいて、最適な使用リソースを決定する。そして、リソース選定部103は、その決定した使用リソースの提供エリアを検証環境の配置エリア情報として、システム構築情報記憶部106の環境配置情報1065に登録する(S1002)。
【0108】
ステップS503で判定した通り、サービス実行単位302については、リソース価格削減を優先したリソース選定を行うことで検証環境1を構築し、サービス実行単位303については、稼働環境との通信距離を優先したリソース選定を行うことで検証環境2を構築する。ただし、本実施の形態では、検証環境で実施するテスト内容の分析結果(S1001)も考慮したリソース選定を行う。例えば、ステップS503において、サービス実行単位302についてはリソース価格削減を優先したリソース選定を行うと判断したが、ステップS1001において、サービス実行単位302の検証環境はオンプレミス環境700に近いエリアに構築するべきであると判断している。検証の目的を考慮すると、コストよりも検証結果への影響を小さくすることが重要となる。そこで、サービス実行単位302については、元々稼働環境が配置されているエリアと同じ、エリアA301を検証環境1の構築エリアとして選定する。一方、サービス実行単位303については、検証結果への影響が小さいため、ステップS503で判定した通り、稼働環境との通信距離を優先したリソース選定を行い、エリアC403を検証環境2の構築エリアとして選定する。リソース選定部103は、このようにして選定されたエリアを検証環境の配置エリア情報として、システム構築情報記憶部106の環境配置情報1065に登録する。
【0109】
以降、ステップS509からステップS510までの処理は、実施の形態1と同一であるため説明を省略する。
【0110】
本実施の形態によれば、稼働環境のシステムの情報に加え、検証環境で実施するテスト内容も考慮することにより、リソースの利用コストと通信距離の最適化を図ると共に、データ保護に関わる法制度にも対応した検証環境を動的に構築することができる。
【0111】
図11は、本開示の環境構築システムSを実現するコンピュータのハードウェア例を示す図である。
【0112】
環境構築システムSを実現するコンピュータ1100は、CPU(Central Processing Unit)に代表されるプロセッサ1103、RAM(Random Access Memory)等のメモリ1104、入力装置1106(例えばキーボード、マウス、タッチパネル等)、および出力装置1107(例えば外部ディスプレイモニタに接続されたビデオグラフィックカード)が、メモリコントローラ1105を通して相互接続される。
【0113】
コンピュータ1100において、所定のプログラムがI/O(Input/Output)コントローラ1102を介してSSD(Solid State Drive)やHDD(Hard Disk Drive)等の外部記憶装置1108から読み出されて、プロセッサ1103およびメモリ1104の協働により実行されることにより、環境構築システムSが実現される。あるいは、環境構築システムSを実現するための各プログラムは、ネットワークインターフェース1101を介した通信により外部のコンピュータから取得されてもよい。または、リージョン選定システムSを実現するためのプログラムは、可搬型記憶媒体に格納され、媒体読み取り装置によって読み取られて、プロセッサ1103およびメモリ1104の協働により実行されてもよい。
【0114】
なお、実施例1および実施例2において、稼働環境がクラウド上に構築されている場合について示したが、稼働環境がオンプレミス環境に構築されていてもよい。
【0115】
また、実施例2では、検証環境で実施するテスト内容を考慮し、コストよりも検証結果への影響を無くすことを優先した検証環境の構築方法を示した。しかし、検証結果への影響を無くすことを優先することで、コストが高くなり、ユーザ要件を満たさない場合が想定される。実際、実施例2で選定した検証環境の構築エリア(エリアA)におけるリソース価格は$0.2/時間であり、ユーザ定義情報1066に記されたユーザ要件を満たしていない。そこで、このようにユーザ要件を満たさない判定が行われた場合には、環境構築システムSを利用するユーザに対して、構築方法についての確認を行う処理を実装し、ユーザの判断に応じて、検証環境を構築するようにしても良い。この場合、環境構築システムSはネットワーク109を介してユーザ操作端末400に情報を出力することでユーザへの確認処理を実現できる。また、ユーザは、ユーザ操作端末400に検証環境の構築方法を入力することで、ネットワーク109を介して環境構築システムSに指示を出すことができる。
【0116】
なお、本発明は上記した実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加、削除または置換をすることが可能である。また、各実施の形態の処理における各ステップは、同一結果を得ることができる限りにおいて適宜順序を入れ替えて実行されてもよい。
【0117】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、HDD、SSD等の記憶部、または、ICカード、半導体記録媒体、磁気記録媒体、光学記録媒体に格納することができる。
【0118】
また、図面における制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0119】
100…システム構築情報取得部、101…システム構成情報分析部、102…環境配置決定部、103…リソース選定部、104…システム構成情報変換部、105…システム構築部、106…システム構築情報記憶部、1061…システム構成情報、1062…リソース価格情報、1063…通信距離情報、1064…保護データ情報、1065…環境配置情報、1066…ユーザ定義情報、107…リソース価格情報取得部、108…通信距離情報取得部、109…ネットワーク、110…リソース価格情報提供サーバ、111…リソース提供サーバ群、300…クラウド環境、301,402,403…環境配置エリア、302,303…サービス実行単位、304,305,306…サービス、307,308,701…データベース、400…ユーザ操作端末、401…構築サーバ、600…テスト情報取得部、601…テスト情報分析部、700…オンプレミス環境、800…テストケース情報