JP6705482B2 - システム構築パラメータ管理装置、システム構築パラメータ管理システム、システム構築パラメータ管理方法、及び、システム構築パラメータ管理プログラム - Google Patents

システム構築パラメータ管理装置、システム構築パラメータ管理システム、システム構築パラメータ管理方法、及び、システム構築パラメータ管理プログラム Download PDF

Info

Publication number
JP6705482B2
JP6705482B2 JP2018192667A JP2018192667A JP6705482B2 JP 6705482 B2 JP6705482 B2 JP 6705482B2 JP 2018192667 A JP2018192667 A JP 2018192667A JP 2018192667 A JP2018192667 A JP 2018192667A JP 6705482 B2 JP6705482 B2 JP 6705482B2
Authority
JP
Japan
Prior art keywords
information
parameter
general
parameter information
system construction
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
JP2018192667A
Other languages
English (en)
Other versions
JP2020061019A (ja
Inventor
隆雄 山下
隆雄 山下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2018192667A priority Critical patent/JP6705482B2/ja
Publication of JP2020061019A publication Critical patent/JP2020061019A/ja
Application granted granted Critical
Publication of JP6705482B2 publication Critical patent/JP6705482B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本願発明は、システムを構築する際に用いる、そのシステムの動作環境を定義するパラメータを管理する技術に関する。
サービス事業者が、その事業者が保有するシステムによってサービスの提供を行っている場合において、ランニングコストの削減等を目的として、例えばそのシステムをクラウド環境に移行(クラウドマイグレーション)するようなことが行われることがある。その場合、例えば「Lift and Shift」と呼ばれる、既存のシステムをその動作環境(運用状態)を維持したままクラウド環境に移行する手法が用いられることが多い。したがって、このようなマイグレーションを実現する技術への期待が高まってきている。
このような技術に関連する技術として、特許文献1には、ある環境に対して生成されたシステムの構成定義ファイルを、他の環境に対するシステム配備に適用する配備装置が開示されている。この装置は、システムを構成する各構成要素に対する、配備ツールに依存しない設定情報、及び、各構成要素と当該構成要素の配備に利用可能な各配備ツールとの組に対する、当該配備ツールによる配備処理、を含むコンポーネント情報を記憶する。この装置は、各構成要素について、コンポーネント情報をもとに、指定された配備ツールに対応する配備処理を特定する。この装置は、構成要素間の依存関係をもとに、特定した配備処理の実行順序を決定する。そしてこの装置は、実行順序に従って、特定した配備処理を、構成要素の設定情報を適用して実行することにより、複数の構成要素を配備する。
また、特許文献2には、システム環境変更後のユーザシステムの好適な構成を得るシステム環境変更支援システムが開示されている。このシステムは、第1システム環境におけるシステム構成のパタンである構成パタンを記憶する。このシステムは、当該構成パタンまたはその組み合わせであるパタン組を識別するパタン組識別情報と、そのパタン組識別情報により識別されるパタン組と変換可能なユーザシステムの構成であって第2システム環境におけるユーザシステムの構成の特徴および範囲を示す第2環境対応情報とを対応づけた変換ルールを記憶する。このシステムは、第2システム環境におけるユーザシステムの構成を示すシステム構成情報を取得する。そしてこのシステムは、変換ルールに基づいて、システム構成情報が示すユーザシステムの構成の指定された範囲を、任意のパタン組に変換する。
国際公開第2017/017937号 特開2016−189045号公報
近年、クラウド基盤や仮想化基盤の利用が普及するにつれて、IaC(Infrastructure as Code)と呼ばれるプロセス(手法)が注目されている。IaCでは、IaCコード(ソースコード)を用いてシステム定義を行い、オーケストレータと呼ばれるツールによって、システムの構築(プロビジョニング)を自動化する。IaCコードは、インターネットや企業内ネットワーク等によって公開された情報であり、このような汎用的なIaCコードを活用することによって、上述したシステムのマイグレーションを効率的に行うことが期待できる。特許文献1及び2は、IaCコードのようなシステム構築のための汎用的な情報を活用してマイグレーションを行えるようにするという課題については、特に言及していない。本願発明の主たる目的は、この課題を解決するシステム構築パラメータ管理装置等を提供することである。
本願発明の一態様に係るシステム構築パラメータ管理装置は、対象システムの動作環境を定義する定義情報を収集する収集手段と、前記定義情報に基づいて、前記対象システムの構築に必要となる個別パラメータ情報を生成する生成手段と、システム構築を行うプログラムが使用するシステム構築汎用情報から、汎用的なシステムの構築に必要となる汎用パラメータ情報を抽出する抽出手段と、前記個別パラメータ情報と、前記汎用パラメータ情報とを比較し、その比較結果に基づいて、前記汎用パラメータ情報を、前記個別パラメータ情報に整合するように更新する更新手段と、を備える。
上記目的を達成する他の見地において、本願発明の一態様に係るシステム構築パラメータ管理方法は、情報処理装置によって、対象システムの動作環境を定義する定義情報を収集し、前記定義情報に基づいて、前記対象システムの構築に必要となる個別パラメータ情報を、前記定義情報から抽出し、システム構築を行うプログラムが使用するシステム構築汎用情報から、汎用的なシステムの構築に必要となる汎用パラメータ情報を抽出し、前記個別パラメータ情報と、前記汎用パラメータ情報とを比較し、その比較結果に基づいて、前記汎用パラメータ情報を、前記個別パラメータ情報に整合するように更新する。
また、上記目的を達成する更なる見地において、本願発明の一態様に係るシステム構築パラメータ管理プログラムは、対象システムの動作環境を定義する定義情報を収集する収集処理と、前記定義情報に基づいて、前記対象システムの構築に必要となる個別パラメータ情報を、前記定義情報から抽出する第一の抽出処理と、システム構築を行うプログラムが使用するシステム構築汎用情報から、汎用的なシステムの構築に必要となる汎用パラメータ情報を抽出する第二の抽出処理と、前記個別パラメータ情報と、前記汎用パラメータ情報とを比較し、その比較結果に基づいて、前記汎用パラメータ情報を、前記個別パラメータ情報に整合するように更新する更新処理と、をコンピュータに実行させる。
更に、本願発明は、係るシステム構築パラメータ管理プログラム(コンピュータプログラム)が格納された、コンピュータ読み取り可能な、不揮発性の記録媒体によっても実現可能である。
本願発明は、システム構築のための汎用的な情報を活用したシステムのマイグレーションを効率的に行うことを可能とする。
本願発明の第1の実施形態に係るシステム構築パラメータ管理システム1の構成を概念的に示すブロック図である。 本願発明の第1の実施形態に係るシステム定義情報150を例示する図(1/2)である。 本願発明の第1の実施形態に係るシステム定義情報150を例示する図(2/2)である。 本願発明の第1の実施形態に係る生成部12が、図2A及び図2Bに例示するシステム定義情報150に含まれる特定の文字列をパラメータ化した結果を例示する図(1/2)である。 本願発明の第1の実施形態に係る生成部12が、図2A及び図2Bに例示するシステム定義情報150に含まれる特定の文字列をパラメータ化した結果を例示する図(2/2)である。 本願発明の第1の実施形態に係る生成部12が、図2A及び図2Bに例示するシステム定義情報150、及び図3A及び図3Bに例示するシステム定義情報150に含まれる特定の文字列をパラメータ化した結果に基づいて生成した個別パラメータ情報151を例示する図である。 本願発明の第1の実施形態に係るIaCコード160を例示する図である。 本願発明の第1の実施形態に係るIaCパラメータ情報161を例示する図である。 本願発明の第1の実施形態に係る個別パラメータ情報151とIaCパラメータ情報161との間におけるパラメータの関連付けに関するケースを例示する図である。 本願発明の第1の実施形態に係るシステム構築パラメータ管理装置10の動作を示すフローチャートである。 本願発明の第2の実施形態に係るシステム構築パラメータ管理装置40の構成を概念的に示すブロック図である。 本願発明の各実施形態に係るシステム構築パラメータ管理装置を実行可能な情報処理装置900の構成を示すブロック図である。
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
<第1の実施形態>
図1は、本願発明の第1の実施の形態に係るシステム構築パラメータ管理システム1の構成を概念的に示すブロック図である。システム構築パラメータ管理システム1は、大別して、システム構築パラメータ管理装置10、管理端末装置20、既存システム(対象システム)30、及び、マイグレーション先システム31を含む。システム構築パラメータ管理装置10は、管理端末装置20、既存システム30、及び、マイグレーション先システム31と通信可能に接続されている。
システム構築パラメータ管理装置10は、例えばIaCツール(オーケストレータ)を用いた「Lift and Shift」を行うことによって、既存システム30を、例えばクラウド環境に構築されるマイグレーション先システム31にマイグレーションする際に必要となる、システムの動作環境を定義するパラメータを管理する情報処理装置である。既存システム30は、サービスを提供する事業者が保有するシステムであり、例えば、OpenStack(登録商標)やVMware(登録商標)等を実行する1以上のサーバ装置(情報処理装置)を含んでいる。IaCツールとしては、例えば、Ansible(登録商標)、Puppet(登録商標)、Chef(登録商標)等が知られている。
管理端末装置20は、システム構築パラメータ管理システム1の管理者が、システム構築パラメータ管理装置10に対して情報を入力する、あるいは、システム構築パラメータ管理装置10から出力された情報を確認する際に使用する、例えばパーソナルコンピュータ等の情報処理装置である。尚、システム構築パラメータ管理装置10は、管理端末装置20と接続される代わりに、管理端末装置20と同等の機能を有する管理部を備えるようにしてもよい。
システム構築パラメータ管理装置10は、収集部11、生成部12、抽出部13、更新部14、記憶部15、及び、IaCコードリポジトリ16を備えている。記憶部15は、例えば磁気ディスクあるいは電子メモリ等の記憶デバイスであり、後述するシステム定義情報150、及び、個別パラメータ情報151を記憶している。IaCコードリポジトリ16は、磁気ディスクあるいは電子メモリ等の記憶デバイスに構築された、汎用的なシステムを定義可能なIaCコード(システム構築汎用情報)160に関するデータベースである。IaCコードリポジトリ16としては、例えば、プログラムのソースコード等の管理に関する集中型バージョン管理システムの一つであるApache Subversion(登録商標)や、分散型バージョン管理システムの一つであるGit(登録商標)等が知られている。
収集部11は、収集基準110に基づいて、既存システム30からシステム定義情報150を収集し、収集したシステム定義情報150を記憶部15へ格納する。システム定義情報150は、既存システム30の動作環境を定義する情報であり、例えば、Webサーバアプリケーションの設定ファイル、あるいは、OS(Operating System)のカーネルパラメータなどを含む。
収集基準110は、例えば、収集すべきシステム定義情報150の識別子(例えばファイル名等)と、その収集すべきシステム定義情報150が存在する、既存システム30における場所(例えばシステム定義情報150であるファイルが格納された装置やフォルダの名称等)を表す情報である。収集基準110は、例えば、システム構築パラメータ管理システム1の管理者によって、システム構築パラメータ管理装置10に与えられていることとする。
図2A及び図2Bは、本実施形態に係るシステム定義情報150の一例を示す図である。図2A及び図2Bに例示するシステム定義情報150は、既存システム30に含まれる、Linux(登録商標)ディストリビューションの一つであるCentOS7(登録商標)を実行するサーバ装置の動作環境を設定するファイルである、/etc/ntp.confを表している。但し/etc/ntp.confは、ネットワークに接続される機器の時計を正しい時刻へ同期するプログラムであるntpd(network time protocol daemon)に関する設定ファイルである。
図1に示す生成部12は、記憶部15に格納されているシステム定義情報150に基づいて、既存システム30をマイグレーションしたマイグレーション先システム31の構築に必要となる個別パラメータ情報151を生成する。尚、既存システム30は、稼動済みのシステムに限定されず、例えばシステム設計が完了している未稼働のシステムであってもよい。生成部12は、個別パラメータ情報151を生成する過程において、システム定義情報150に含まれる特定の文字列を、例えばシステム構築パラメータ管理システム1の管理者によって与えられた所定の基準に基づいてパラメータ化(テンプレート化)する。但し、パラメータ化とは、上述した特定の文字列を、汎化(一般化)したパラメータにより表すことである。
図3A及び図3Bは、本実施形態に係る生成部12が、図2A及び図2Bに例示するシステム定義情報150に含まれる特定の文字列をパラメータ化(Jinja2テンプレート化:但しJinja2はプログラミング言語Python(登録商標)用のテンプレートエンジン)した結果を例示する図である。尚、図3A及び図3Bでは、説明の便宜上、パラメータ化した箇所を、太線枠によって表している。
生成部12は、例えば、図2Aに示すシステム定義情報150の0003行目に含まれる「/var/lib/ntp/drift」という文字列を、その前の「driftfile」という文字列に基づいて、図3Aに示す通り「driftfile_0」というパラメータに変換する。生成部12は、例えば、図2Aに示すシステム定義情報150の0006行目に含まれる「nomodify」、「notrap」、「nopeer」、「noquery」という4つの文字列を、その前の「restrict」という文字列に基づいて、図3Aに示す通り、順に、「restrict_1[0]」、「restrict_1[1]」、「restrict_1[2]」、「restrict_1[3]」、「restrict_1[4]」というパラメータに変換する。生成部12は、また、図2A及び図2Bに示すシステム定義情報150の0010、0011、0016、0025、0028、0041行目に含まれる文字列に関しても、同様に、図3A及び図3Bに示す通り、パラメータに変換する。
生成部12は、システム定義情報150と、システム定義情報150に含まれる特定の文字列を上述の通りパラメータ化した結果とに基づいて、個別パラメータ情報151を生成し、生成した個別パラメータ情報151を、記憶部15に格納する。
図4は、本実施形態に係る生成部12が、図2A及び図2Bに例示するシステム定義情報150と、図3A及び図3Bに例示するシステム定義情報150に含まれる特定の文字列をパラメータ化した結果と、に基づいて生成した個別パラメータ情報151を例示する図である。
生成部12は、例えば、図4に例示する個別パラメータ情報151の0002行目に示す通り、図3Bに例示するシステム定義情報150をパラメータ化した結果における0041行目に含まれる「disable_7」というパラメータと、図2Bに例示するシステム定義情報150における0041行目に含まれる「monitor」という文字列とを関連付けている。この場合、個別パラメータ情報151は、既存システム30の構築(即ち、既存システム30をマイグレーションしたマイグレーション先システム31の構築)において、パラメータ「disable_7」に「monitor」という値(内容)を設定することを表している。
生成部12は、例えば、図4に例示する個別パラメータ情報151の0003行目に示す通り、図3Bに例示するシステム定義情報150をパラメータ化した結果における0003行目に含まれる「driftfile_0」というパラメータと、図2Bに例示するシステム定義情報150における0003行目に含まれる「/var/lib/ntp/drift」という文字列とを関連付けている。この場合、個別パラメータ情報151は、既存システム30の構築(即ち、既存システム30をマイグレーションしたマイグレーション先システム31の構築)において、パラメータ「driftfile_0」に「/var/lib/ntp/drift」という値(内容)を設定することを表している。
図4に例示する通り、生成部12によって生成されたパラメータと当該パラメータに設定される値(内容)とを関連づける個別パラメータ情報151の態様は、後述するIaCパラメータ情報161の態様と同様である。
図1に示す抽出部13は、IaCコードリポジトリ16に登録されているIaCコード160から、汎用的なシステムの構築に必要となるIaCパラメータ情報(汎用パラメータ情報)161を抽出する。IaCコード160は、IaCツールによるシステム構築の手順を表すソースコードである。IaCコード160としては、例えば、Ansible Playbook、Puppet Manifest、Chef Cookbook等が知られている。
図5は、本実施形態に係るIaCコード160を例示する図である。図5に例示するIaCコード160は、IaCコードリポジトリ16に登録されているAnsible Playbookにおけるソースコードの少なくとも一部を表している。
図6は、本実施形態に係るIaCパラメータ情報161を例示する図である。IaCパラメータ情報161は、Ansible Playbookにおける一つのパートとしてIaCコード160に含まれているので、抽出部13は、Ansible Playbookに関する構文ルール等に基づいて、IaCコード160からIaCパラメータ情報161を抽出可能である。
図1に示す更新部14は、生成部12によって生成された個別パラメータ情報151と、抽出部13によって抽出されたIaCパラメータ情報161とを比較する。そして更新部14は、その比較結果に基づいて、IaCコード160に含まれるIaCパラメータ情報161を、個別パラメータ情報151に整合するように更新(補正)する。尚、「IaCパラメータ情報161を、個別パラメータ情報151に整合するように更新する」とは、例えば、IaCパラメータ情報161の内容を、個別パラメータ情報151が表す内容に変更することを表す。
図7は、本実施形態に係る更新部14が、IaCパラメータ情報161を個別パラメータ情報151に整合するように更新する過程において行う、個別パラメータ情報151とIaCパラメータ情報161との間におけるパラメータの関連付け(マッピング)に関するケースを例示する図である。
図7に例示するケースAは、IaCパラメータ情報161に存在するパラメータAに関連付けられるパラメータが、パラメータA’として個別パラメータ情報151に存在しており、パラメータAとパラメータA’との関連付けが可能なケースを表す。この場合、更新部14は、パラメータAに関して、個別パラメータ情報151に整合するようにIaCパラメータ情報161を更新する。
この場合における、更新部14によるIaCパラメータ情報161の更新の具体例について、図4乃至図6を参照して説明する。
例えば、図5に例示するIaCコード160は、その0004行目に含まれる「ntpserver」というパラメータを、図6に例示するIaCパラメータ情報161における0003行目に従って、「192.168.1.2」に設定することを表している。即ちこの場合、IaCコード160を実行するIaCツール(Ansible)は、NTP(Network Time Protocol)サーバ(正しい時刻情報を取得及び配信するサーバ)として、IP(Internet Protocol)アドレスが「192.168.1.2」であるサーバを指定してシステムを構築する。
一方、図4に例示する個別パラメータ情報151は、その0015行目に含まれるNTPサーバを表す「server_4」というパラメータを、0016行目に含まれる「ntp.nict.jp」及び0017行目に含まれる「iburst」に設定することを表している。尚、更新部14は、「server_4」がNTPサーバを表すことを、0016行目に「ntp」が含まれることによって特定可能である。即ちこの場合、図1に示す既存システム30では、識別子(名称)が「ntp.nict.jp」及び「iburst」であるサーバを、NTPサーバとして指定していることを表している。
更新部14は、図4乃至図6に示す例の場合、例えば、図6に例示するIaCパラメータ情報161における0003行目の「192.168.1.2」を、図4に例示する個別パラメータ情報151における0016行目の「ntp.nict.jp」及び0017行目の「iburst」に更新(補正)する。これにより、更新部14は、NTPサーバの設定に関して、IaCパラメータ情報161を個別パラメータ情報151に整合させる。
図7に例示するケースB1及びB2は、IaCパラメータ情報161に存在するパラメータB1あるいはB2に関連付けられるパラメータが、個別パラメータ情報151に存在しないので、当該パラメータの関連付けができないケースを表す。これら2つのケースでは、更新部14は、関連付けができないパラメータに関する情報を、管理端末装置20へ通知する。
これら2つのケースのうち、ケースB1は、IaCパラメータ情報161に存在するパラメータB1に関連付けられるパラメータが、実際には既存システム30に存在するが、収集部11によって収集されたシステム定義情報150に当該パラメータが含まれていないケースを表している。この場合、収集部11が既存システム30から当該パラメータに関する情報を収集できないのは、収集基準110に当該パラメータを収集するための情報が含まれていない(不足している)ことに起因する。
したがって当該パラメータを収集できない問題は、収集部11が、当該パラメータを収集するための情報を含むように収集基準110を更新することによって、次回に既存システム30からシステム定義情報150を収集する際には解消可能である。収集部11は、例えば、システム構築パラメータ管理システム1の管理者が管理端末装置20を介して入力した情報に基づいて、収集基準110を更新してもよい。収集部11は、あるいは例えば、更新部14によって更新されたIaCパラメータ情報161に基づいて、収集基準110を更新してもよい。更新部14によって更新されたIaCパラメータ情報161は、個別パラメータ情報151との整合が行われた(即ち、既存システム30に含まれるパラメータをより正確に表す)情報であるので、収集部11は、更新されたIaCパラメータ情報161に基づいて、当該パラメータを収集するための情報を、収集基準110に追加することが可能である。
図7に例示するケースB2は、IaCパラメータ情報161に存在するパラメータB2に関連付けられるパラメータが、実際に既存システム30に存在しないケースを表している。この場合、更新部14は、当該パラメータに関する情報をIaCパラメータ情報161から削除することによって、IaCパラメータ情報161を、個別パラメータ情報151に整合させる。但しこの場合、当該パラメータに関する情報をIaCパラメータ情報161から削除することに伴う問題(他の既存システムに関するマイグレーションへの影響など)が発生しないかについて検証する必要性が高い。したがって、更新部14は、システム構築パラメータ管理システム1の管理者が管理端末装置20を介して入力したその検証結果を表す情報に応じて、当該パラメータに関する情報をIaCパラメータ情報161から削除する。
図7に例示するケースCは、個別パラメータ情報151に存在するパラメータC’に関連付けられるパラメータが、IaCパラメータ情報161に存在せず、パラメータの関連付けができないケースを表す。
例えば、図4に例示する個別パラメータ情報151における0002行目に含まれる「disable_7」というパラメータと、そのパラメータへの設定値である「monitor」は、既存システム30におけるセキュリティ対策を表すパラメータに関する情報である。従って、当該パラメータがIaCパラメータ情報161に存在しない場合、IaCツールがIaCコード160を実行することによって構築されたマイグレーション先システム31は、セキュリティ対策が漏れた状態となる。
更新部14は、ケースCにおいても、ケースB1及びB2のときと同様に、関連付けができないパラメータに関する情報を、管理端末装置20へ通知する。そして更新部14は、当該パラメータに関する情報をIaCパラメータ情報161に追加することによって、IaCパラメータ情報161を、個別パラメータ情報151に整合させる。
更新部14は、個別パラメータ情報151とIaCパラメータ情報161とを比較することによって上述したパラメータの関連付けを行なう際に、例えば、周知技術であるテキストマッチング手法を用いることができる。更新部14は、あるいは、周知技術である機械学習を行うことによって、上述したパラメータの関連付けを行なうようにしてもよい。
システム構築パラメータ管理装置10は、更新したIaCパラメータ情報161を含むIaCコード160を、Ansible等のIaCツールを用いて実行することによって、既存システム30をマイグレーションしたマイグレーション先システム31を構築する。
次に図8のフローチャートを参照して、本実施形態に係るシステム構築パラメータ管理装置10の動作(処理)について詳細に説明する。
収集部11は、収集基準110に基づいて、既存システム30のシステム定義情報150を収集し、記憶部15に格納する(ステップS101)。生成部12は、収集部11によって収集されたシステム定義情報150に基づいて、既存システム30の構築に必要となる個別パラメータ情報151を生成する(ステップS102)。
抽出部13は、IaCコードリポジトリ16に登録されているIaCコード160から、汎用的なシステムの構築に必要となるIaCパラメータ情報161を抽出する(ステップS103)。更新部14は、生成部12によって生成された個別パラメータ情報151と、抽出部13によって抽出されたIaCパラメータ情報161とを比較する(ステップS104)。
IaCパラメータ情報161に含まれるあるパラメータと、個別パラメータ情報151に含まれるあるパラメータとの関連付けが可能(図7に示すケースA)である場合(ステップS105でYes)、更新部14は、IaCパラメータ情報161を、個別パラメータ情報151に整合するように更新し(ステップS111)、全体の処理は終了する。
IaCパラメータ情報161に含まれるあるパラメータと、個別パラメータ情報151に含まれるあるパラメータとの関連付けが可能でない(図7に示すケースA以外)場合(ステップS105でNo)、更新部14は、管理端末装置20へ、パラメータ同士の関連付けができない状況を通知する(ステップS106)。
個別パラメータ情報151におけるパラメータに関連付けられるパラメータが、IaCパラメータ情報161に存在しない(図7に示すケースC)の場合(ステップS107でYes)、処理はステップS111へ進み、その後、全体の処理は終了する。
IaCパラメータ情報161におけるパラメータに関連付けられるパラメータが、個別パラメータ情報151に存在しない(図7に示すケースB1及びB2)の場合(ステップS107でYes)、処理はステップS108へ進む。
IaCパラメータ情報161におけるパラメータに関連付けられるパラメータが、実際には既存システム30に存在する(図7に示すケースB1)場合(ステップS108でYes)、収集部11は、当該パラメータを収集するための情報を含むように収集基準110を更新し(ステップS109)、全体の処理は終了する。
IaCパラメータ情報161におけるパラメータに関連付けられるパラメータが、実際に既存システム30に存在しない(図7に示すケースB2)場合(ステップS108でNo)、処理はステップS110へ進む。
システム構築パラメータ管理システム1の管理者が、IaCパラメータ情報161を更新しないことを決定した場合(ステップS110でNo)、全体の処理は終了する。システム構築パラメータ管理システム1の管理者が、IaCパラメータ情報161を更新することを決定した場合(ステップS110でYes)、処理はステップS111へ進み、その後、全体の処理は終了する。
本実施形態に係るシステム構築パラメータ管理装置10は、システム構築のための汎用的な情報を活用したシステムのマイグレーションを効率的に行うことができる。その理由は、システム構築パラメータ管理装置10は、既存システム30から収集したシステム定義情報150に基づいて個別パラメータ情報151を生成し、IaCコード160から抽出したIaCパラメータ情報161と個別パラメータ情報151とを比較した結果に基づいて、IaCパラメータ情報161を、個別パラメータ情報151に整合するように更新するからである。
以下に、本実施形態に係るシステム構築パラメータ管理装置10によって実現される効果について、詳細に説明する。
近年、クラウド基盤や仮想化基盤の利用が普及するにつれて、IaCと呼ばれるプロセス(手法)が注目されている。IaCでは、IaCコードを用いてシステム定義を行い、オーケストレータと呼ばれるツールによって、システムの構築(プロビジョニング)を自動化する。IaCコードは、インターネットや企業内ネットワーク等によって公開された情報であり、このような汎用的なIaCコードを活用することによって、上述したシステムのマイグレーションを効率的に行うことが期待できる。したがって、IaCコードのようなシステム構築のための汎用的な情報を活用してマイグレーションを行えるようにすることが課題である。
このような課題に対して、本実施形態に係るシステム構築パラメータ管理装置10は、収集部11と、生成部12と、抽出部13と、更新部14とを備え、例えば図1乃至図8を参照して上述した通り動作する。即ち、収集部11は、既存システム(対象システム)30の動作環境を定義するシステム定義情報150を収集する。生成部12は、システム定義情報150に基づいて、既存システム30(即ちマイグレーション先システム31)の構築に必要となる個別パラメータ情報151を生成する。抽出部13は、IaCツール(システム構築を行うプログラム)が使用するIaCコード(システム構築汎用情報)160から、汎用的なシステムの構築に必要となるIaCパラメータ情報(汎用パラメータ情報)161を抽出する。そして更新部14は、個別パラメータ情報151と、IaCパラメータ情報161とを比較し、その比較結果に基づいて、IaCパラメータ情報161を、個別パラメータ情報151に整合するように更新する。
即ち、本実施形態に係るシステム構築パラメータ管理装置10は、通常、システム定義情報150に整合がとれていないIaCパラメータ情報161を、システム定義情報150に整合するように更新するので、IaCツールが、既存システム30との整合がとれたIaCパラメータ情報161を用いてマイグレーション先システム31を構築することを実現できる。
また、本実施形態に係る収集部11は、更新部14によって更新されたIaCパラメータ情報161に基づいて収集基準110を更新し、更新した収集基準110に基づいてシステム定義情報150を収集する。即ち、収集部11は、収集基準110に含まれる情報が不十分であることによって、既存システム30に含まれる一部パラメータに関する情報を収集できない場合、既存システム30に整合するように更新されたIaCパラメータ情報161に基づいて収集基準110を更新する。これにより、収集部11は、前回既存システム30から収集できなかったパラメータに関する情報を収集基準110に追加できるので、次回にシステム定義情報150を収集する際には、前回収集できなかったパラメータに関する情報を収集可能となる。したがって、本実施形態に係るシステム構築パラメータ管理装置10は、既存システム30からシステム定義情報150を収集する動作と、IaCパラメータ情報161を既存システム30に整合するように更新し、更新したIaCパラメータ情報161に基づいて収集基準110を更新する動作を繰り返し行う過程において、既存システム30をマイグレーション先システム31にマイグレーションする精度を、効率的に高めることができる。
また、本実施形態に係る生成部12は、システム定義情報150に含まれる特定の文字列をパラメータ化(テンプレート化)し、パラメータ化した当該特定の文字列と、パラメータ化する前の当該特定の文字列とを関連づける個別パラメータ情報151を生成する。この個別パラメータ情報151の態様は、IaCパラメータ情報161の態様と同様であるので、本実施形態に係るシステム構築パラメータ管理装置10は、個別パラメータ情報151とIaCパラメータ情報161との比較を、容易に行うことができる。
また、本実施形態に係る更新部14は、IaCパラメータ情報161に含まれるあるパラメータと、個別パラメータ情報151に含まれるあるパラメータとの関連付けができない(図7に示すケースA以外)場合、当該パラメータに関する情報を管理端末装置20へ出力する。そして、更新部14は、IaCパラメータ情報161に含まれるあるパラメータに関連付けられるパラメータが個別パラメータ情報151に存在しない場合、管理端末装置20からIaCパラメータ情報161を更新することを指示する情報を入力されることをもって、当該パラメータを表す情報に基づいて、IaCパラメータ情報161を更新する。したがって、本実施形態に係るシステム構築パラメータ管理装置10は、IaCパラメータ情報161を不適切に更新することによって、その後に問題が発生することを回避できる。
また、システム構築パラメータ管理装置10が用いるシステム構築のための汎用的な情報は、IaCコードリポジトリ16に登録されたIaCコード160に限定されない。システム構築パラメータ管理装置10は、IaCコードとは異なる仕様の情報を、システム構築のための汎用的な情報として用いてもよい。
<第2の実施形態>
図9は、本願発明の第2の実施形態に係るシステム構築パラメータ管理装置40の構成を概念的に示すブロック図である。
本実施形態に係るシステム構築パラメータ管理装置40は、収集部41、生成部42、抽出部43、及び、更新部44を備えている。
収集部41は、対象システム50の動作環境を定義する定義情報410を収集する。
生成部42は、定義情報410に基づいて、対象システム50の構築に必要となる個別パラメータ情報420を生成する。
抽出部43は、システム構築を行うプログラムが使用するシステム構築汎用情報430から、汎用的なシステムの構築に必要となる汎用パラメータ情報431を抽出する。
更新部44は、個別パラメータ情報420と、汎用パラメータ情報431とを比較し、その比較結果に基づいて、汎用パラメータ情報431を、個別パラメータ情報420に整合するように更新する。
本実施形態に係るシステム構築パラメータ管理装置40は、システム構築のための汎用的な情報を活用したシステムのマイグレーションを効率的に行うことができる。その理由は、システム構築パラメータ管理装置40は、対象システム50から収集した定義情報410に基づいて個別パラメータ情報420を生成し、システム構築汎用情報430から抽出した汎用パラメータ情報431と個別パラメータ情報420とを比較した結果に基づいて、汎用パラメータ情報431を、個別パラメータ情報420に整合するように更新するからである。
<ハードウェア構成例>
上述した各実施形態において図1、及び、図9に示したシステム構築パラメータ管理装置における各部は、専用のHW(HardWare)(電子回路)によって実現することができる。また、図1、及び、図9において、少なくとも、下記構成は、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。
・収集部11及び41、
・生成部12及び42、
・抽出部13及び43、
・更新部14及び44、
・記憶部15及びIaCコードリポジトリ16における記憶制御機能。
但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図10を参照して説明する。
図10は、本願発明の各実施形態に係るシステム構築パラメータ管理装置を実行可能な情報処理装置900(コンピュータ)の構成を例示的に説明する図である。即ち、図10は、図1、及び、図9に示したシステム構築パラメータ管理装置を実現可能なコンピュータ(情報処理装置)の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
図10に示した情報処理装置900は、構成要素として下記を備えている。
・CPU(Central_Processing_Unit)901、
・ROM(Read_Only_Memory)902、
・RAM(Random_Access_Memory)903、
・ハードディスク(記憶装置)904、
・通信インタフェース905、
・バス906(通信線)、
・CD−ROM(Compact_Disc_Read_Only_Memory)等の記録媒体907に格納されたデータを読み書き可能なリーダライタ908、
・モニターやスピーカ、キーボード等の入出力インタフェース909。
即ち、上記構成要素を備える情報処理装置900は、これらの構成がバス906を介して接続された一般的なコンピュータである。情報処理装置900は、CPU901を複数備える場合もあれば、マルチコアにより構成されたCPU901を備える場合もある。
そして、上述した実施形態を例に説明した本願発明は、図10に示した情報処理装置900に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図(図1、及び、図9)における上述した構成、或いはフローチャート(図8)の機能である。本願発明は、その後、そのコンピュータプログラムを、当該ハードウェアのCPU901に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性のメモリ(RAM903)、または、ROM902やハードディスク904等の不揮発性の記憶デバイスに格納すれば良い。
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、CD−ROM等の各種記録媒体907を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本願発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記録媒体907によって構成されると捉えることができる。
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
1 システム構築パラメータ管理システム
10 システム構築パラメータ管理装置
11 収集部
110 収集基準
12 生成部
13 抽出部
14 更新部
15 記憶部
150 システム定義情報
151 個別パラメータ情報
16 IaCコードリポジトリ
160 IaCコード
161 IaCパラメータ情報
20 管理端末装置
30 既存システム
31 マイグレーション先システム
40 システム構築パラメータ管理装置
41 収集部
410 定義情報
42 生成部
420 個別パラメータ情報
43 抽出部
430 システム構築汎用情報
431 汎用パラメータ情報
44 更新部
50 対象システム
900 情報処理装置
901 CPU
902 ROM
903 RAM
904 ハードディスク(記憶装置)
905 通信インタフェース
906 バス
907 記録媒体
908 リーダライタ
909 入出力インタフェース

Claims (9)

  1. 対象システムの動作環境を定義する定義情報を収集する収集手段と、
    前記定義情報に基づいて、前記対象システムの構築に必要となる個別パラメータ情報を生成する生成手段と、
    システム構築を行うプログラムが使用するシステム構築汎用情報から、汎用的なシステムの構築に必要となる汎用パラメータ情報を抽出する抽出手段と、
    前記個別パラメータ情報と、前記汎用パラメータ情報とを比較し、その比較結果に基づいて、前記汎用パラメータ情報を、前記個別パラメータ情報に整合するように更新する更新手段と、
    を備え
    前記収集手段は、前記更新手段によって更新された前記汎用パラメータ情報に基づいて収集基準を更新し、更新した前記収集基準に基づいて前記定義情報を収集する、
    システム構築パラメータ管理装置。
  2. 前記生成手段は、前記定義情報に含まれる特定の文字列をパラメータ化し、パラメータ化した前記特定の文字列を含む前記個別パラメータ情報を生成する、
    請求項1に記載のシステム構築パラメータ管理装置。
  3. 前記更新手段は、テキストマッチング手法を用いて、あるいは、機械学習を行うことによって、前記個別パラメータ情報と、前記汎用パラメータ情報とを比較する、
    請求項1または請求項2に記載のシステム構築パラメータ管理装置。
  4. 管理手段をさらに備え、
    前記更新手段は、前記汎用パラメータ情報には存在し、かつ、前記個別パラメータ情報には存在しないパラメータを表す情報を、前記管理手段へ出力するとともに、前記管理手段から前記汎用パラメータ情報を更新することを指示する情報を入力された場合に、前記パラメータを表す情報に基づいて、前記汎用パラメータ情報を更新する、
    請求項1乃至請求項のいずれか一項に記載のシステム構築パラメータ管理装置。
  5. 管理手段をさらに備え、
    前記更新手段は、前記汎用パラメータ情報には存在せず、かつ、前記個別パラメータ情報には存在するパラメータを表す情報を、前記管理手段へ出力するとともに、前記パラメータを表す情報に基づいて、前記汎用パラメータ情報を更新する、
    請求項1乃至請求項のいずれか一項に記載のシステム構築パラメータ管理装置。
  6. 前記システム構築汎用情報はIaC(Infrastructure as Code)コードである、
    請求項1乃至請求項のいずれか一項に記載のシステム構築パラメータ管理装置。
  7. 前記汎用パラメータ情報を含む前記システム構築汎用情報を用いて、前記システム構築を行うプログラムを実行することによって、前記対象システムをマイグレーション先システムにマイグレーションする請求項1乃至のいずれか一項に記載のシステム構築パラメータ管理装置と、
    前記対象システムと、
    前記マイグレーション先システムと、
    を有するシステム構築パラメータ管理システム。
  8. 情報処理装置によって、
    対象システムの動作環境を定義する定義情報を収集し、
    前記定義情報に基づいて、前記対象システムの構築に必要となる個別パラメータ情報を、前記定義情報から抽出し、
    システム構築を行うプログラムが使用するシステム構築汎用情報から、汎用的なシステムの構築に必要となる汎用パラメータ情報を抽出し、
    前記個別パラメータ情報と、前記汎用パラメータ情報とを比較し、その比較結果に基づいて、前記汎用パラメータ情報を、前記個別パラメータ情報に整合するように更新する方法であって
    更新された前記汎用パラメータ情報に基づいて収集基準を更新し、更新した前記収集基準に基づいて前記定義情報を収集する、
    システム構築パラメータ管理方法。
  9. 対象システムの動作環境を定義する定義情報を収集する収集処理と、
    前記定義情報に基づいて、前記対象システムの構築に必要となる個別パラメータ情報を、前記定義情報から抽出する第一の抽出処理と、
    システム構築を行うプログラムが使用するシステム構築汎用情報から、汎用的なシステムの構築に必要となる汎用パラメータ情報を抽出する第二の抽出処理と、
    前記個別パラメータ情報と、前記汎用パラメータ情報とを比較し、その比較結果に基づいて、前記汎用パラメータ情報を、前記個別パラメータ情報に整合するように更新する更新処理と、
    をコンピュータに実行させるためのプログラムであって、
    前記収集処理は、前記更新処理によって更新された前記汎用パラメータ情報に基づいて収集基準を更新し、更新した前記収集基準に基づいて前記定義情報を収集する、
    システム構築パラメータ管理プログラム。
JP2018192667A 2018-10-11 2018-10-11 システム構築パラメータ管理装置、システム構築パラメータ管理システム、システム構築パラメータ管理方法、及び、システム構築パラメータ管理プログラム Active JP6705482B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018192667A JP6705482B2 (ja) 2018-10-11 2018-10-11 システム構築パラメータ管理装置、システム構築パラメータ管理システム、システム構築パラメータ管理方法、及び、システム構築パラメータ管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018192667A JP6705482B2 (ja) 2018-10-11 2018-10-11 システム構築パラメータ管理装置、システム構築パラメータ管理システム、システム構築パラメータ管理方法、及び、システム構築パラメータ管理プログラム

Publications (2)

Publication Number Publication Date
JP2020061019A JP2020061019A (ja) 2020-04-16
JP6705482B2 true JP6705482B2 (ja) 2020-06-03

Family

ID=70220019

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018192667A Active JP6705482B2 (ja) 2018-10-11 2018-10-11 システム構築パラメータ管理装置、システム構築パラメータ管理システム、システム構築パラメータ管理方法、及び、システム構築パラメータ管理プログラム

Country Status (1)

Country Link
JP (1) JP6705482B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023162260A1 (ja) * 2022-02-28 2023-08-31 日本電気株式会社 環境構築支援装置、システム及び方法、並びに、コンピュータ可読媒体

Also Published As

Publication number Publication date
JP2020061019A (ja) 2020-04-16

Similar Documents

Publication Publication Date Title
US8429645B2 (en) Method for optimizing migration of software applications to address needs
US10901804B2 (en) Apparatus and method to select services for executing a user program based on a code pattern included therein
JP2017062767A5 (ja)
US20070169079A1 (en) Software update management
US20100281463A1 (en) XML based scripting framework, and methods of providing automated interactions with remote systems
JP6673359B2 (ja) システム構築支援システム、方法およびプログラム
WO2020015191A1 (zh) 业务规则的发布管理方法、电子装置及可读存储介质
KR102214139B1 (ko) 클라우드 인프라 템플릿 관리 시스템
US9560121B2 (en) Provisioning a web hosting resource using a cloud service
US11144292B2 (en) Packaging support system and packaging support method
WO2017020459A1 (zh) 一种为宿主配置插件包的方法与装置
CN104461531A (zh) 一种报表系统自定义函数的实现方法
CN115185550A (zh) 服务部署方法、装置、计算机设备及存储介质
CN111068336A (zh) 游戏译文版本的生成方法、装置、电子设备及存储介质
JPWO2017017937A1 (ja) 配備装置、配備方法、及び、記録媒体
CN113330419A (zh) 一种设备应用安装方法和装置
CN111309332A (zh) 文件内容按需加载方法、装置及电子设备、存储介质
JP6705482B2 (ja) システム構築パラメータ管理装置、システム構築パラメータ管理システム、システム構築パラメータ管理方法、及び、システム構築パラメータ管理プログラム
CN110806891B (zh) 嵌入式设备软件版本的生成方法及装置
JP7131119B2 (ja) ソースアプリケーションからのソースデータをターゲットアプリケーションのターゲットデータへとマージするためのシステムおよび方法
CN114500268B (zh) chart资源的部署方法、装置、服务器及存储介质
Kano Kachako: A Hybrid-Cloud Unstructured Information Platform for Full Automation of Service Composition, Scalable Deployment and Evaluation: Natural Language Processing as an Example
JP2014164545A (ja) デプロイメント方法およびプログラム
CN113064698A (zh) 提供产品环境的方法及相应的装置、系统、设备和介质
KR102337810B1 (ko) 클라우드 인프라 프로바이더 및 서비스 템플릿 관리 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181011

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190910

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191106

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: 20200414

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200427

R150 Certificate of patent or registration of utility model

Ref document number: 6705482

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150