JP7067933B2 - 情報処理システム、情報処理方法、及びプログラム - Google Patents

情報処理システム、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP7067933B2
JP7067933B2 JP2018007716A JP2018007716A JP7067933B2 JP 7067933 B2 JP7067933 B2 JP 7067933B2 JP 2018007716 A JP2018007716 A JP 2018007716A JP 2018007716 A JP2018007716 A JP 2018007716A JP 7067933 B2 JP7067933 B2 JP 7067933B2
Authority
JP
Japan
Prior art keywords
information
software
procedure
server
development environment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018007716A
Other languages
English (en)
Other versions
JP2019128617A (ja
Inventor
洋平 柏村
稔 加藤
尚紀 都竹
美帆 永井
淳 笠原
孝光 横井
Original Assignee
エヌ・ティ・ティ・コムウェア株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エヌ・ティ・ティ・コムウェア株式会社 filed Critical エヌ・ティ・ティ・コムウェア株式会社
Priority to JP2018007716A priority Critical patent/JP7067933B2/ja
Publication of JP2019128617A publication Critical patent/JP2019128617A/ja
Application granted granted Critical
Publication of JP7067933B2 publication Critical patent/JP7067933B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

特許法第30条第2項適用 (1)開催日:平成29年7月20日、集会名:「SmartCloud DevaaS 2.0」記者発表会、開催場所:NTT品川TWINS アネックスビル NGNラボ (2)公開日:平成29年8月28日、公開場所:DevaaS 2.0トライアル環境(エヌ・ティ・ティ・コムウェア株式会社内) (3)開催日:平成29年9月1日、集会名:「Enterprise Development Conference」、開催場所:ホテル雅叙園東京2F (4)公開日:平成29年10月6日、公開場所:DevaaS 2.0トライアル環境(エヌ・ティ・ティ・コムウェア株式会社内) (5)展示日:平成29年11月28日及び11月29日、展示会名:「NTT COMWARE’S DAY 2017」、開催場所:品川シーズンテラス3F タワー棟 (6)公開日:平成29年12月6日、公開場所:DevaaS 2.0トライアル環境(エヌ・ティ・ティ・コムウェア株式会社内)
本発明は、情報処理システム、情報処理方法、及びプログラムに関する。
近年、ユーザの要求に応じてコンピュータリソースを提供する仮想環境を構築する技術が知られている(例えば、特許文献1を参照)。特許文献1に記載の技術では、ユーザの性能要求に応じて、例えば、ベアメタルサーバ、コンテナ型仮想サーバ、仮想マシンのなかからサーバ種別を選択して、ユーザごとの仮想環境を構築する。
国際公開第2016/167086号
しかしながら、上述した従来技術では、ソフトウェアの開発環境を構築するためには、上述のように構築された試験サーバに、例えば、開発用のツール等を手動でインストールため、専門的な知識が必要であった。そのため、従来技術では、ソフトウェアの開発環境の構築に、時間が掛かったり、構築の手順ミスが生じて、開発環境を上手く構築できなかったりすることがあった。
本発明は、上記問題を解決すべくなされたもので、その目的は、ソフトウェアの開発環境を構築する際に、手順ミスを低減し、且つ、構築時間を短縮することができる情報処理システム、情報処理方法、及びプログラムを提供することにある。
上記問題を解決するために、本発明の一態様は、コンピュータリソースの提供を受ける契約を示す複数のテナントそれぞれに対応したソフトウェアの開発環境を構築可能な情報処理システムであって、共通のオペレーティングシステム上に仮想領域を構築するコンテナ型仮想化を利用してソフトウェアをインストールするための手順を規定した手順情報であって、前記テナントに対応する利用者からの要求に応じた手順情報を取得する手順取得部と、前記手順取得部によって取得した前記手順情報に基づいて、前記ソフトウェアに予め設定された内部ポート情報と外部ポート情報とを対応付けた設定情報の設定にて、前記テナントに対応する試験サーバに、少なくとも開発環境用のソフトウェアをインストールさせる構築処理部と、前記ソフトウェアの開発環境を構築するためのソフトウェア及び前記手順情報を記憶する共通サーバとを備え、前記共通サーバは、システム運用者によって予め検証された複数の前記手順情報を記憶しており、前記手順取得部は、前記共通サーバが記憶する複数の前記手順情報のうちから、前記利用者からの要求に応じた前記手順情報を取得し、前記構築処理部は、前記手順取得部が取得した前記手順情報に基づいて、前記試験サーバに、前記共通サーバが記憶する前記ソフトウェアをインストールさせて前記ソフトウェアの開発環境を構築することを特徴とする情報処理システムである。
また、本発明の一態様は、上記の情報処理システムにおいて、前記手順情報には、予め検証された前記ソフトウェアのバージョン及び組合せにより前記開発環境用のソフトウェアをインストールする手順が規定されており、前記構築処理部は、前記手順情報に基づいて、前記バージョン及び前記組合せが検証済みの前記開発環境用のソフトウェアをインストールさせることを特徴とする。
また、本発明の一態様は、上記の情報処理システムにおいて、前記手順取得部と、前記構築処理部とを含み、前記テナントごとに構築された管理サーバを備えることを特徴とする。
また、本発明の一態様は、コンピュータリソースの提供を受ける契約を示す複数のテナントそれぞれに対応したソフトウェアの開発環境を構築可能な情報処理システムの情報処理方法であって、手順取得部が、共通のオペレーティングシステム上に仮想領域を構築するコンテナ型仮想化を利用してソフトウェアをインストールするための手順を規定した手順情報であって、前記テナントに対応する利用者からの要求に応じた手順情報を取得する手順取得ステップと、構築処理部が、前記手順取得ステップによって取得した前記手順情報に基づいて、前記ソフトウェアに予め設定された内部ポート情報と外部ポート情報とを対応付けた設定情報の設定にて、前記テナントに対応する試験サーバに、少なくとも開発環境用のソフトウェアをインストールさせる構築処理ステップとを含み、前記情報処理システムは、前記ソフトウェアの開発環境を構築するためのソフトウェア及び前記手順情報を記憶する共通サーバであって、システム運用者によって予め検証された複数の前記手順情報を記憶している共通サーバを備えており、前記手順取得ステップにおいて、前記手順取得部が、前記共通サーバが記憶する複数の前記手順情報のうちから、前記利用者からの要求に応じた前記手順情報を取得し、前記構築処理ステップにおいて、前記構築処理部が、前記手順取得ステップによって取得された前記手順情報に基づいて、前記試験サーバに、前記共通サーバが記憶する前記ソフトウェアをインストールさせて前記ソフトウェアの開発環境を構築することを特徴とする情報処理方法である。
また、本発明の一態様は、コンピュータリソースの提供を受ける契約を示す複数のテナントそれぞれに対応したソフトウェアの開発環境を構築可能な情報処理システムが有するコンピュータに、共通のオペレーティングシステム上に仮想領域を構築するコンテナ型仮想化を利用してソフトウェアをインストールするための手順を規定した手順情報であって、前記テナントに対応する利用者からの要求に応じた手順情報を取得する手順取得ステップと、前記手順取得ステップによって取得した前記手順情報に基づいて、前記ソフトウェアに予め設定された内部ポート情報と外部ポート情報とを対応付けた設定情報の設定にて、前記テナントに対応する試験サーバに、少なくとも開発環境用のソフトウェアをインストールさせる構築処理ステップとを実行させ、前記情報処理システムは、前記ソフトウェアの開発環境を構築するためのソフトウェア及び前記手順情報を記憶する共通サーバであって、システム運用者によって予め検証された複数の前記手順情報を記憶している共通サーバを備えており、前記手順取得ステップにおいて、前記共通サーバが記憶する複数の前記手順情報のうちから、前記利用者からの要求に応じた前記手順情報を取得し、前記構築処理ステップにおいて、前記手順取得ステップによって取得された前記手順情報に基づいて、前記試験サーバに、前記共通サーバが記憶する前記ソフトウェアをインストールさせて前記ソフトウェアの開発環境を構築する処理を実行させるためのプログラムである。
本発明によれば、ソフトウェアの開発環境を構築する際に、手順ミスを低減し、且つ、構築時間を短縮することができる。
第1の実施形態による情報処理システムの一例を示すブロック図である。 第1の実施形態におけるテナント情報記憶部のデータ例を示す図である。 第1の実施形態における利用者情報記憶部のデータ例を示す図である。 第1の実施形態における仮想マシン情報記憶部のデータ例を示す図である。 第1の実施形態におけるインストーラ情報記憶部のデータ例を示す図である。 第1の実施形態におけるコンテナ情報記憶部のデータ例を示す図である。 第1の実施形態におけるプレイブック情報記憶部のデータ例を示す図である。 第1の実施形態におけるポータルサーバにより表示される表示画面の第1の例を示す図である。 第1の実施形態におけるポータルサーバにより表示される表示画面の第2の例を示す図である。 第1の実施形態におけるポータルサーバにより表示される表示画面の第3の例を示す図である。 第1の実施形態におけるポータルサーバにより表示される表示画面の第4の例を示す図である。 第1の実施形態における試験サーバのツールのインストール例を示す図である。 第1の実施形態における試験サーバへのベアインストール処理の一例を示す図である。 第1の実施形態におけるベアインストールのインストール依頼を生成する処理の一例を示すフローチャートである。 第1の実施形態における試験サーバへのコンテナを利用したインストール処理の一例を示す図である。 第1の実施形態におけるコンテナを利用したインストール依頼を生成する処理の一例を示すフローチャートである。 第1の実施形態におけるコンテナの制御処理の一例を示す図である。 第2の実施形態による情報処理システムの一例を示すブロック図である。
以下、本発明の一実施形態による情報処理システム及び情報処理方法について、図面を参照して説明する。
[第1の実施形態]
図1は、第1の実施形態による情報処理システム1の一例を示すブロック図である。
図1に示すように、情報処理システム1は、利用者端末装置10と、ポータルサーバ20と、共通サーバ30と、複数のテナント60のそれぞれが有する管理サーバ40と、試験サーバ50とを備えている。本実施形態において、情報処理システム1は、複数のテナント60それぞれに対応したソフトウェアの開発環境を構築可能なシステムである。
なお、テナント60は、コンピュータリソースの提供を受ける契約を示し、テナント60-1、テナント60-2、・・・は、それぞれ異なる契約を示している。また、本実施形態において、テナント60-1、テナント60-2、・・・は、情報処理システム1が備える任意のテナントを示す場合、又は特に区別しない場合には、テナント60として説明する。
また、本実施形態において、管理サーバ40-1、管理サーバ40-2、・・・は、情報処理システム1が備える任意の管理サーバを示す場合、又は特に区別しない場合には、管理サーバ40として説明する。同様に、試験サーバ51-1、試験サーバ52-1、・・・、及び試験サーバ51-2、試験サーバ52-2、・・・は、情報処理システム1が備える任意の試験サーバを示す場合、又は特に区別しない場合には、試験サーバ50として説明する。また、ネットワークNW2-1、ネットワークNW2-2、・・・は、情報処理システム1が備えるテナント60内のネットワークを示す場合、又は特に区別しない場合には、ネットワークNW2として説明する。
また、利用者端末装置10と、ポータルサーバ20と、共通サーバ30と、管理サーバ40とは、ネットワークNW1に接続されている。ここで、ネットワークNW1は、複数のテナント60に対応する複数の利用者(契約者)の利用者端末装置10が、接続可能なネットワークであり、例えば、WAN(Wide Area Network)、グローバルエリアネットワークなどである。
また、各テナント60において、管理サーバ40と、試験サーバ50とは、ネットワークNW2に接続されている。ここで、ネットワークNW2は、各テナント内のローカルなネットワークである。
利用者端末装置10は、例えば、PC(パーソナルコンピュータ)などのコンピュータ装置であり、各テナント60に対応する利用者が利用する端末装置である。利用者端末装置10は、ネットワークNW1を介して、ポータルサーバ20と接続し、テナント60へのソフトウェアの開発環境、及びテナント60の管理などの操作を行う。また、利用者端末装置10は、入力部11と、表示部12と、端末制御部13とを備えている。
入力部11は、例えば、キーボードやタッチパネル、マウスなどの入力装置であり、利用者からの要求であるソフトウェアの開発環境の要求情報などを入力情報として受け付ける。入力部11は、受け付けた入力情報を端末制御部13に出力する。
表示部12(出力部の一例)は、例えば、液晶ディスプレイ装置などであり、各種情報を表示する。表示部12は、例えば、ポータルサーバ20から提供される選択肢や、要求情報の選択肢及び入力を行う際の操作画面やメニュー画面などを表示する。
端末制御部13は、例えば、CPU(Central Processing Unit)などを含むプロセッサであり、利用者端末装置10を統括的に制御する。端末制御部13は、ソフトウェアの開発環境の構築や、テナントの管理を行う際に、入力部11が受け付けた入力情報を、ネットワークNW1を介して、ポータルサーバ20に送信する。また、端末制御部13は、ポータルサーバ20を介して、ポータルサーバ20から受信したメニュー画面及び操作画面などの表示データを受信して、当該メニュー画面及び当該操作画面などを表示部12に表示させる。
ポータルサーバ20は、情報処理システム1を利用するためのポータルサイトであり、各種メニュー画面及び操作画面などの表示データを、ネットワークNW1を介して、利用者端末装置10に送信して、各種メニュー画面及び操作画面を利用者端末装置10の表示部12に表示させる。また、ポータルサーバ20は、利用者端末装置10からネットワークNW1を介して受信した入力情報に基づいて、各種処理を実行する。
例えば、ポータルサーバ20は、利用者端末装置10を介して利用者から、ソフトウェアの開発環境の要求情報を受け付け、受け付けた要求情報に基づいて、インストール依頼を生成する。ポータルサーバ20は、開発環境用のソフトウェアを、利用者のテナント60に対応する試験サーバ50に、例えば、共通のオペレーティングシステム上に仮想領域を構築するコンテナ型仮想化を利用してインストールさせるインストール依頼を生成する。ポータルサーバ20は、生成したインストール依頼を、利用者のテナント60に対応する管理サーバ40に送信する。なお、以下の説明において、開発環境用のソフトウェアを、開発用のツール又は単にツールと呼ぶことがある。
また、ポータルサーバ20は、例えば、試験サーバ50にインストールしているソフトウェアを制御する制御指示を、利用者端末装置10を介して利用者から受け付ける。ポータルサーバ20は、制御指示に基づく制御依頼を、利用者のテナント60に対応する管理サーバ40に送信する。
また、ポータルサーバ20は、ポータル記憶部21と、ポータル制御部22とを備えている。
ポータル記憶部21は、ポータルサーバ20が利用する各種情報を記憶する。ポータル記憶部21は、例えば、テナント情報記憶部211と、利用者情報記憶部212と、メニュー情報記憶部213と、仮想マシン情報記憶部214と、インストーラ情報記憶部215と、コンテナ情報記憶部216と、プレイブック情報記憶部217とを備えている。
テナント情報記憶部211は、情報処理システム1が登録(契約)しているテナントの情報を記憶する。テナント情報記憶部211は、例えば、図2に示すように、テナントを識別するテナントID(テナント識別情報)と、テナントに関連する各種情報とを対応付けて記憶する。
図2は、本実施形態におけるテナント情報記憶部211のデータ例を示す図である。
図2に示すように、テナント情報記憶部211は、「テナントID」と、「契約グループID」と、「プロジェクトID」と、「テナント名」とを対応付けて記憶する。ここで、「テナントID」は、テナント識別情報の一例であり、「契約グループID」は、例えば、テナントを契約した組織、所属などの識別情報であり、「プロジェクトID」は、例えば、当該テナントにより開発するソフトウェアのプロジェクトの識別情報である。
また、「契約グループID」、「プロジェクトID」、及び「テナント名」は、テナントに関連する各種情報の一例である。また、テナントに関連する各種情報には、これらの情報の他に、例えば、契約日(申込日)に関する日時情報や、テナントのボリューム容量(容量情報)、変更(更新)に関する日時情報などが含まれてもよい。
図2に示す例では、「テナントID」が“T0001”に対応するテナントは、「契約グループID」が“G0001”であり、「プロジェクトID」が“PJ001”であり、「テナント名」が“XXXX”であることを示している。
図1の説明に戻り、利用者情報記憶部212は、情報処理システム1を利用する利用者(ユーザ)の情報を記憶する。利用者情報記憶部212は、例えば、図3に示すように、利用者を識別するユーザID(利用者識別情報)と、利用者に関連する各種情報とを対応付けて記憶する。
図3は、本実施形態における利用者情報記憶部212のデータ例を示す図である。
図3に示すように、利用者情報記憶部212は、「ユーザID」と、「契約グループID」と、「ユーザ名」と、「ログイン情報」と、「テナントID」とを対応付けて記憶する。ここで、「ユーザID」は、利用者識別情報の一例であり、「契約グループID」、及び「テナントID」は、例えば、当該利用者に対応する「契約グループID」、及び「テナントID」を示している。また、「ユーザ名」は、利用者の名前を示しており、「ログイン情報」は、パスワードなどのポータルサーバ20にログインする際の認証情報などを示している。
また、「契約グループID」、「ユーザ名」、「ログイン情報」、及び「テナントID」は、利用者に関連する各種情報の一例である。また、利用者に関連する各種情報には、これらの情報の他に、例えば、登録日(申込日)、変更日(更新日)などの日時情報、利用権限情報などが含まれてもよい。
図3に示す例では、「ユーザID」が“U0001”に対応する利用者は、「契約グループID」が“G0001”であり、「ユーザ名」が“○○○○”であり、「ログイン情報」が“XXXXXX”であり、対応する「テナントID」が“T0001”であることを示している。
再び、図1の説明に戻り、メニュー情報記憶部213は、ポータルサーバ20が利用者端末装置10の表示部12に表示させる操作画面やメニュー画面の情報や、選択可能な入力情報などを記憶する。
仮想マシン情報記憶部214は、情報処理システム1に構築されている仮想マシンの情報を記憶する。仮想マシン情報記憶部214は、例えば、図4に示すように、仮想マシンを識別するマシンID(仮想マシン識別情報)と、仮想マシンに関連する各種情報とを対応付けて記憶する。
図4は、本実施形態における仮想マシン情報記憶部214のデータ例を示す図である。
図4に示すように、仮想マシン情報記憶部214は、「マシンID」と、「マシン種別」と、「マシン名」と、「IPアドレス」と、「テナントID」と、「サーバタイプ」と、「状態情報」とを対応付けて記憶する。ここで、「マシンID」は、仮想マシン識別情報の一例であり、「テナントID」は、例えば、当該仮想マシンに対応する「テナントID」を示している。
また、「マシン名」は、仮想マシンの名前を示しており、「マシン種別」は、例えば、“試験サーバ”、“管理サーバ”、などの情報処理システム1内における仮想マシンの種別を示している。また、「IPアドレス」は、仮想マシンに割り当てられているIP(Internet Protocol)アドレスを示し、「状態情報」は、例えば、“起動中”、“停止中”などの仮想マシンの起動状態を示している。また、「サーバタイプ」は、インストール可能なソフトウェア及びコンテナを判定するためのタイプコード(タイプ情報)を示している。
また、「マシン種別」、「マシン名」、「IPアドレス」、「テナントID」、「サーバタイプ」、及び「状態情報」は、仮想マシンに関連する各種情報の一例である。また、仮想マシンに関連する各種情報には、これらの情報の他に、例えば、登録日(申込日)、変更日(更新日)などの日時情報、上述したプロジェクトIDなどが含まれてもよい。
図4に示す例では、「マシンID」が“M001”に対応する仮想マシンは、「マシン種別」が“試験サーバ”であり、「マシン名」が“TEST”であり、「IPアドレス」が“XX.XXX.XXX.XX”であり、対応する「テナントID」が“T0001”であることを示している。また、「状態情報」は、仮想マシンが“起動中”であることを示し、「サーバタイプ」が“01”であることを示している。
再び、図1の説明に戻り、インストーラ情報記憶部215は、情報処理システム1においてベアインストール可能なツールのインストールに関する情報を記憶する。ここで、ツールとは、例えば、ソフトウェアの開発に必要な各種アプリケーションツール(ソフトウェア)などのことである。インストーラ情報記憶部215は、例えば、図5に示すように、ツールを識別するツールID(ソフトウェア識別情報)と、ツールのインストーラに関連する各種情報とを対応付けて記憶する。
図5は、本実施形態におけるインストーラ情報記憶部215のデータ例を示す図である。
図5に示すように、インストーラ情報記憶部215は、「ツールID」と、「インストーラ名」と、「バージョン情報」と、「サーバタイプ」と、「プレイブックID」とを対応付けて記憶する。ここで、「ツールID」は、ベアインストール可能なツールのソフトウェア識別情報の一例であり、「インストーラ名」は、例えば、当該ツールをインストールするためのインストーラの名称を示している。また、「バージョン情報」は、ツールのバージョンを示し、「プレイブックID」は、当該ツールをインストールするために使用するプレイブック(Playbook)を識別する識別情報を示している。また、「サーバタイプ」は、インストール可能な仮想マシンのタイプを示している。なお、プレイブックとは、ソフトウェアをインストールするための手順を規定した手順情報(手順ファイル)を示している。
また、「インストーラ名」、「バージョン情報」、「サーバタイプ」、及び「プレイブックID」は、ツールのインストーラに関連する各種情報の一例である。また、ツールのインストーラに関連する各種情報には、これらの情報の他に、例えば、作成日時、更新日時などの日時情報、アイコン名などが含まれてもよい。
図5に示す例では、「ツールID」が“INS0001”に対応するインストーラは、「インストーラ名」が“ABCD”であり、「バージョン情報」が“1.00”であることを示している。また、「サーバタイプ」が“01”であり、「プレイブックID」が“PB0001”であることを示している。
再び、図1の説明に戻り、コンテナ情報記憶部216は、情報処理システム1においてコンテナ型仮想技術(以下、単にコンテナと言う場合がある)を利用したツールのインストールに関する情報(コンテナ情報)を記憶する。なお、コンテナの詳細については、後述する。コンテナ情報記憶部216は、例えば、図6に示すように、コンテナを識別するコンテナID(コンテナ識別情報)と、コンテナに関連する各種情報とを対応付けて記憶する。
図6は、本実施形態におけるコンテナ情報記憶部216のデータ例を示す図である。
図6に示すように、コンテナ情報記憶部216は、「コンテナID」と、「イメージ名」と、「バージョン情報」と、「ポート情報」と、「サーバタイプ」と、「プレイブックID」とを対応付けて記憶する。ここで、「コンテナID」は、コンテナ識別情報の一例であり、「イメージ名」は、例えば、当該コンテナをインストールするためのコンテナイメージの名称を示している。また、「バージョン情報」は、コンテナイメージのバージョンを示し、「ポート情報」は、プロトコルの種別及び当該コンテナがデフォルトで使用するポート番号を示し、「プレイブックID」は、当該コンテナをインストールするために使用するプレイブックIDを示している。また、「サーバタイプ」は、コンテナをインストール可能な仮想マシンのタイプを示している。なお、「ポート情報」は、コンテナが対応するプロトコルの種別に応じて、複数の情報であってもよい。
また、「イメージ名」、「バージョン情報」、「ポート情報」、「サーバタイプ」、及び「プレイブックID」は、コンテナに関連する各種情報の一例である。また、コンテナに関連する各種情報には、これらの情報の他に、例えば、作成日時、更新日時などの日時情報、アイコン名などが含まれてもよい。
図6に示す例では、「コンテナID」が“CN0001”に対応する「イメージ名」が“XXXX”であり、「バージョン情報」が“1.00”であることを示している。また、「ポート情報」が“HTTP:80、SSH:22”あることを示している。また、「サーバタイプ」が“01”であり、「プレイブックID」が“PB0002”であることを示している。
再び、図1の説明に戻り、プレイブック情報記憶部217は、情報処理システム1において、インストールに使用するプレイブックに関する情報(プレイブック情報)を記憶する。プレイブック情報記憶部217は、例えば、図7に示すように、プレイブックを識別するプレイブックID(プレイブック識別情報)と、プレイブックに関連する各種情報とを対応付けて記憶する。
図7は、本実施形態におけるプレイブック情報記憶部217のデータ例を示す図である。
図7に示すように、プレイブック情報記憶部217は、「プレイブックID」と、「ファイル名」と、「格納場所」とを対応付けて記憶する。ここで、「プレイブックID」は、プレイブック識別情報の一例であり、「ファイル名」は、例えば、当該プレイブックファイルのファイル名を示している。また、「格納場所」は、プレイブックファイルが格納されている場所情報(例えば、リポジトリURL(Uniform Resource Locator)など)を示している。
また、「ファイル名」及び「格納場所」は、プレイブックに関連する各種情報の一例である。また、プレイブックに関連する各種情報には、これらの情報の他に、例えば、ブランチ名などが含まれてもよい。
図7に示す例では、「プレイブックID」が“PB0002”に対応する「ファイル名」が“EFGHI”であり、「格納場所」が“XXXX”であることを示している。
なお、インストーラ情報記憶部215、コンテナ情報記憶部216、及びプレイブック情報記憶部217は、後述する共通サーバ30が記憶する情報と同期している。インストーラ情報記憶部215、コンテナ情報記憶部216、及びプレイブック情報記憶部217が記憶する情報は、共通サーバ30が記憶する情報の更新に合わせて、情報処理システム1の運用管理者によって、定期的に更新されるものとする。
また、図1の説明に戻り、ポータル制御部22は、例えば、CPUなどを含むプロセッサであり、ポータルサーバ20を統括的に制御する。ポータル制御部22は、例えば、UI(User Interface)制御部221と、命令実行部222とを備えている。
UI制御部221(要求受付部の一例)は、ポータルサーバ20のユーザインタフェースを制御する。UI制御部221は、メニュー情報記憶部213が記憶する情報及び利用者端末装置10から取得した入力情報に基づいて、各種表示画面を生成し、ネットワークNW1を介して、各種表示画面を利用者端末装置10の表示部12に表示させる。また、UI制御部221は、ネットワークNW1を介して、利用者端末装置10から取得した入力情報に基づいて、各種処理を実行する。UI制御部221は、例えば、利用者のログイン処理、テナント60の管理処理、仮想マシンの作成、テナント60ごとの管理サーバ40及び試験サーバ50の管理処理(例えば、ソフトウェアのインストール処理やマシンの制御処理など)、等の利用者との間のインターフェースを制御し、各種要求を受け付ける。
例えば、UI制御部221は、図8~図11に示すような表示画面を、利用者端末装置10の表示部12に表示させる。
図8~図11は、本実施形態におけるポータルサーバ20により表示される表示画面の例を示す図である。
図8に示す表示画面G1は、試験サーバ50を管理するメニュー画面である。UI制御部221は、利用者端末装置10の入力部11を介して、例えば、試験サーバ50が選択された場合に、ネットワークNW1を介して、当該表示画面G1のデータを送信して、利用者端末装置10の表示部12に表示させる。表示画面G1において、UI制御部221は、仮想マシンの選択(選択ウインドウSW1参照)、“コンテナの追加”及び“ベアインストール”の選択(ボタンBT1を参照)などを受け付ける。
また、図9に示す表示画面G2は、試験サーバ50にベアインストールを行うメニュー画面である。UI制御部221は、利用者端末装置10の入力部11を介して、例えば、“ベアインストール”が選択された場合に、ネットワークNW1を介して、当該表示画面G2のデータを送信して、利用者端末装置10の表示部12に表示させる。
ここで、UI制御部221は、選択された試験サーバ50の「サーバタイプ」を仮想マシン情報記憶部214から取得し、取得した試験サーバ50の「サーバタイプ」に基づいて、当該試験サーバ50にインストール可能なツールをインストーラ情報記憶部215から抽出する。UI制御部221は、抽出したインストール可能なツールの情報を表示部12に表示させる。表示画面G2において、UI制御部221は、ベアインストールするツール名及びバージョンを受け付ける。
このように、UI制御部221は、利用者端末装置10の表示部12にメニュー画面(表示画面G2)を表示させて、テナント60に対応する利用者から、ソフトウェアの開発環境の要求情報(ツール名及びバージョン)を受け付ける。
また、UI制御部221は、利用者端末装置10の入力部11を介して、送信ボタンBT2が押下された場合に、後述する命令実行部222に、選択したツール名及びバージョンに対応するソフトウェアをベアインストールするインストール依頼を生成及び出力させる。
また、図10に示す表示画面G3は、試験サーバ50にコンテナの追加を行うメニュー画面である。UI制御部221は、利用者端末装置10の入力部11を介して、例えば、“コンテナの追加”が選択された場合に、ネットワークNW1を介して、当該表示画面G3のデータを送信して、利用者端末装置10の表示部12に表示させる。
ここで、UI制御部221は、選択された試験サーバ50の「サーバタイプ」を仮想マシン情報記憶部214から取得し、取得した試験サーバ50の「サーバタイプ」に基づいて、当該試験サーバ50にインストール可能なコンテナをコンテナ情報記憶部216から抽出する。UI制御部221は、抽出したインストール可能なコンテナの情報を表示部12に表示させる。なお、UI制御部221は、コンテナに対応する起動ポートの情報を、コンテナ情報記憶部216の「ポート情報」から取得して、設定可能なプロトコルの種別を表示させる。
表示画面G3において、UI制御部221は、追加(インストール)するコンテナのツール名、バージョン、及び起動ポートの情報を受け付ける。ここで、起動ポートの情報は、コンテナのソフトウェアが外部と接続するための外部ポート情報である。また、ツール名は、ソフトウェアの識別情報の一例である。
このように、UI制御部221は、ソフトウェアの開発環境の要求情報として、コンテナを利用してインストールするソフトウェアの識別情報と、当該ソフトウェアのバージョン情報と、当該ソフトウェアが外部と接続するための外部ポート情報とを受け付ける。
また、UI制御部221は、利用者端末装置10の入力部11を介して、送信ボタンBT2が押下された場合に、後述する命令実行部222に、選択したツール名及びバージョンに対応するソフトウェアを、起動ポートに対応する設定によりコンテナを利用してインストールするインストール依頼を生成及び出力させる。
また、図11に示す表示画面G4は、試験サーバ50のコンテナの制御を行うメニュー画面である。表示画面G3において、UI制御部221は、利用者端末装置10の入力部11を介して、例えば、制御ボタンBT3の“停止”、“再起動”などの制御の指示を受け付ける。UI制御部221は、後述する命令実行部222に、コンテナ制御の指示に対応したコンテナ制御依頼を生成及び出力させる。
また、UI制御部221は、利用者情報記憶部212が記憶する利用者情報に基づいて、利用者のログイン処理を実行する。
また、UI制御部221は、テナント情報記憶部211が記憶するテナント情報に基づいて、利用者に対応するテナント60の判定し、当該テナントに対応する仮想マシンを仮想マシン情報記憶部214から抽出する。UI制御部221は、抽出した仮想マシンを、テナントに対応する仮想マシンとして、利用者端末装置10の表示部12に表示させる。
命令実行部222(インストール依頼部)は、UI制御部221が受け付けた、利用者からの各種要求に応じて、各種命令(例えば、インストール依頼の出力、コンテナ制御依頼の出力など)を実行する。
命令実行部222は、例えば、UI制御部221によって受け付けた要求情報に基づいて、開発環境用のソフトウェア及び設定情報を決定し、当該開発環境用のソフトウェアを、テナント60に対応する試験サーバ50に設定情報の示す設定でインストールさせるインストール依頼を生成する。命令実行部222は、要求情報に基づいて、開発環境用のソフトウェアをインストールするための手順を規定したプレイブックを指定するプレイブック情報(手順指定情報)を含むインストール依頼を生成する。ここで、プレイブック情報には、上述したプレイブック情報記憶部217が記憶する「プレイブックID」、「ファイル名」、及び「格納場所」などが含まれる。
なお、インストール依頼には、プレイブック情報の他に、開発環境用のソフトウェアをインストールする試験サーバ50を指定する情報(例えば、「マシンID」、「IPアドレス」など)が含まれている。管理サーバ40は、インストール依頼に含まれる試験サーバ50を指定する情報に基づいて、対象の試験サーバ50を判定(決定)する。
例えば、ベアインストールを行う場合に、命令実行部222は、例えば、UI制御部221によって受け付けたツール名及びバージョンに対応する「ツールID」に基づいて、インストーラ情報記憶部215から、「プレイブックID」を取得する。命令実行部222は、取得した「プレイブックID」に対応するプレイブック情報をプレイブック情報記憶部217から取得し、当該プレイブック情報を含むインストール依頼を生成する。
また、例えば、コンテナを利用したインストールを行う場合に、命令実行部222は、例えば、UI制御部221によって受け付けたコンテナ名及びバージョンに対応する「コンテナID」に基づいて、コンテナ情報記憶部216から、「プレイブックID」を取得する。命令実行部222は、取得した「プレイブックID」に対応するプレイブック情報をプレイブック情報記憶部217から取得する。また、命令実行部222は、UI制御部221によって受け付けた起動ポートを外部ポート情報として、内部ポート情報(コンテナ情報記憶部216の「ポート情報」のポート番号)と対応付ける設定情報を生成する。命令実行部222は、当該プレイブック情報及び設定情報を含むインストール依頼を生成する。このように、命令実行部222は、要求情報に対応するソフトウェアを、当該ソフトウェアに予め設定された内部ポート情報と外部ポート情報とを対応付けて、コンテナを利用してインストールさせるインストール依頼を生成する。
命令実行部222は、上述のように生成したインストール依頼を、ネットワークNW1を介して、例えば、テナント60に対応する管理サーバ40に出力する。
また、例えば、コンテナの制御を行う場合に、命令実行部222は、UI制御部221によって受け付けた“停止”、“再起動”などの制御の指示に基づいて、コンテナ制御の指示に対応したコンテナ制御依頼を生成する。命令実行部222は、生成したコンテナ制御依頼を、ネットワークNW1を介して、例えば、テナント60に対応する管理サーバ40に出力する。
再び、図1の説明に戻り、共通サーバ30は、例えば、コモンレジストリサーバ(Common registry Server)であり、例えば、ソフトウェアの開発環境を構築するためのソフトウェア及びプレイブックを記憶する。共通サーバ30は、例えば、ネットワークNW1を介して、インストールのためのプレイブック及びソフトウェア(インストーラ、コンテナイメージなど)を供給する。共通サーバ30は、共通記憶部31を備え、共通記憶部31は、プレイブック記憶部311と、インストーラ記憶部312と、コンテナ記憶部313とを備えている。
なお、情報処理システム1において、ポータルサーバ20及び共通サーバ30は、当該システムを提供するシステム運用者100によって提供及び管理される。
プレイブック記憶部311は、各種ソフトウェア及びコンテナに対応したプレイブック(プレイブックファイル)を記憶する。なお、プレイブック記憶部311は、複数のプレイブックを記憶しており、各プレイブックは、システム運用者100によって予め検証されたものである。例えば、プレイブックには、予め検証されたソフトウェアのバージョン及び組合せにより開発環境用のソフトウェアをインストールする手順が規定されている。
インストーラ記憶部312は、各種ソフトウェアをインストールするためのインストーラを記憶する。なお、インストーラ記憶部312は、複数のインストーラを記憶しており、各インストーラは、システム運用者100によって予め検証されたものである。
コンテナ記憶部313は、各種コンテナをインストールするためのコンテナイメージを記憶する。なお、コンテナ記憶部313は、複数のコンテナイメージを記憶しており、各コンテナイメージは、システム運用者100によって予め検証されたものである。
管理サーバ40は、テナント60ごとに構築され、例えば、テナント60内の試験サーバ50を管理するCI/CDサーバ(Continuous Integration/Continuous Deliveryサーバ)である。管理サーバ40は、ネットワークNW1を介して、ポータルサーバ20及び共通サーバ30と接続されるとともに、ネットワークNW2を介して、テナント60内の試験サーバ50と接続されている。
管理サーバ40は、例えば、ポータルサーバ20によって生成されたインストール依頼に応じて、試験サーバ50に、コンテナ型仮想化を利用して開発環境用のソフトウェアをインストールさせる。管理サーバ40は、インストール依頼に含まれるプレイブック情報(手順指定情報)に基づいて取得されたプレイブックに基づいて、開発環境用のソフトウェアを試験サーバ50にインストールさせる。
また、管理サーバ40は、ポータルサーバ20が受け付けた制御指示に基づいて、試験サーバ50にインストールしているソフトウェアを制御する。例えば、管理サーバ40は、ポータルサーバ20によって生成されたコンテナ制御依頼に応じて、コンテナ制御を行う。
また、管理サーバ40は、管理制御部41を備えている。
管理制御部41は、例えば、CPUなどを含むプロセッサであり、管理サーバ40を統括的に制御する。管理制御部41は、例えば、実行管理部411と、実行処理部412と、管理処理部413とを備えている。
実行管理部411(手順取得部の一例)は、例えば、ジョブ管理などを行うツールである「Jenkins」により実現される機能部である。実行管理部411は、ポータルサーバ20から受信したインストール依頼に含まれるプレイブック情報に基づいて、該当するプレイブックを、共通サーバ30のプレイブック記憶部311から取得する。ここで、プレイブック情報には、「ファイル名」及び「格納場所」が含まれており、実行管理部411は、「ファイル名」及び「格納場所」により、該当プレイブックをプレイブック記憶部311から取得する。実行管理部411は、取得したプレイブックによるインストール処理を実行処理部412に実行させる。
また、実行管理部411は、コンテナを利用してソフトウェアをインストールする場合には、インストール依頼に含まれる設定情報の設定にて、取得したプレイブックによるインストール処理を実行処理部412に実行させる。
また、実行管理部411は、ポータルサーバ20から受信したコンテナ制御依頼に基づいて、コンテナの制御処理を管理処理部413に実行させる。
実行処理部412(構築処理部の一例)は、例えば、ジョブ実行を行うツールである「Ansible」により実現される機能部である。実行処理部412は、プレイブックに基づいて、各種処理を実行する。実行処理部412は、実行管理部411によって取得したプレイブックに基づいて、例えば、テナント60に対応する試験サーバ50に、少なくとも開発環境用のソフトウェアをインストールさせる。
なお、プレイブックには、予め検証されたソフトウェアのバージョン及び組合せにより開発環境用のソフトウェアをインストールする手順が規定されており、実行処理部412は、当該プレイブックに基づいて、バージョン及び組合せが検証済みの開発環境用のソフトウェアをインストールさせる。
また、コンテナを利用してソフトウェアをインストールする場合には、実行処理部412は、試験サーバ50に、設定情報の示す設定(例えば、ポートの設定)でインストールさせる。
管理処理部413は、例えば、コンテナの管理などの各種制御を実行する。管理処理部413は、例えば、コンテナを「Docker」(登録商標)などのコンテナ仮想化 ツールを利用して、コンテナの“停止”、“再起動”などの制御を実行する。
試験サーバ50は、仮想マシンにより構築され、テナント60の利用者によってソフトウェアを開発するためのテストサーバである。試験サーバ50は、利用者によって開発したソフトウェアにより各種システムが構築されるとともに、各種システムの検証にも利用される。試験サーバ50は、ソフトウェア及びシステムの開発環境用のソフトウェア(開発のツール)がインストールされる。
試験サーバ50へのツールのインストールには、上述したように、ベアインストールと、コンテナを利用したインストールとがあり、ここで、図12を参照して説明する。
図12は、本実施形態における試験サーバ50のツールのインストール例を示す図である。
図12(a)は、試験サーバ50にベアインストールによりツールをインストールした場合の一例を示している。ベアインストールは、通常のインストールに相当し、試験サーバ50のOS(オペレーティングシステム)上に直接ツールをインストールする。
また、図12(b)は、試験サーバ50にコンテナを利用してツールをインストールした場合の一例を示している。この場合には、試験サーバ50のOS上に、上述した「Docker」(登録商標)などのコンテナ管理ソフトをインストールした上で、仮想領域(コンテナ)を構築して、ツールをインストールする。図12(b)に示す例では、試験サーバ50には、“コンテナA”として“ツールA”がインストールされ、“コンテナB”として“ツールB”がインストールされている。
なお、コンテナを利用した場合のインストールでは、同一のツールを異なるコンテナとして複数インストールすることも可能である。例えば、図12(b)に示す例では、試験サーバ50には、“コンテナA”及び“コンテナC”として、“ツールA”が2つインストールされている。この場合、1台の試験サーバ50において、同一のツールを利用して、異なる開発環境による検証などの作業を行うことが可能である。
次に、図面を参照して、本実施形態による情報処理システム1の動作について説明する。
まず、図13を参照して、本実施形態における試験サーバ50へのベアインストール処理について説明する。
図13は、本実施形態における試験サーバ50へのベアインストール処理の一例を示す図である。この図において、利用者によるログイン処理が予め完了しているものとする。
図13に示すように、まず、利用者端末装置10が、試験サーバ画面(例えば、図8の表示画面G1)のベアインストールの指定を送信する(ステップS101)。利用者端末装置10の端末制御部13は、入力部11を介して、試験サーバ50の指定とともにベアインストールの選択を受け付けて、ポータルサーバ20に送信する。
次に、ポータルサーバ20は、ベアインストール画面を利用者端末装置10に送信する(ステップS102)。ポータルサーバ20のUI制御部は、指定された試験サーバ50のベアインストールの選択に対して、メニュー画面(例えば、図9の表示画面G2)のデータを、利用者端末装置10に送信する。
次に、利用者端末装置10は、ベアインストール画面を表示する(ステップS103)。すなわち、端末制御部13は、例えば、表示画面G2を表示部12に表示させる。
次に、利用者端末装置10は、ベアインストール要求をポータルサーバ20に送信する(ステップS104)。すなわち、端末制御部13は、表示画面G2において、利用者によって入力部11を介してインストールするツール名及びバージョンが指定され、送信ボタンBT2が押下された場合に、指定されたツール名及びバージョンのベアインストール要求を、ポータルサーバ20に送信する。
次に、ポータルサーバ20が、インストール依頼を生成する(ステップS105)。ポータルサーバ20のUI制御部221が受け付けたベアインストール要求に基づいて、命令実行部222が、指定されたツール名及びバージョンのツールをベアインストールするインストール依頼を生成する。なお、インストール依頼には、プレイブック情報が含まれる。また、ベアインストールのインストール依頼を生成する処理の詳細については、図14を参照して後述する。
次に、ポータルサーバ20は、生成したインストール依頼を、利用者に対応するテナント60の管理サーバ40に送信する(ステップS106)。
次に、管理サーバ40は、プレイブック要求を共通サーバ30に送信し(ステップS107)、対応するプレイブックを共通サーバ30から取得する(ステップS108)。すなわち、管理サーバ40の実行管理部411は、ポータルサーバ20から受信したインストール依頼に含まれるプレイブック情報に基づいて、該当するプレイブックを、共通サーバ30のプレイブック記憶部311から取得する。
次に、管理サーバ40は、プレイブックによる実行モジュールを、指定された試験サーバ50に送信する(ステップS109)。実行管理部411は、利用者から指定された試験サーバ50に対して、取得したプレイブックを実行処理部412に実行させる。実行処理部412は、プレイブックに従って、ベアインストールを実行するための実行モジュールを試験サーバ50に送信する。
次に、試験サーバ50は、プレイブックに従ってベアインストール処理を実行する(ステップS110)。すなわち、試験サーバ50は、管理サーバ40から受信した実行モジュールを実行することで、ベアインストール処理を実行する。なお、試験サーバ50は、ベアインストール処理の際に、管理サーバ40経由又は直接、共通サーバ30のインストーラ記憶部312からインストール資材をダウンロードする。
次に、試験サーバ50は、インストールの完了通知を管理サーバ40に送信し(ステップS111)、管理サーバ40は、インストールの完了通知をポータルサーバ20に送信する。
次に、ポータルサーバ20は、利用者端末装置10に完了通知を送信して(ステップS113)、利用者端末装置10の表示部12にインストールの完了を表示させる(ステップS114)。すなわち、UI制御部221は、利用者端末装置10にベアインストールの完了を表示する画面データを送信し、利用者端末装置10の表示部12に表示させる。
次に、図14を参照して、上述した図13のステップS105及びステップS106の処理の詳細について説明する。
図14は、本実施形態におけるベアインストールのインストール依頼を生成する処理の一例を示すフローチャートである。
図14に示すように、まず、命令実行部222は、インストールするツールの情報を取得する(ステップS201)。命令実行部222は、UI制御部221によって受け付けたツール名及びバージョンに対応する「ツールID」を、例えば、UI制御部221から取得する。
次に、命令実行部222は、ツールの情報からプレイブック情報を取得する(ステップS202)。命令実行部222は、取得した「ツールID」に基づいて、インストーラ情報記憶部215から、「ツールID」に対応する「プレイブックID」を取得する(図5参照)。そして、命令実行部222は、取得した「プレイブックID」に対応するプレイブック情報をプレイブック情報記憶部217から取得する。ここで、プレイブック情報は、例えば、「ファイル名」及び「格納場所」である(図7参照)。
次に、命令実行部222は、プレイブック情報を含むインストール依頼を生成する(ステップS203)。ここで、命令実行部222は、利用者によって指定された試験サーバ50に指定のツールをインストールするインストール依頼を生成する。
次に、命令実行部222は、インストール依頼を管理サーバ40に送信する(ステップS204)。すなわち、命令実行部222は、利用者に対応するテナント60の管理サーバ40に、インストール依頼を送信する。ステップS204の処理後に、命令実行部222は、インストール依頼を生成する処理を終了する。
次に、図15を参照して、本実施形態における試験サーバ50へのコンテナを利用したインストール処理について説明する。
図15は、本実施形態における試験サーバ50へのコンテナを利用したインストール処理の一例を示す図である。この図において、利用者によるログイン処理が予め完了しているものとする。
図15に示すように、まず、利用者端末装置10が、試験サーバ画面(例えば、図8の表示画面G1)のコンテナの追加の指定を送信する(ステップS301)。利用者端末装置10の端末制御部13は、入力部11を介して、試験サーバ50の指定とともにコンテナの追加を受け付けて、ポータルサーバ20に送信する。
次に、ポータルサーバ20は、コンテナの追加画面を利用者端末装置10に送信する(ステップS302)。ポータルサーバ20のUI制御部は、指定された試験サーバ50のコンテナの追加の選択に対して、メニュー画面(例えば、図10の表示画面G3)のデータを、利用者端末装置10に送信する。
次に、利用者端末装置10は、コンテナの追加画面を表示する(ステップS303)。すなわち、端末制御部13は、例えば、表示画面G3を表示部12に表示させる。
次に、利用者端末装置10は、コンテナのインストール要求をポータルサーバ20に送信する(ステップS304)。すなわち、端末制御部13は、表示画面G3において、利用者によって入力部11を介してインストールするコンテナ名及びバージョンと、起動ポートとが指定され、送信ボタンBT2が押下された場合に、指定されたコンテナ名及びバージョンを指定された起動ポート(外部ポート)でコンテナを利用してインストールするコンテナのインストール要求を、ポータルサーバ20に送信する。
次に、ポータルサーバ20が、インストール依頼を生成する(ステップS305)。ポータルサーバ20のUI制御部221が受け付けたコンテナのインストール要求に基づいて、命令実行部222が、指定されたツール名及びバージョンのツールを、指定された設定(外部ポート)でコンテナを利用してインストールするインストール依頼を生成する。なお、インストール依頼には、プレイブック情報及び設定情報(外部ポート情報)が含まれる。また、コンテナを利用したインストールのインストール依頼を生成する処理の詳細については、図16を参照して後述する。
次に、ポータルサーバ20は、生成したインストール依頼を、利用者に対応するテナント60の管理サーバ40に送信する(ステップS306)。
次に、管理サーバ40は、プレイブック要求を共通サーバ30に送信し(ステップS307)、対応するプレイブックを共通サーバ30から取得する(ステップS308)。
次に、管理サーバ40は、プレイブックによる実行モジュールを、指定された試験サーバ50に送信する(ステップS309)。実行管理部411は、利用者から指定された試験サーバ50に対して、設定情報の設定(外部ポート)により取得したプレイブックを、実行処理部412に実行させる。実行処理部412は、プレイブックに従って、設定情報の設定によりコンテナを利用したインストールを実行するための実行モジュールを試験サーバ50に送信する。
次に、試験サーバ50は、プレイブックに従ってコンテナ作成処理を実行する(ステップS310)。すなわち、試験サーバ50は、管理サーバ40から受信した実行モジュールを実行することで、コンテナを利用したインストール処理を実行する。なお、試験サーバ50は、コンテナを利用したインストール処理の際に、管理サーバ40経由又は直接、共通サーバ30のコンテナ記憶部313からコンテナイメージをダウンロードする。
続く、ステップS311からステップS314までの処理は、上述した図13に示すステップS111からステップS114までの処理と同様であるため、ここではその説明を省略する。なお、ステップS313及びステップS314の処理において、UI制御部221は、利用者端末装置10にコンテナ追加の完了を表示する画面データを送信し、利用者端末装置10の表示部12に表示させる。
次に、図16を参照して、上述した図15のステップS305及びステップS306の処理の詳細について説明する。
図16は、本実施形態におけるコンテナを利用したインストール依頼を生成する処理の一例を示すフローチャートである。
図16に示すように、まず、命令実行部222は、インストールするコンテナの情報を取得する(ステップS401)。命令実行部222は、UI制御部221によって受け付けたコンテナ名及びバージョンに対応する「コンテナID」を、例えば、UI制御部221から取得する。
次に、命令実行部222は、コンテナの情報からプレイブック情報を取得する(ステップS402)。命令実行部222は、取得した「コンテナID」に基づいて、コンテナ情報記憶部216から、「コンテナID」に対応する「プレイブックID」を取得する(図6参照)。そして、命令実行部222は、取得した「プレイブックID」に対応するプレイブック情報をプレイブック情報記憶部217から取得する。ここで、プレイブック情報は、例えば、「ファイル名」及び「格納場所」である(図7参照)。
次に、命令実行部222は、プレイブック情報と設定情報とを含むインストール依頼を生成する(ステップS403)。ここで、命令実行部222は、利用者によって指定された試験サーバ50に指定のコンテナを、設定情報の設定(外部ポート)でインストールするインストール依頼を生成する。
次に、命令実行部222は、インストール依頼を管理サーバ40に送信する(ステップS404)。すなわち、命令実行部222は、利用者に対応するテナント60の管理サーバ40に、インストール依頼を送信する。ステップS404の処理後に、命令実行部222は、インストール依頼を生成する処理を終了する。
次に、図17を参照して、本実施形態におけるコンテナの制御処理について説明する。
図17は、本実施形態におけるコンテナの制御処理の一例を示す図である。この図において、利用者によるログイン処理が予め完了しているものとする。
図17に示すように、まず、利用者端末装置10が、試験サーバ画面(例えば、図8の表示画面G1)の試験サーバの指定を送信する(ステップS501)。利用者端末装置10の端末制御部13は、入力部11を介して、試験サーバ50の指定を受け付けて、ポータルサーバ20に送信する。
次に、ポータルサーバ20は、コンテナ制御のメニュー画面を利用者端末装置10に送信する(ステップS502)。ポータルサーバ20のUI制御部は、指定された試験サーバ50の指定に対して、コンテナ制御のメニュー画面(例えば、図11の表示画面G4)のデータを、利用者端末装置10に送信する。
次に、利用者端末装置10は、コンテナ制御のメニュー画面を表示する(ステップS503)。すなわち、端末制御部13は、例えば、表示画面G4を表示部12に表示させる。
次に、利用者端末装置10は、コンテナの制御要求をポータルサーバ20に送信する(ステップS504)。すなわち、端末制御部13は、表示画面G4において、利用者によって入力部11を介して、制御ボタンBT3の“停止”、“再起動”などのコンテナの制御が押下された場合に、指定されたコンテナの制御を行うコンテナの制御要求を、ポータルサーバ20に送信する。
次に、ポータルサーバ20が、コンテナ制御依頼を生成する(ステップS505)。ポータルサーバ20のUI制御部221が受け付けたコンテナの制御要求に基づいて、命令実行部222が、コンテナ制御依頼を生成する。なお、コンテナ制御依頼には、コンテナIDなどのコンテナの指定情報が含まれる。
次に、ポータルサーバ20は、生成したコンテナ制御依頼を、利用者に対応するテナント60の管理サーバ40に送信する(ステップS506)。
次に、管理サーバ40は、コンテナ制御の命令を、指定された試験サーバ50に送信する(ステップS507)。ここで、実行管理部411は、コンテナ制御依頼を受け付けて、管理処理部413に、コンテナ制御依頼に対応するコンテナ制御の命令を、試験サーバ50に送信させる。
次に、試験サーバ50は、コンテナ制御の命令により、コンテナ制御処理を実行する(ステップS508)。
続く、ステップS509からステップS512までの処理は、上述した図13に示すステップS111からステップS114までの処理と同様であるため、ここではその説明を省略する。なお、ステップS509及びステップS510の処理において、UI制御部221は、利用者端末装置10にコンテナ制御の完了を表示する画面データを送信し、利用者端末装置10の表示部12に表示させる。
以上説明したように、本実施形態による情報処理システム1は、コンピュータリソースの提供を受ける契約を示す複数のテナント60それぞれに対応したソフトウェアの開発環境を構築可能な情報処理システム1であって、実行管理部411(手順取得部)と、実行処理部412(構築処理部)とを備える。実行管理部411は、テナント60に対応する利用者からの要求に応じたプレイブック(手順情報)を取得する。ここで、プレイブックは、例えば、共通のオペレーティングシステム上に仮想領域を構築するコンテナ型仮想化を利用してソフトウェアをインストールするための手順を規定した手順情報である。実行処理部412は、実行管理部411によって取得したプレイブックに基づいて、テナント60に対応する試験サーバ50に、少なくとも開発環境用のソフトウェアをインストールさせる。
これにより、本実施形態による情報処理システム1は、プレイブックに基づいて、コンテナを利用して、開発環境用のソフトウェアをインストールするため、例えば、ソフトウェアに関する専門知識を持っていない利用者、或いは、スキルレベルが低い利用者であっても、容易にソフトウェアの開発環境を構築することができる。よって、本実施形態による情報処理システム1は、ソフトウェアの開発環境を構築する際に、手順ミスを低減し、且つ、構築時間を短縮することができる。
また、本実施形態による情報処理システム1は、ソフトウェアの開発環境を構築するためのソフトウェア及びプレイブックを記憶する共通サーバ30を備える。実行管理部411は、利用者からの要求に応じたプレイブックを共通サーバ30から取得し、実行処理部412は、プレイブックに基づいて、試験サーバ50に、共通サーバ30が記憶するソフトウェアをインストールさせる。
これにより、本実施形態による情報処理システム1は、共通サーバ30により、ソフトウェアの開発環境を構築するためのソフトウェア及びプレイブックを一括管理することができる。よって、本実施形態による情報処理システム1は、利用者による手順ミスをさらに低減することができる。
また、ソフトウェア資産を共通サーバ30で一括管理するため、本実施形態による情報処理システム1では、ツールに関連するトラブルの対策や更新を容易に行うことができる。
また、本実施形態では、プレイブックには、予め検証されたソフトウェアのバージョン及び組合せにより開発環境用のソフトウェアをインストールする手順が規定されている。実行処理部412は、プレイブックに基づいて、バージョン及び組合せが検証済みの開発環境用のソフトウェアをインストールさせる。
これにより、本実施形態による情報処理システム1は、検証済みの開発環境用のソフトウェアを提供できるため、ツールに関連するトラブルを低減する、又は未然に防ぐことができる。
また、本実施形態による情報処理システム1は、実行管理部411と、実行処理部412とを含み、テナント60ごとに構築された管理サーバ40を備える。
これにより、本実施形態による情報処理システム1は、インストール処理の負荷を分散することができる。また、例えば、管理サーバ40と試験サーバ50とをローカルなネットワーク(ネットワークNW2)に接続して、試験サーバ50を外部のネットワークから遮断することができるため、本実施形態による情報処理システム1は、開発環境のセキュリティを向上させることができる。
また、本実施形態による情報処理方法は、コンピュータリソースの提供を受ける契約を示す複数のテナント60それぞれに対応したソフトウェアの開発環境を構築可能な情報処理システムの情報処理方法であって、手順取得ステップと、構築処理ステップとを含む。手順取得ステップにおいて、実行管理部411が、共通のオペレーティングシステム上に仮想領域を構築するコンテナ型仮想化を利用してソフトウェアをインストールするための手順を規定したプレイブックであって、テナント60に対応する利用者からの要求に応じたプレイブックを取得する。構築処理ステップにおいて、実行処理部412が、手順取得ステップによって取得したプレイブックに基づいて、テナント60に対応する試験サーバ50に、少なくとも開発環境用のソフトウェアをインストールさせる。
これにより、本実施形態による情報処理方法は、上述した本実施形態による情報処理システム1と同様の効果を奏し、ソフトウェアの開発環境を構築する際に、手順ミスを低減し、且つ、構築時間を短縮することができる。
また、本実施形態による情報処理システム1は、UI制御部221(要求受付部)と、命令実行部222(インストール依頼部)と、実行処理部412とを備える。UI制御部221は、メニュー画面を表示させて、テナント60に対応する利用者から、ソフトウェアの開発環境の要求情報を受け付ける。命令実行部222は、UI制御部221によって受け付けた要求情報に基づいて、開発環境用のソフトウェア及び設定情報を決定し、当該開発環境用のソフトウェアを、テナント60に対応する試験サーバ50に設定情報の示す設定でインストールさせるインストール依頼を生成する。実行処理部412は、命令実行部222によって生成されたインストール依頼に応じて、試験サーバ50に、開発環境用のソフトウェアを設定情報の示す設定でインストールさせる。
これにより、本実施形態による情報処理システム1は、UI制御部221によってメニュー画面で受け付けた要求情報に基づいて、開発環境用のソフトウェア及び設定情報を決定し、該開発環境用のソフトウェアを設定情報の示す設定で、試験サーバ50にインストールすることができる。そのため、本実施形態による情報処理システム1は、例えば、ソフトウェアに関する専門知識を持っていない利用者、或いは、スキルレベルが低い利用者であっても、容易にソフトウェアの開発環境を構築することができる。よって、本実施形態による情報処理システム1は、ソフトウェアの開発環境を構築する際に、手順ミスを低減し、且つ、構築時間を短縮することができる。
例えば、本実施形態による情報処理システム1は、メニュー画面(例えば、図9の表示画面G2、図10の表示画面G3など)を選択することで、自動で開発環境用のソフトウェア及び設定情報を行うことができ、ソフトウェアの開発環境の構築時間を大幅に短縮することができる。
また、本実施形態では、命令実行部222は、要求情報に基づいて、開発環境用のソフトウェアをインストールするための手順を規定したプレイブックを指定するプレイブック情報(手順指定情報)を含むインストール依頼を生成する。実行処理部412は、インストール依頼に含まれるプレイブック情報に基づいて取得されたプレイブックに基づいて、開発環境用のソフトウェアを試験サーバ50にインストールさせる。
これにより、本実施形態による情報処理システム1は、利用者の要求に応じたプレイブックを用いて、開発環境用のソフトウェアをインストールできるため、利用者による手順ミスをさらに低減することができる。
また、本実施形態による情報処理システム1は、複数のプレイブックを記憶する共通サーバ30から、プレイブック情報に対応するプレイブックを取得する実行管理部411(手順取得部)を備える。実行処理部412は、実行管理部411によって取得したプレイブックに基づいて、開発環境用のソフトウェアを試験サーバ50にインストールさせる。
これにより、本実施形態による情報処理システム1は、複数のプレイブックを記憶する共通サーバ30からプレイブックを取得するため、多様な開発環境の構築に対応することができる。また、共通サーバ30により、プレイブックを一括管理することができる。よって、本実施形態による情報処理システム1は、多様な開発環境の構築に対応させつつ、利用者による手順ミスをさらに低減することができる。
また、本実施形態では、UI制御部221は、ソフトウェアの開発環境の要求情報として、コンテナを利用してインストールするソフトウェアの識別情報(例えば、コンテナ名、コンテナIDなど)と、当該ソフトウェアのバージョン情報と、当該ソフトウェアが外部と接続するための外部ポート情報とを受け付ける。命令実行部222は、ソフトウェアの識別情報に対応するソフトウェアであって、バージョン情報の示すバージョンのソフトウェアを、当該ソフトウェアに予め設定された内部ポート情報と外部ポート情報とを対応付けて、コンテナを利用してインストールさせるインストール依頼を生成する。
これにより、本実施形態による情報処理システム1は、コンテナの外部ポートを指定したインストールを、専門知識を必要とせず容易に行うことができる。
また、本実施形態による情報処理システム1は、ポータルサーバ20を備える。ポータルサーバ20は、上述したUI制御部221と命令実行部222とを含み、複数のテナント60それぞれに対応したソフトウェアの開発環境を構築させる。
これにより、本実施形態による情報処理システム1は、ポータルサーバ20を用いることで、複数のテナント60に対応させることができるとともに、開発環境の要求情報に応じたソフトウェアのインストールを容易に行うことができる。よって、本実施形態による情報処理システム1は、開発環境の構築時間をさらに短縮することができる。
また、本実施形態による情報処理方法は、要求受付ステップと、インストール依頼ステップと、構築処理ステップとを含む。要求受付ステップにおいて、UI制御部221が、メニュー画面を表示させて、テナント60に対応する利用者から、ソフトウェアの開発環境の要求情報を受け付ける。インストール依頼ステップにおいて、命令実行部222が、要求受付ステップによって受け付けた要求情報に基づいて、開発環境用のソフトウェア及び設定情報を決定し、当該開発環境用のソフトウェアを、テナント60に対応する試験サーバ50に設定情報の示す設定でインストールさせるインストール依頼を生成する。構築処理ステップにおいて、実行処理部412が、インストール依頼ステップによって生成されたインストール依頼に応じて、試験サーバ50に、開発環境用のソフトウェアを設定情報の示す設定でインストールさせる。
これにより、本実施形態による情報処理方法は、上述した本実施形態による情報処理システム1と同様の効果を奏し、ソフトウェアの開発環境を構築する際に、手順ミスを低減し、且つ、構築時間を短縮することができる。
また、本実施形態による情報処理システム1は、ポータルサーバ20と、管理サーバ40とを備えている。ポータルサーバ20は、テナント60に対応する利用者から、ソフトウェアの開発環境の要求情報を受け付け、受け付けた要求情報に基づいて、少なくとも開発環境用のソフトウェアを、テナント60に対応する試験サーバ50に、コンテナを利用してインストールさせるインストール依頼を生成する。管理サーバ40は、テナント60ごとに構築され、ポータルサーバ20によって生成されたインストール依頼に応じて、試験サーバ50に、コンテナ型仮想化を利用して開発環境用のソフトウェアをインストールさせる。
これにより、本実施形態による情報処理システム1は、例えば、インストールに関わる計算リソースやジョブ管理を、テナント60ごとに構築された管理サーバ40に処理させることができる。よって、本実施形態による情報処理システム1は、管理サーバ40によって、処理を分散することができるため、複数のソフトウェアの開発環境を構築する際に、パフォーマンスが低下することを抑制することができる。
また、本実施形態では、ポータルサーバ20は、要求情報に基づいて、開発環境用のソフトウェアをインストールするための手順を規定したプレイブックを指定するプレイブック情報(手順指定情報)を含むインストール依頼を生成する。管理サーバ40は、インストール依頼に含まれるプレイブック情報に基づいて取得されたプレイブックに基づいて、開発環境用のソフトウェアを試験サーバ50にインストールさせる。
これにより、本実施形態による情報処理システム1は、利用者の要求に応じたプレイブックを用いて、開発環境用のソフトウェアをインストールできるため、利用者による手順ミスを低減することができる。
また、本実施形態では、ポータルサーバ20と共通サーバ30とは、複数のテナント60に対して共通に構築されている。
これにより、本実施形態による情報処理システム1は、共通のポータルサーバ20及び共通サーバ30によって、各テナント60に対する開発環境の構築、及びプレイブックを一括管理することができる。
また、本実施形態では、ポータルサーバ20は、試験サーバ50にインストールしているソフトウェアを制御する制御指示を、利用者から受け付ける。管理サーバ40は、ポータルサーバ20が受け付けた制御指示に基づいて、試験サーバ50にインストールしているソフトウェアを制御する。
これにより、本実施形態による情報処理システム1は、複数のソフトウェアを制御(管理)する際に、パフォーマンスが低下することを抑制することができる。
また、本実施形態による情報処理方法は、第1のステップと、第2のステップとを含む。第1のステップにおいて、ポータルサーバ20が、テナント60に対応する利用者から、ソフトウェアの開発環境の要求情報を受け付け、受け付けた要求情報に基づいて、少なくとも開発環境用のソフトウェアを、テナント60に対応する試験サーバ50に、コンテナを利用してインストールさせるインストール依頼を生成する。第2のステップにおいて、テナント60ごとに構築された管理サーバ40が、第1のステップによって生成されたインストール依頼に応じて、試験サーバ50に、コンテナを利用して開発環境用のソフトウェアをインストールさせる。
これにより、本実施形態による情報処理方法は、上述した本実施形態による情報処理システム1と同様の効果を奏し、複数のソフトウェアの開発環境を構築する際に、パフォーマンスが低下することを抑制することができる。
[第2の実施形態]
次に、図18を参照して、第2の実施形態による情報処理システム1aについて説明する。本実施形態による情報処理システム1aは、上述した第1の実施形態の情報処理システム1における管理サーバ40の機能をポータルサーバ20に含めた場合の変形例について説明する。
図18は、本実施形態による情報処理システム1aの一例を示すブロック図である。
図18に示すように、情報処理システム1aは、利用者端末装置10と、ポータルサーバ20aと、共通サーバ30と、複数のテナント60aのそれぞれが有する試験サーバ50を備えている。本実施形態において、情報処理システム1aは、複数のテナント60aそれぞれに対応したソフトウェアの開発環境を構築可能なシステムである。
この図において、図1に示す構成と同一の構成には、同一の符号を付与して、ここではその説明を省略する。
なお、テナント60aは、コンピュータリソースの提供を受ける契約を示し、テナント60a-1、テナント60a-2、・・・は、それぞれ異なる契約を示している。また、本実施形態において、テナント60a-1、テナント60a-2、・・・は、情報処理システム1aが備える任意のテナントを示す場合、又は特に区別しない場合には、テナント60aとして説明する。
また、情報処理システム1aにおいて、ポータルサーバ20a及び共通サーバ30は、当該システムを提供するシステム運用者100によって提供及び管理される。
ポータルサーバ20aは、情報処理システム1aを利用するためのポータルサイトであり、各種メニュー画面及び操作画面などの表示データを、ネットワークNW1を介して、利用者端末装置10に送信して、各種メニュー画面及び操作画面を利用者端末装置10の表示部12に表示させる。また、ポータルサーバ20aは、利用者端末装置10からネットワークNW1を介して受信した入力情報に基づいて、各種処理を実行する。
また、ポータルサーバ20aは、ポータル記憶部21と、ポータル制御部22aとを備えている。
ポータル制御部22aは、例えば、CPUなどを含むプロセッサであり、ポータルサーバ20aを統括的に制御する。ポータル制御部22aは、例えば、UI制御部221と、命令実行部222と、実行管理部411と、実行処理部412と、管理処理部413とを備えている。実行管理部411、実行処理部412、及び管理処理部413の機能は、第1の実施形態の管理サーバ40が備える実行管理部411、実行処理部412、及び管理処理部413と同様であるので、ここではその説明を省略する。
以上説明したように、本実施形態による情報処理システム1aでは、第1の実施形態における管理サーバ40の機能をポータルサーバ20aが備える。このような構成においても、本実施形態による情報処理システム1aは、第1の実施形態による情報処理システム1と同様の効果を奏し、ソフトウェアの開発環境を構築する際に、手順ミスを低減し、且つ、構築時間を短縮することができる。
なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の各実施形態において、情報処理システム1(1a)は、共通サーバ30を備える例を説明したが、共通サーバ30の共通記憶部31の一部、又は全部を、ポータルサーバ20(20a)又は管理サーバ40が備えるようにしてもよい。
また、上記の各実施形態において、情報処理システム1(1a)は、ポータルサーバ20(20a)のメニュー画面から、仮想マシンによりテナント60内の試験サーバ50及び管理サーバ40を、自動で構築できるようにしてもよい。この場合、OSのインストールやネットワークの構築などを、上述した開発環境の構築と同様の仕組み(プレイブックを取得してインストールする仕組み)を利用するようにしてもよい。これにより、情報処理システム1(1a)は、テナント60の仮想マシンの取得を含めた開発環境の構築を、手順ミスを低減し、且つ、構築時間を短縮して行うことができる。
また、ネットワークの構築を行う場合に、ポータルサーバ20(20a)が、サーバの別に応じて、グローバルIPアドレス(Floating IPアドレス)、又はローカルIPアドレス(Non Floating IPアドレス)を適切に割振って、ネットワークを、自動で構築するようにしてもよい。これにより、標準的な開発環境のネットワークの構築を自動で行うことができるため、情報処理システム1(1a)は、利便性を向上させることができる。
また、上記の第1の実施形態において、情報処理システム1は、共通サーバ30とは別に、共通記憶部31と同様の記憶部を管理サーバ40に備え、定期的又は更新時に、共通記憶部31内の情報を、共通サーバ30から管理サーバ40に配信して同期させるようにしてもよい。この場合、実行管理部411及び実行処理部412は、共通サーバ30の代わりに、管理サーバ40内の記憶部から、プレイブックと、ソフトウェア(インストーラ及びコンテナイメージ)とを取得する。
また、上記の第1の実施形態において、情報処理システム1は、試験サーバ50へのベアインストール及びコンテナを利用したインストールと同様の手法を用いて、管理サーバ40に対して、ベアインストール及びコンテナを利用したインストールを実行するようにしてもよい。
なお、上述した情報処理システム1(1a)が備える各構成は、内部に、コンピュータシステムを有している。そして、上述した情報処理システム1(1a)が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述した情報処理システム1(1a)が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD-ROM等の非一過性の記録媒体であってもよい。
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に情報処理システム1(1a)が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上述した機能の一部又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
1、1a 情報処理システム
10 利用者端末装置
11 入力部
12 表示部
13 端末制御部
20、20a ポータルサーバ
21 ポータル記憶部
22、22a ポータル制御部
30 共通サーバ
31 共通記憶部
40、40-1、40-2 管理サーバ
41 管理制御部
50、51-1、51-2、52-1、52-2 試験サーバ
60、60a、60-1、60a-1、60-2、60a-2 テナント
100 システム運用者
211 テナント情報記憶部
212 利用者情報記憶部
213 メニュー情報記憶部
214 仮想マシン情報記憶部
215 インストーラ情報記憶部
216 コンテナ情報記憶部
217 プレイブック情報記憶部
221 UI制御部
222 命令実行部
311 プレイブック記憶部
312 インストーラ記憶部
313 コンテナ記憶部
411 実行管理部
412 実行処理部
413 管理処理部

Claims (5)

  1. コンピュータリソースの提供を受ける契約を示す複数のテナントそれぞれに対応したソフトウェアの開発環境を構築可能な情報処理システムであって、
    共通のオペレーティングシステム上に仮想領域を構築するコンテナ型仮想化を利用してソフトウェアをインストールするための手順を規定した手順情報であって、前記テナントに対応する利用者からの要求に応じた手順情報を取得する手順取得部と、
    前記手順取得部によって取得した前記手順情報に基づいて、前記ソフトウェアに予め設定された内部ポート情報と外部ポート情報とを対応付けた設定情報の設定にて、前記テナントに対応する試験サーバに、少なくとも開発環境用のソフトウェアをインストールさせる構築処理部と
    前記ソフトウェアの開発環境を構築するためのソフトウェア及び前記手順情報を記憶する共通サーバと
    を備え
    前記共通サーバは、システム運用者によって予め検証された複数の前記手順情報を記憶しており、
    前記手順取得部は、前記共通サーバが記憶する複数の前記手順情報のうちから、前記利用者からの要求に応じた前記手順情報を取得し、
    前記構築処理部は、前記手順取得部が取得した前記手順情報に基づいて、前記試験サーバに、前記共通サーバが記憶する前記ソフトウェアをインストールさせて前記ソフトウェアの開発環境を構築する
    とを特徴とする情報処理システム。
  2. 前記手順情報には、予め検証された前記ソフトウェアのバージョン及び組合せにより前記開発環境用のソフトウェアをインストールする手順が規定されており、
    前記構築処理部は、前記手順情報に基づいて、前記バージョン及び前記組合せが検証済みの前記開発環境用のソフトウェアをインストールさせる
    ことを特徴とする請求項1記載の情報処理システム。
  3. 前記手順取得部と、前記構築処理部とを含み、前記テナントごとに構築された管理サーバを備える
    ことを特徴とする請求項1又は請求項に記載の情報処理システム。
  4. コンピュータリソースの提供を受ける契約を示す複数のテナントそれぞれに対応したソフトウェアの開発環境を構築可能な情報処理システムの情報処理方法であって、
    手順取得部が、共通のオペレーティングシステム上に仮想領域を構築するコンテナ型仮想化を利用してソフトウェアをインストールするための手順を規定した手順情報であって、前記テナントに対応する利用者からの要求に応じた手順情報を取得する手順取得ステップと、
    構築処理部が、前記手順取得ステップによって取得した前記手順情報に基づいて、前記ソフトウェアに予め設定された内部ポート情報と外部ポート情報とを対応付けた設定情報の設定にて、前記テナントに対応する試験サーバに、少なくとも開発環境用のソフトウェアをインストールさせる構築処理ステップと
    を含み、
    前記情報処理システムは、前記ソフトウェアの開発環境を構築するためのソフトウェア及び前記手順情報を記憶する共通サーバであって、システム運用者によって予め検証された複数の前記手順情報を記憶している共通サーバを備えており、
    前記手順取得ステップにおいて、前記手順取得部が、前記共通サーバが記憶する複数の前記手順情報のうちから、前記利用者からの要求に応じた前記手順情報を取得し、
    前記構築処理ステップにおいて、前記構築処理部が、前記手順取得ステップによって取得された前記手順情報に基づいて、前記試験サーバに、前記共通サーバが記憶する前記ソフトウェアをインストールさせて前記ソフトウェアの開発環境を構築する
    ことを特徴とする情報処理方法。
  5. コンピュータリソースの提供を受ける契約を示す複数のテナントそれぞれに対応したソフトウェアの開発環境を構築可能な情報処理システムが有するコンピュータに、
    共通のオペレーティングシステム上に仮想領域を構築するコンテナ型仮想化を利用してソフトウェアをインストールするための手順を規定した手順情報であって、前記テナントに対応する利用者からの要求に応じた手順情報を取得する手順取得ステップと、
    前記手順取得ステップによって取得した前記手順情報に基づいて、前記ソフトウェアに予め設定された内部ポート情報と外部ポート情報とを対応付けた設定情報の設定にて、前記テナントに対応する試験サーバに、少なくとも開発環境用のソフトウェアをインストールさせる構築処理ステップと
    を実行させ
    前記情報処理システムは、前記ソフトウェアの開発環境を構築するためのソフトウェア及び前記手順情報を記憶する共通サーバであって、システム運用者によって予め検証された複数の前記手順情報を記憶している共通サーバを備えており、
    前記手順取得ステップにおいて、前記共通サーバが記憶する複数の前記手順情報のうちから、前記利用者からの要求に応じた前記手順情報を取得し、
    前記構築処理ステップにおいて、前記手順取得ステップによって取得された前記手順情報に基づいて、前記試験サーバに、前記共通サーバが記憶する前記ソフトウェアをインストールさせて前記ソフトウェアの開発環境を構築する
    処理を実行させるためのプログラム。
JP2018007716A 2018-01-19 2018-01-19 情報処理システム、情報処理方法、及びプログラム Active JP7067933B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018007716A JP7067933B2 (ja) 2018-01-19 2018-01-19 情報処理システム、情報処理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018007716A JP7067933B2 (ja) 2018-01-19 2018-01-19 情報処理システム、情報処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2019128617A JP2019128617A (ja) 2019-08-01
JP7067933B2 true JP7067933B2 (ja) 2022-05-16

Family

ID=67471407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018007716A Active JP7067933B2 (ja) 2018-01-19 2018-01-19 情報処理システム、情報処理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP7067933B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012069088A (ja) 2010-06-25 2012-04-05 Toshiba Corp 医用情報処理装置及びソフトウェア配信システム
WO2016167086A1 (ja) 2015-04-17 2016-10-20 日本電信電話株式会社 サーバ選択装置、サーバ選択方法及びサーバ選択プログラム
US20170132031A1 (en) 2012-08-30 2017-05-11 Zte Corporation Method, system and device for managing virtual machine software in cloud environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012069088A (ja) 2010-06-25 2012-04-05 Toshiba Corp 医用情報処理装置及びソフトウェア配信システム
US20170132031A1 (en) 2012-08-30 2017-05-11 Zte Corporation Method, system and device for managing virtual machine software in cloud environment
WO2016167086A1 (ja) 2015-04-17 2016-10-20 日本電信電話株式会社 サーバ選択装置、サーバ選択方法及びサーバ選択プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Oracle Container Cloud Service を使って Docker 環境を作ってみた,[online],2017年02月03日,[2021年9月15日検索], インターネット<URL: https://qiita.com/shinyay/items/85463d2a3e8b32be2d30>
石田 愛, 渡邊 裕治,クラウド上のコンテナサービスに対するパッケージ脆弱性自動評価システム,CSS2016 コンピュータセキュリティシンポジウム2016 論文集[CD-ROM],一般社団法人情報処理学会,2016年10月04日,p.237-242

Also Published As

Publication number Publication date
JP2019128617A (ja) 2019-08-01

Similar Documents

Publication Publication Date Title
US9092243B2 (en) Managing a software appliance
US7774588B2 (en) Host build and rebuild system and method
US8458658B2 (en) Methods and systems for dynamically building a software appliance
JP5675679B2 (ja) 仮想イメージファイル作成システムおよび仮想イメージファイル作成方法
KR100757896B1 (ko) 홈 네트워크 시스템 및 그 시스템에서의 원격 홈서비스설치 방법
JP6880633B2 (ja) 情報処理装置、情報処理システム及びプログラム
EP2863281B1 (en) System and method to configure a field device
JP7122270B2 (ja) アプリケーションソフトウェアの開発を支援するシステム及び方法
JP6938887B2 (ja) 情報処理装置、情報処理システム及びプログラム
US8713570B2 (en) Electronic device, information processing method, and storage medium
US20190114208A1 (en) Information processing apparatus
JP7067933B2 (ja) 情報処理システム、情報処理方法、及びプログラム
JP7067934B2 (ja) 情報処理システム、情報処理方法、及びプログラム
JP7067935B2 (ja) 情報処理システム、及び情報処理方法
CN105988752A (zh) 信息处理装置和信息处理系统
JP2021166020A (ja) 情報処理装置、設置管理サーバ、システム、それらの制御方法、及びプログラム
JP2006171814A (ja) ランチャメニュー管理システム、方法および同システムにおける課金方法
JP6608770B2 (ja) 情報処理装置及びプログラム
JP2005323093A (ja) Webサーバを利用した遠隔操作制御プログラム
JP4728017B2 (ja) 統合セキュリティ監査装置、統合セキュリティ監査方法及び統合セキュリティ監査プログラム
JP6740037B2 (ja) ソフトウェア配信システム、及びそのソフトウェア配信方法
JP2013254352A (ja) 管理装置、管理システム、及び管理プログラム
JP7251236B2 (ja) 処理制御システム、端末装置管理サーバ及びプログラム
JP6915342B2 (ja) 会計情報システム及び会計情報システムの設定方法
JP2013020406A (ja) 画面設計支援装置、画面設計支援方法、及びプログラム

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20180216

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200318

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220428

R150 Certificate of patent or registration of utility model

Ref document number: 7067933

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150