(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023141802
(43)【公開日】2023-10-05
(54)【発明の名称】マイクロサービス移行支援装置、及びマイクロサービス移行支援方法
(51)【国際特許分類】
G06F 8/20 20180101AFI20230928BHJP
【FI】
G06F8/20
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022048305
(22)【出願日】2022-03-24
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000176
【氏名又は名称】弁理士法人一色国際特許事務所
(72)【発明者】
【氏名】フー シージェン
(72)【発明者】
【氏名】山崎 謙太
(72)【発明者】
【氏名】受田 賢知
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376BC11
5B376BC38
5B376DA11
5B376DA16
5B376FA13
(57)【要約】
【課題】情報処理システムのマイクロサービスへの移行を支援する。
【解決手段】マイクロサービス移行支援装置は、マイクロサービスへの移行の対象となるシステムである対象システムの構成要素に関する情報であるシステム構成情報と、対象システムにおいて実行されたソフトウェアの実行履歴であるシステム実行履歴と、を記憶し、システム構成情報及びシステム実行履歴に基づき、対象システムにおける構成要素の間の関係の強さを示す指標である要素間距離行列を生成し、生成した要素間距離行列に基づき構成要素をクラスタリングすることによりマイクロサービスの構成案を生成して出力する。また、マイクロサービス移行支援装置は、ユーザインタフェースを介して、予め設定された観点ごとにユーザから受け付けた移行方針に基づき調整した要素間距離行列により構成要素をクラスタリングする。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プロセッサ及び記憶装置を有する情報処理装置を用いて構成され、
マイクロサービスへの移行の対象となるシステムである対象システムの構成要素に関する情報であるシステム構成情報と、
前記対象システムにおいて実行されたソフトウェアの実行履歴であるシステム実行履歴と、
を記憶し、
前記システム構成情報及び前記システム実行履歴に基づき、前記対象システムにおける前記構成要素の間の関係の強さを示す指標である要素間距離を求め、
前記要素間距離に基づき前記構成要素をクラスタリングすることによりマイクロサービスの構成案を生成して出力する、
マイクロサービス移行支援装置。
【請求項2】
請求項1に記載のマイクロサービス移行支援装置であって、
前記要素間距離を調整するためのユーザインタフェースを提供し、
ユーザが前記調整を行った後の前記要素間距離に基づき前記構成要素をクラスタリングすることにより前記構成案を生成する、
マイクロサービス移行支援装置。
【請求項3】
請求項2に記載のマイクロサービス移行支援装置であって、
予め設定された観点についてユーザの移行方針の設定を受け付け、
受け付けた前記移行方針に基づき前記要素間距離を調整する、
マイクロサービス移行支援装置。
【請求項4】
請求項3に記載のマイクロサービス移行支援装置であって、
複数の前記観点の中からユーザが選択した一つ以上の前記観点ごとに前記移行方針の設定を受け付け、
受け付けた前記移行方針に基づき前記要素間距離を調整する、
マイクロサービス移行支援装置。
【請求項5】
請求項4に記載のマイクロサービス移行支援装置であって、
前記ユーザインタフェースは、前記観点についてユーザの移行方針の設定を受け付けるためのスライドバーを有する画面を含む、
マイクロサービス移行支援装置。
【請求項6】
請求項3に記載のマイクロサービス移行支援装置であって、
前記観点は、データ集約型かデータ分散型か、業務視点での分割を優先するか機能を再利用する視点での分割を優先するか、及び既存の組織の体制を優先するか組織の再編を前提とするか、のうちの少なくともいずれかである、
マイクロサービス移行支援装置。
【請求項7】
請求項1に記載のマイクロサービス移行支援装置であって、
前記構成要素は、前記対象システムが備える機能又は前記対象システムが取り扱うデータであり、
前記構成要素の間の関係は、一の前記機能と他の前記機能の関係、一の前記機能と前記データの関係、及び、一の前記データと他の前記データの関係のうちの少なくともいずれかである、
マイクロサービス移行支援装置。
【請求項8】
請求項1に記載のマイクロサービス移行支援装置であって、
前記システム実行履歴は、前記対象システムが備える機能による他の機能の呼び出し回数を示す情報を含み、
前記呼び出し回数に基づき前記機能の間の関係の強さを求める、
マイクロサービス移行支援装置。
【請求項9】
請求項1に記載のマイクロサービス移行支援装置であって、
前記クラスタリングを行った後における各クラスタに所属する前記構成要素の間の距離が最小になるように前記クラスタリングを行う、
マイクロサービス移行支援装置。
【請求項10】
請求項1に記載のマイクロサービス移行支援装置であって、
所定の評価手法を用いて前記構成案を評価した情報である評価情報を生成し、生成した前記評価情報を出力する、
マイクロサービス移行支援装置。
【請求項11】
プロセッサ及び記憶装置を有する情報処理装置が、
マイクロサービスへの移行の対象となるシステムである対象システムの構成要素に関する情報であるシステム構成情報と、
前記対象システムにおいて実行されたソフトウェアの実行履歴であるシステム実行履歴と、
を記憶するステップ、
前記システム構成情報及び前記システム実行履歴に基づき、前記対象システムにおける前記構成要素の間の関係の強さを示す指標である要素間距離を求めるステップ、及び、
前記要素間距離に基づき前記構成要素をクラスタリングすることによりマイクロサービスの構成案を生成して出力するステップ、
を実行する、マイクロサービス移行支援方法。
【請求項12】
請求項11に記載のマイクロサービス移行支援方法であって、
前記情報処理装置が、
前記要素間距離を調整するためのユーザインタフェースを提供するステップ、及び、
ユーザが前記調整を行った後の前記要素間距離に基づき前記構成要素をクラスタリングすることにより前記構成案を生成するステップ、
を更に実行する、マイクロサービス移行支援方法。
【請求項13】
請求項12に記載のマイクロサービス移行支援方法であって、
前記情報処理装置が、
予め設定された観点についてユーザの移行方針の設定を受け付けるステップ、及び、
受け付けた前記移行方針に基づき前記要素間距離を調整するステップ、
を更に実行する、マイクロサービス移行支援方法。
【請求項14】
請求項13に記載のマイクロサービス移行支援方法であって、
前記情報処理装置が、
複数の前記観点の中からユーザが選択した一つ以上の前記観点ごとに前記移行方針の設定を受け付けるステップ、及び、
受け付けた前記移行方針に基づき前記要素間距離を調整するステップ、
を更に実行する、マイクロサービス移行支援方法。
【請求項15】
請求項11に記載のマイクロサービス移行支援方法であって、
前記構成要素は、前記対象システムが備える機能又は前記対象システムが取り扱うデータであり、
前記構成要素の間の関係は、一の前記機能と他の前記機能の関係、一の前記機能と前記データの関係、及び、一の前記データと他の前記データの関係のうちの少なくともいずれかである、
マイクロサービス移行支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マイクロサービス移行支援装置、及びマイクロサービス移行支援方法に関する。
【背景技術】
【0002】
特許文献1には、複数の業務によりアクセスされるデータを対象のシステムから適切に分離可能にすることを目的として構成された分離装置について記載されている。分離装置は、対象のシステムにおけるプログラム資産を記憶し、プログラム資産を参照することにより、対象のシステムの第1のプログラムにアクセスされる第1のデータと、対象のシステムの第2のプログラムにアクセスされる第2のデータとを特定し、第1のプログラム及び第2のプログラムの両方にアクセスされるデータを、複数の業務から参照または更新される共通データとして出力する。
【0003】
特許文献2には、データベースを利用したソフトウェアの開発において、ソフトウェア開発者が実施するコンポーネントの分割を支援することを目的として構成されたコンポーネント分割支援装置について記載されている。コンポーネント分割支援装置は、開発対象ソフトウェアのコンポーネントの要素であるサービスインタフェース、テーブル及びそれらの間の依存関係に関する定義データを記憶し、依存関係に関して不正な依存関係を規定するポリシーデータを記憶し、ポリシーに反する依存関係を改善する案を記憶し、不正な依存関係を規定するポリシーデータを用いて、依存関係の中からポリシーに反する依存関係を検出し、ポリシーに反する依存関係を改善する案を用いて検出したポリシーに反する依存関係の改善案の候補を出力する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2019-133541号公報
【特許文献2】特開2009-129355号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
昨今のDX(Digital Transformation)の潮流に伴い、既存の情報処理システム(以下、「レガシーシステム」と称する。)についての、マイクロサービスをベースとしたクラウドネイティブシステムへの移行に対するニーズが増大している。ここで上記の移行に際しては、モノリシックアーキテクチャ等で構成されたレガシーシステムの構成要素(コンポーネント)を適切なマイクロサービスに分割する必要があるが、その際はレガシーシステムの仕様や当該レガシーシステムが適用される業務に精通した専門家の確保が不可欠である。
【0006】
しかし、レガシーシステムの運用現場において専門家を確保することは必ずしも容易でなく、マイクロサービスへの移行に際しボトルネックとなる。また、移行に際しては、移行後のマイクロサービスの構成についてユーザの多様な要求に柔軟に対応する必要もある。
【0007】
特許文献1に記載されている分離装置は、複数のプログラムからアクセスされるデータを複数の業務から参照もしくは更新される共通データとして特定する。また、特許文献2に記載されているコンポーネント分割支援装置は、コンポーネント分割の際にポリシーに反するコンポーネント要素間の依存関係を検出し、検出した不正依存関係に対する改善策
の候補を出力する。しかし、上記いずれの文献に記載された技術についても、レガシーシステムの構成要素のマイクロサービスへの分割を想定したものではない。また、専門家の確保が難しいことやユーザの要求への対応を考慮した仕組みについてはいずれの文献にも開示されていない。
【0008】
本発明は、このような背景に鑑みてなされたものであり、情報処理システムのマイクロサービスへの移行を支援するマイクロサービス移行支援装置、及びマイクロサービス移行支援方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記の目的を達成するための本発明の一つは、マイクロサービス移行支援装置であって、マイクロサービスへの移行の対象となるシステムである対象システムの構成要素に関する情報であるシステム構成情報と、前記対象システムにおいて実行されたソフトウェアの実行履歴であるシステム実行履歴と、を記憶し、前記システム構成情報及び前記システム実行履歴に基づき、前記対象システムにおける前記構成要素の間の関係の強さを示す指標である要素間距離を求め、前記要素間距離に基づき前記構成要素をクラスタリングすることによりマイクロサービスの構成案を生成して出力する。
【0010】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。
【発明の効果】
【0011】
本発明によれば、情報処理システムのマイクロサービスへの移行を支援することができる。
【図面の簡単な説明】
【0012】
【
図1】マイクロサービス移行支援装置が備える主な機能を示す図である。
【
図2】一例として示す対象システムのシステム構成図である。
【
図4】支援情報提供処理の一例を説明するフローチャートである。
【
図7】要素間距離行列(調整後)に基づき構成案を生成する様子を説明する図である。
【
図9】移行支援装置の構成に用いる情報処理装置のハードウェア構成例である。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態について適宜図面を参照しつつ詳細に説明する。以下の説明において、同一の又は類似する構成について同一の符号を付して重複した説明を省略することがある。また、以下の説明において、符号の前に付した「S」の文字は処理ステップの意味である。また、以下の説明において、「情報」、「テーブル」等の表現にて各種データを説明することがあるが、各種データは例示するデータ構造以外の方法で表現もしくは管理してもよい。
【0014】
図1に、一実施形態として示すマイクロサービス移行支援装置(以下、「移行支援装置100」と称する。)が備える主な機能を示している。移行支援装置100は、一つ以上の情報処理装置(コンピュータ)を用いて構成される。移行支援装置100は、モノリシックアーキテクチャ等で構成された既存の情報処理システム(以下、「対象システム」と称する。)の構成要素(コンポーネント)のマイクロサービスへの移行についての支援情
報をユーザに提供する。
【0015】
具体的には、まず、移行支援装置100は、対象システムの静的な情報であるシステム構成情報と、対象システムの動的な情報であるシステム実行履歴を対象システムから取得する。
【0016】
続いて、移行支援装置100は、取得したシステム構成情報及びシステム実行履歴に基づき、対象システムの構成要素である機能及びデータの関係(機能と機能の関係、機能とデータの関係、データとデータの関係)の強さ(強度)を表す指標(以下、「要素間距離」と称する。)を生成する。
【0017】
続いて、移行支援装置100は、ユーザインタフェースを介してユーザから移行後のマイクロサービスの構成(マイクロサービスアーキテクチャ、マイクロサービスパターン、マイクロサービスの運用/保守形態等)についての要求(以下、「移行方針」と称する。)を受け付け、受け付けた移行方針に基づき要素間距離を調整する。尚、移行支援装置100は、予め設定された観点(データ集約型かデータ分散型か、業務視点での分割を優先するか機能を再利用する視点での分割を優先するか、既存の組織(保守/運用チーム等)の体制を優先するか組織の再編を前提とするか等)ごとに移行方針を受け付ける。
【0018】
そして、移行支援装置100は、調整後の要素間距離に基づき対象システムの構成要素を所定のクラスタリング手法を用いて分割し、得られたマイクロサービスの構成案や当該構成案についての評価情報(以下、「構成案評価情報」と称する。)を支援情報としてユーザに提供する。
【0019】
このように、移行支援装置100は、静的な情報であるシステム構成情報と、動的な情報であるシステム実行履歴とに基づき、対象システムの構成要素である機能及びデータの関係の強さを示す指標である要素間距離を算出する。そして、移行支援装置100は、算出した要素間距離に基づきマイクロサービスの構成案や構成案評価情報を生成し、生成した情報を支援情報としてユーザに提供する。このため、対象システムや当該対象システムが適用される業務に精通した専門家を確保する必要がなく、効率よく適切なマイクロサービスの構成案を立案することができる。
【0020】
また、移行支援装置100は、ユーザから移行後のマイクロサービスの構成についての要求 (移行方針)を受け付け、受け付けた移行方針に基づき要素間距離を調整し、調整
後の要素間距離に基づき構成案を生成する。そのため、移行後のマイクロサービスの構成についてのユーザの多様な要求に柔軟に対応することができる。
【0021】
また、移行支援装置100は、移行方針の設定を所定の観点ごとにユーザから受け付けるので、ユーザにとって理解しやすい形で要素間距離を調整、即ちマイクロサービスの構成案を調整することができる。そのため、例えば、ユーザが顧客に対して構成案を提案する業務を行う者である場合、顧客に対して説得力や納得感のある構成案を提示することができる。
【0022】
図1に示すように、移行支援装置100は、記憶部110、システム構成情報取得部130、システム実行履歴取得部135、要素間距離算出部140、移行方針受付部145、要素間距離調整部150、構成案生成部155、構成案評価部160、及び支援情報提供部165の各機能を備える。
【0023】
上記機能のうち、記憶部110は、システム構成情報111、システム実行履歴112、システム構成
図113、要素間距離行列114、移行方針情報115、要素間距離行列
(調整後)116、構成案117、及び構成案評価情報118を記憶する。
【0024】
システム構成情報取得部130は、対象システムからシステム構成情報を取得し、取得したシステム構成情報をシステム構成情報111として記憶部110に管理する。システム構成情報取得部130は、例えば、通信ネットワークや記録媒体を介して対象システムからシステム構成情報を取得する。
【0025】
システム構成情報は、例えば、対象システムの機能を実現しているソフトウェアに関する情報、対象システムが取り扱うデータに関する情報、ソフトウェアとデータの関係に関する情報である。上記のソフトウェアに関する情報は、例えば、ソフトウェアの実体(プログラムのソースコード、メソッド、モジュール、API(Application Program Interface))、ソフトウェアにより実現される各種機能の間の関係を示す情報(各種定義情報
、システム設計書等)である。また、上記のデータに関する情報は、例えば、対象システムにおいて管理されるデータやデータベースに関する情報(データ構造、テーブル構造、データベース構造、データやテーブル間の関係を示す情報等)である。また、上記のソフトウェアとデータの関係に関する情報は、例えば、プログラムがアクセスするデータやデータベース(テーブル)を示す情報である。
【0026】
システム実行履歴取得部135は、対象システムにおけるソフトウェアの実行履歴(実行ログ)に関する情報(以下、「システム実行履歴」と称する。)を対象システムから取得し、取得したシステム実行履歴をシステム実行履歴112として記憶部110に管理する。システム実行履歴取得部135は、例えば、通信ネットワークや記録媒体を介して対象システムからシステム実行履歴を取得する。システム実行履歴の例として、ソフトウェアにより実現される各種機能間の連携処理の実行回数(呼び出し回数)、各種機能から各種データ(ファイルシステムにおけるファイル等)や各種データベース(テーブル)へのアクセス回数等がある。
【0027】
要素間距離算出部140は、システム構成情報及びシステム実行履歴に基づき、対象システムの構成要素の各組み合わせについて要素間距離を算出し、生成した要素間距離を要素間距離行列114として記憶部110に管理する。尚、要素間距離の算出方法は必ずしも限定されない。システム構成情報に基づく要素間距離の算出方法として、例えば、コードクローンを利用する方法、テキストマイニング技術を用いる方法、データ構造間の内積を利用する方法(カーネル法)、文書(ソースコード)をベクトルで表現してコサイン類似度を求める方法、プログラムや関数の呼び出し先又は呼び出し元の共通性に基づく方法、プログラムや関数のアクセス先のデータの共通性に基づく方法、データのアクセス元の共通性に基づく方法、プログラムやデータの名称の共通性に基づく方法、プログラム言語の共通性に基づく方法、データ構造やデータ名(変数名)の共通性に基づく方法等がある。また、システム実行履歴に基づく要素間距離の算出方法として、例えば、プログラムの実行頻度、プログラムの実行時間帯の共通性、機能(プログラム、関数、API等)の呼び出し回数や単位時間当たりの呼び出し頻度、データのアクセス回数、データの組み合わせの同時参照回数等に基づく方法がある。
【0028】
図2に、一例として示す対象システムのシステム構成
図113(対象システムの構成要素(機能とデータ)の関係を視覚的に描いた図)を示す。同図に示す「API1」~「API3」は、いずれもAPIにより実現される機能を示す。また、「method1」~「method5」は、いずれもメソッドにより実現される機能を示す。また、データ「table1」~「tabel2」は、機能によりアクセス(参照、登録、更新、検索、削除等)されるデータを示す。同図において、矢線の太さは当該矢線で結ばれる構成要素間(機能間、機能とデータ間、データ間)の距離を示し、矢線が太い程、両者の距離が近い(距離の値が小さい)ことを示す。
【0029】
図3に、
図2の対象システムについて要素間距離算出部140が生成する要素間距離行列114の一例を示す。要素間距離行列114の行及び列における「M1」~「M5」は、夫々、
図2のメソッド「method1」~「method5」に対応している。また、データ「T1」~「T2」は、夫々
図2に示すデータ「table1」~「tabel2」に対応している。この例では、要素間距離の最大値を「1」とし、最小値を「0」としている。
【0030】
図1に戻り、移行方針受付部145は、ユーザインタフェースを介してユーザから移行方針を受け付ける。
【0031】
要素間距離調整部150は、移行方針受付部145がユーザから受け付けた移行方針に基づき要素間距離行列114を調整する。例えば、観点が「データ集約型かデータ分散型か」である場合、受け付けた移行方針が「データ集約」寄りであればデータ間の要素間距離を小さくし、受け付けた移行方針が「データ分散」寄りであればデータ間の要素間距離を大きくする。また、例えば、観点が「業務視点での分割を優先するか機能を再利用する視点での分割を優先するか」である場合、受け付けた移行方針が「業務分割優先」寄りであれば、呼び出し関係にある構成要素(コンポーネント)間の要素間距離を小さくし、受け付けた移行方針が「機能再利用優先」寄りであれば構成要素(コンポーネント)間の要素間距離を大きくする。また、例えば、観点が「既存の組織(保守/運用チーム等)の体制を優先するか組織の再編を前提とするか」である場合、受け付けた移行方針が「既存組織優先」寄りであれば、呼び出し関係にある構成要素(コンポーネント)間の要素間距離を小さくし、受け付けた移行方針が「組織再編優先」寄りであれば構成要素(コンポーネント)間の要素間距離を大きくする。
【0032】
構成案生成部155は、要素間距離行列114に基づき、対象システムの構成要素を所定のクラスタリング手法を用いて分割することによりマイクロサービスの構成案を生成し、生成した構成案を構成案117として記憶部110に管理する。尚、クラスタリングに際しては、例えば、多次元尺度法(MDS:Multi Dimensional Scaling)により各構成要素の位置関係を再現する。また、クラスタリングの手法は必ずしも限定されず、階層的な手法(ウォード法、群平均法、最短距離法、最長距離法等)を用いてもよいし、非階層的な手法(k-means法やx-means法等)を用いてもよい。
【0033】
構成案評価部160は、所定の評価手法を用いて構成案生成部155により生成された構成案を評価して構成案評価結果を生成し、生成した構成案評価結果を構成案評価情報118として記憶部110に管理する。構成案評価部160は、例えば、公知のシステム評価手法を用いて構成案を評価する。例えば、構成案評価部160は、サービス(機能)の独立性(相互依存性、結合度(疎結合/密結合))、データの独立性(変更影響、障害影響)、負荷分散性、導入/移行の容易性、リカバリの容易性、セキュリティ性能、データの分散性、業務(ビジネス)との整合性、各種性能(応答性能、通信性能等)、可用性、保守/運用の容易性、保守/運用コスト等の側面から構成案を評価する。
【0034】
支援情報提供部165は、ユーザインタフェースを介してユーザと対話処理を行いつつ、構成案や評価結果をユーザに提供する。
【0035】
続いて、以上に示した構成から移行支援装置100が行う処理について説明する。
【0036】
図4は、移行支援装置100が支援情報の提供に際して行う処理(以下、「支援情報提供処理S400」と称する。)を説明するフローチャートである。以下、同図とともに支援情報提供処理S400について説明する。
【0037】
まず、システム構成情報取得部130が、対象システムからシステム構成情報を取得し
、取得したシステム構成情報をシステム構成情報111として記憶部110に管理する(S411)。
【0038】
続いて、システム実行履歴取得部135が、対象システムからシステム実行履歴を取得し、取得したシステム実行履歴をシステム実行履歴112として記憶部110に管理する(S412)。
【0039】
図5は、S411~S412において移行支援装置100が提供するユーザインタフェース(以下、「対象システム設定画面500」と称する。)の一例である。例示する対象システム設定画面500は、システム構成情報の所在の指定欄511、システム実行履歴の所在の指定欄512、及び読込実行ボタン513を有する。
【0040】
ユーザは、システム構成情報の所在の指定欄511にシステム構成情報の所在(パス名、ファル名、URL(Uniform Resource Locator)等)を、また、システム実行履歴の所在の指定欄512にシステム実行履歴の所在(パス名、ファル名、URL等)を設定する。そして、ユーザが読込実行ボタン513を操作すると、設定された所在からシステム構成情報及びシステム実行履歴が読み込まれてシステム構成情報111及びシステム実行履歴112が生成される。
【0041】
図4に戻り、続いて、要素間距離算出部140が、システム構成情報及びシステム実行履歴に基づき、対象システムの構成要素について要素間距離を算出して要素間距離行列を生成し、生成した要素間距離行列を要素間距離行列114として記憶部110に管理する(S413)。
【0042】
続いて、移行方針受付部145が、ユーザインタフェースを介してユーザから移行方針の設定を受け付け、受け付けた移行方針を移行方針情報115として記憶部110に管理する(S414)。
【0043】
図6は、S413において移行支援装置100が提供するユーザインタフェース(以下、「移行方針設定画面600」と称する。)の一例である。例示する移行方針設定画面600は、対象システムの構成表示欄611、移行方針の設定欄612、及び要素間距離更新実行ボタン613を有する。
【0044】
対象システムの構成表示欄611には、S411~S412において取得したシステム構成情報に基づき移行支援装置100が生成する、対象システムのシステム構成図が表示される。
【0045】
移行方針の設定欄612には、ユーザが移行方針を設定する。同図に示すように、移行方針の設定欄612は、観点ごとに設けられた、観点の選択欄6121と方針調整欄6122を有する。本例では、予め設定された3つの観点「データ集約型かデータ分散型か、業務視点での分割を優先するか」、「機能を再利用する視点での分割を優先するか」、「既存の組織(保守/運用チーム等)の体制を優先するか組織の再編を前提とするか」の夫々について、観点の選択欄6121及び方針調整欄6122が設けられている。尚、観点の種類は例示するものに限定されない。また、観点は、ユーザが任意の観点をユーザインタフェースを介して編集(追加、削除、変更等)できるようにしてもよい。また、観点を新たに追加する場合、当該新たな観点に基づき要素間距離を調整するのに必要となる追加情報をユーザインタフェース等を介して受け付けるようにしてもよい。
【0046】
ユーザは設定しようとする観点を選択欄6121で選択(本例ではチェックボックスにチェックを設定)し、方針調整欄6122を操作(本例ではスライドバーを操作。ユーザ
から数値による直接入力を受け付けるようにしてもよい。)して当該観点の移行方針を設定する。このように、スライドバーの操作や数値の直接入力により移行方針を無段階で(連続的に)設定することができるため、ユーザは、例えば、自身の顧客からの感覚的な(曖昧な)要求に応じて移行方針を細かく調整することができる。
【0047】
図4に戻り、続いて、要素間距離調整部150が、ユーザから受け付けた移行方針に基づき要素間距離行列114を調整し、調整後の要素間距離行列を要素間距離行列(調整後)116として記憶部110に管理する(S415)。
【0048】
続いて、構成案生成部155が、要素間距離行列(調整後)116に基づき対象システムの構成要素(コンポーネント)をクラスタリングしてマイクロサービスの構成案を生成し、生成した構成案を構成案117として記憶部110に管理する(S416)。
【0049】
図7は、
図2に示した構成からなる対象システムを例として、要素間距離行列(調整後)116に基づき構成案117を生成する様子を説明する図である。同図に示す二次元空間配置
図711は、要素間距離行列(調整後)116の多次元尺度構成法(MDS)によるクラスタリングの様子を示すグラフである。この例では、構成案117に示すように、対象システムを、「method1」と「table1」を含むマイクロサービス「Service1」と、「method2」、「method3」及び「table2」を含むマイクロサービス「Service2」と、「method4」、「method5」を含むマイクロサービス「Service3」の3つのマイクロサービスにクラスタリングしている。
【0050】
図4に戻り、続いて、構成案評価部160が、構成案117を評価して構成案評価情報を生成し、生成した構成案評価情報を構成案評価情報118として記憶部110に管理する(S417)。
【0051】
続いて、支援情報提供部165が、生成した構成案117及び構成案評価情報118を支援情報としてユーザインタフェースを介してユーザに提示する(S418)。
【0052】
図8は、S418~S419において移行支援装置100が提供するユーザインタフェース(以下、「支援情報提示画面800」と称する。)の一例である。例示する支援情報提示画面800は、移行方針の表示欄811、構成案の表示欄812、構成案評価情報の表示欄813、及び移行方針再調整ボタン814を有する。
【0053】
移行方針の表示欄811には、ユーザから受け付けた移行方針の内容(移行方針情報115の内容)が表示される。構成案の表示欄812には、構成案生成部155が生成したマイクロサービスの構成案117の内容が表示される。構成案評価情報の表示欄813には、構成案評価情報118の内容が表示される。
【0054】
図4に戻り、続いて、支援情報提供部165は、ユーザから要素間距離を再調整する旨の要求を受け付けたか否か(
図8においてユーザが移行方針再調整ボタン814を操作したか否か)を判定する(S419)。上記要求を受け付けた場合(S419:YES)、処理はS414に戻る。上記要求を受け付けていない場合(S419:NO)、移行支援装置100は支援情報提供処理S400を終了する。
【0055】
以上に説明したように、本実施形態の移行支援装置100は、要素間距離に基づきマイクロサービスの構成案や構成案評価情報を生成し、生成した情報を支援情報としてユーザに提供する。そのため、対象システムや当該対象システムが適用される業務に精通した専門家を確保する必要がなく、効率よく適切な構成案を立案することができる。また、移行支援装置100は、ユーザから受け付けた移行方針に基づき要素間距離を調整し、調整後
の要素間距離に基づき構成案を生成する。そのため、ユーザの多様な要求に柔軟に対応することができる。このように、本実施形態の移行支援装置100によれば、情報処理システムのマイクロサービスへの移行を支援することができる。
【0056】
図9は、移行支援装置100を構成する情報処理装置の構成例を示す。例示する情報処理装置10は、プロセッサ11、主記憶装置12、補助記憶装置13、入力装置14、出力装置15、及び通信装置16を備える。尚、例示する情報処理装置10は、その全部又は一部が、例えば、クラウドシステムによって提供される仮想サーバのように、仮想化技術やプロセス空間分離技術等を用いて提供される仮想的な情報処理資源を用いて実現されるものであってもよい。また、情報処理装置10によって提供される機能の全部又は一部は、例えば、クラウドシステムがAPI(Application Program Interface)等を介して
提供するサービスによって実現してもよい。また、移行支援装置100は、通信可能に接続された複数の情報処理装置10を用いて構成してもよい。
【0057】
同図において、プロセッサ11は、例えば、CPU(Central Processing Unit)、M
PU(Micro Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit
)、AI(Artificial Intelligence)チップ等を用いて構成されている。
【0058】
主記憶装置12は、プログラムやデータを記憶する装置であり、例えば、ROM(Read
Only Memory)、RAM(Random Access Memory)、不揮発性メモリ(NVRAM(Non Volatile RAM))等である。
【0059】
補助記憶装置13は、例えば、SSD(Solid State Drive)、ハードディスクドライ
ブ、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc)等)、ストレージシステム、ICカード、SDカードや光学式記録媒体等の記録媒体の読取/書込装置、クラウドサーバの記憶領域等である。補助記憶装置13には、記録媒体の読取装置や通信装置16を介してプログラムやデータを読み込むことができる。補助記憶装置13に格納(記憶)されているプログラムやデータは主記憶装置12に随時読み込まれる。
【0060】
入力装置14は、外部からの入力を受け付けるインタフェースであり、例えば、キーボード、マウス、タッチパネル、カードリーダ、ペン入力方式のタブレット、音声入力装置等である。
【0061】
出力装置15は、処理経過や処理結果等の各種情報を出力するインタフェースである。出力装置15は、例えば、上記の各種情報を可視化する表示装置(液晶モニタ、LCD(Liquid Crystal Display)、グラフィックカード等)、上記の各種情報を音声化する装置(音声出力装置(スピーカ等))、上記の各種情報を文字化する装置(印字装置等)である。尚、例えば、情報処理装置10が通信装置16を介して他の装置との間で情報の入力や出力を行う構成としてもよい。
【0062】
入力装置14及び出力装置15は、ユーザとの間で情報の受け付けや情報の提示を行うユーザインタフェースを構成する。
【0063】
通信装置16は、他の装置との間の通信を実現する装置である。通信装置16は、通信ネットワーク等の通信媒体を介して他の装置との間の通信を実現する、有線方式又は無線方式の通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USBモジュール等である。
【0064】
情報処理装置10には、例えば、オペレーティングシステム、ファイルシステム、DB
MS(DataBase Management System)(リレーショナルデータベース、NoSQL等)、KVS(Key-Value Store)等が導入されていてもよい。
【0065】
移行支援装置100が備える各機能は、プロセッサ11が、主記憶装置12に格納されているプログラムを読み出して実行することにより、もしくは、移行支援装置100を構成するハードウェア(FPGA、ASIC、AIチップ等)によって実現される。移行支援装置100は、前述した各種の情報(データ)を、例えば、データベースのテーブルやファイルシステムが管理するファイルとして記憶する。
【0066】
以上、本発明の一実施形態について説明したが、本発明は上記の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上記実施形態の構成の一部について、他の構成の追加や削除、置換をすることが可能である。
【0067】
また、上記の各構成、機能部、処理部、処理手段等は、それらの一部又は全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、I
Cカード、SDカード、DVD等の記録媒体に置くことができる。
【0068】
また、以上に説明した各情報処理装置の各種機能部、各種処理部、各種データベースの配置形態は一例に過ぎない。各種機能部、各種処理部、各種データベースの配置形態は、これらの装置が備えるハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。
【0069】
また、前述した各種のデータを格納するデータベースの構成(スキーマ(Schema)等)は、リソースの効率的な利用、処理効率向上、アクセス効率向上、検索効率向上等の観点から柔軟に変更し得る。
【符号の説明】
【0070】
100 移行支援装置、110 記憶部、111 システム構成情報、112 システム実行履歴、113 システム構成図、114 要素間距離行列、115 移行方針情報、116 要素間距離行列(調整後)、117 構成案、118 構成案評価情報、130
システム構成情報取得部、135 システム実行履歴取得部、140 要素間距離算出部、145 移行方針受付部、150 要素間距離調整部、155 構成案生成部、160 構成案評価部、165 支援情報提供部、S400 支援情報提供処理、500 対象システム設定画面、600 移行方針設定画面、711 二次元空間配置図、800 支援情報提示画面