JP6700848B2 - 管理システム、制御方法 - Google Patents

管理システム、制御方法 Download PDF

Info

Publication number
JP6700848B2
JP6700848B2 JP2016032474A JP2016032474A JP6700848B2 JP 6700848 B2 JP6700848 B2 JP 6700848B2 JP 2016032474 A JP2016032474 A JP 2016032474A JP 2016032474 A JP2016032474 A JP 2016032474A JP 6700848 B2 JP6700848 B2 JP 6700848B2
Authority
JP
Japan
Prior art keywords
image file
system image
environment
processing system
value
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
JP2016032474A
Other languages
English (en)
Other versions
JP2017151647A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016032474A priority Critical patent/JP6700848B2/ja
Priority to US15/435,115 priority patent/US11526468B2/en
Publication of JP2017151647A publication Critical patent/JP2017151647A/ja
Application granted granted Critical
Publication of JP6700848B2 publication Critical patent/JP6700848B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ソフトウェアや設定ファイルなどに係るシステムイメージファイルの管理のための制御方法に関する。
近年、インターネット上にあるサーバで動作する各種アプリケーションを利用することができるサービスとして、クラウドサービスがある。IaaSやPaaSなどのクラウドサービスでは、クラウドサービスベンダーが、ネットワークを介して、仮想マシンやストレージなどのリソースをクラウドサービス利用者に提供する。仮想マシンとは、仮想化技術によって、サーバコンピュータを物理的な構成にとらわれずに論理的な単位で分割し、分割したそれぞれで独立したオペレーティングシステムをもって動作する論理的なコンピュータである。クラウドサービス利用者は、クラウドサービスベンダーによって提供される仮想マシンやストレージなどのリソースを用いて、顧客に対して独自のサービスを提供するためのシステム(以降、処理システムと呼ぶ)を構築することができる。処理システムは、Webアプリケーションやデータベース、ロードバランサ、DNSサーバなどで構成され、それらの構成要素間は互いにネットワークで接続される。
このような仮想化技術を利用したクラウドサービスにおいては、アプリケーションやミドルウェアといったソフトウェア、設定ファイルなどをインストールした仮想マシンをOSごとシステムイメージファイルとしてファイル化することが可能である。通常、作成したシステムイメージファイルはクラウドサービス上で保管される。作成したシステムイメージファイルから仮想マシンを起動することで、ソフトウェアのインストールや各種設定等が既に行われた状態の仮想マシンを容易に任意の台数起動することが可能である。
このシステムイメージファイルを利用して、同じアプリケーションなどが動作する仮想マシンを起動することができる。ここで、起動された仮想マシンを含む処理システムを構築し、ネットワーク上のPCなどを介して、その処理システムにより提供されるサービスを利用可能な状態とすることを、デプロイと呼ぶ。
処理システムは、例えば、開発、評価、本番などの目的に応じたデプロイ環境にデプロイされる。なお、以降の説明で、デプロイ環境のことを単に「環境」と呼ぶこともある。開発用、評価用、本番用のデプロイ環境をそれぞれ、開発環境、評価環境、本番環境と呼ぶ。ここで、本番環境とは、顧客へサービスを提供する処理システムをデプロイ可能なデプロイ環境である。なお、顧客は、PCなどを介して、本番環境内にデプロイされた処理システムへアクセスして、サービス提供を受ける。開発用、評価用のデプロイ環境は、本番環境に処理システムをデプロイする前に利用される環境である。例えば、開発環境内にデプロイされた複数の処理システムのうちのその一部に対応するシステムイメージファイルを用いて評価環境内にデプロイされることで、システムが移行される。評価環境では、移行された処理システムを評価し、その評価環境にデプロイされた複数の処理システムのうちの一部に対応するシステムイメージファイルを用いて、本番環境へのシステム移行が行われることとなる。このように一度デプロイに使用したシステムイメージファイルを再び使用してデプロイをする場合がある。
近年、ソフトウェアの品質を継続的に確認しながら開発を進めることで高い品質を得る、継続的インテグレーション(CI:Continuous Integration)という手法がソフトウェア開発において利用されている。CIでは1日に数回から数十回という高い頻度でソースコードのビルドやテストを行い、品質が維持されているかを確認する。ビルドとは、ソースコードをコンピュータによって解析し、アプリケーションを生成することを指す。さらに、CIに基づく処理システムの開発においては、ソースコードのビルド・テストを行った後に、上述したシステムイメージファイルを作成する場合がある。近年では、CI支援ツールといったソフトウェアの機能を提供するクラウドサービスも登場している。
このようなCIを採用した処理システムの開発においては、システムイメージファイルに含まれる設定ファイルのパラメータなどを一部変更するたびに新たなシステムイメージファイルを作成することになる。例えば、数種類の仮想マシンで構成される処理システムを一日に10回程度デプロイすると、一日に数十個のシステムイメージファイルが作成されることとなる。また、1つのシステムイメージファイルのデータサイズは数GBに及ぶこともある。クラウド上のストレージなどのリソース節約のために、不要になったシステムイメージファイルを適宜削除する必要がある。
ここで、仮想マシンに関するイメージファイルを管理する技術として特許文献1がある。特許文献1では、仮想マシンのOSおよびアプリケーションプログラムがインストールされた記憶領域中のファイルなどからなるマスタイメージを管理者が指定したグループで管理し、そのグループに基づくマスタイメージの削除処理について記載されている。管理者の削除指示したマスタイメージが、グループに属していない場合に限りそのマスタイメージを削除するといった開示がある。
特開2005−332223号公報
上述したシステムイメージファイルの削除に関して、例えば、システムイメージファイルの作成日が古いものから順番に削除することが考えられる。この場合、他のデプロイで再び使用しないシステムイメージファイルは不要であるにも関わらず、作成日が新しいため、しばらくの間削除されずに保持されてしまう。
一方、他のデプロイで再び使用するシステムイメージファイルは必要であるに関わらず、作成日が古いために削除されるおそれがある。削除された場合、そのシステムイメージファイルを他のデプロイ環境などへのデプロイに用いることができなくなる。そこで、既に構築されていて稼働中の処理システム内の仮想マシンからシステムイメージファイルを生成することも考えられる。しかしながら、処理システムが削除されている場合にはこの方法をとることはできない。
上述した特許文献1では、CIを採用した処理システムの構築を前提としていない。さらに、システムイメージファイルを用いて処理システムがデプロイされたデプロイ環境などを考慮して、該システムイメージファイルの削除を行うといった点については想定していない。
本発明は、システムイメージファイルを利用して処理システムを構築した環境などの条件を考慮して、該システムイメージファイルの削除判定を行うための仕組みを提供することを目的とする。
上記課題を解決するために、本発明の管理システムは、少なくとも仮想マシンで動作するソフトウェアの情報を含むシステムイメージファイルを保存する記憶装置から、前記システムイメージファイルを削除するための管理システムであって、システムイメージファイルを用いて起動された仮想マシンを含む処理システムが構築された環境に対応する属性の値を該システムイメージファイルへ付与するよう指示する付与指示手段と、前記付与指示手段の指示によりシステムイメージファイルに付与される属性の値に応じた条件として、該システムイメージファイルが作成されてから経過した時間が、該システムイメージファイルに付与される属性の値に応じた所定時間を超えるか否かに基づき、該システムイメージファイルを削除すべきか否かを判定する第1の判定手段と、前記第1の判定手段により削除すべきであると判定されたシステムイメージファイルを前記記憶装置から削除するよう指示する削除指示手段と、を有し、システムイメージファイルを用いて起動された仮想マシンを含む処理システムを構築できる環境として、少なくとも第1の環境および第2の環境があり、前記第1の環境に対応する属性の値に応じた第1の所定時間と、前記第2の環境に対応する属性の値に応じた第2の所定時間とは、異なることを特徴とする。
本発明によれば、システムイメージファイルを利用して処理システムを構築した環境などの条件を考慮して、該システムイメージファイルの削除判定を行うことができる。
本発明の実施形態に係るネットワークシステムの構成例を示す図である。 情報処理装置のハードウェア構成例を示す図である。 フロントサーバ152およびバッチサーバ153の構成例を示す図である。 システムイメージファイルを含むデータの構成例を示す図である。 システムマネージャ101の構成例を示す図である。 タグ更新順序テーブルの例を示す図である。 システムイメージファイル作成指示処理の流れの例を示すフローチャートである。 タグ更新指示処理の流れの例を示すフローチャートである。 タグ412に応じたシステムイメージファイルの削除条件テーブルの例を示す図である。 システムイメージファイル削除処理の流れの例を示すフローチャートである。 タグ412に応じたデプロイ可能なデプロイ環境テーブルの例を示す図である。 実施例2におけるタグ更新指示処理の流れの例を示すフローチャートである。 実施例3におけるデプロイ環境の構成例を示す図である。 実施例3におけるシステムマネージャ101の構成例を示す図である。 システムイメージファイルの管理テーブルの例を示すフローチャートである。 実施例3におけるタグ更新指示処理およびシステムイメージファイル削除指示処理の流れの例を示すフローチャートである。 実施例4におけるタグ更新指示処理の流れの例を示すフローチャートである。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
(実施例1)
図1は、本発明の実施形態に係るネットワークシステムの構成例を示す図である。図1(a)で示すように、システム100は、管理者コンピュータ105や評価者コンピュータ106と、ネットワーク107を介して接続している。システム100は、クラウドサービスによって提供されるリソースとしての仮想マシンやストレージを用いて構築される。仮想マシンとは、仮想化技術によって、データセンター上のサーバコンピュータを物理的な構成にとらわれずに論理的な単位で分割し、分割したそれぞれで独立したオペレーティングシステムをもって動作する論理的なコンピュータである。1台のサーバコンピュータ上で動作する複数の仮想マシンを用いて、システム100が構築される。
管理者コンピュータ105は、システム100の管理者や開発者が操作するコンピュータなどが想定される。管理者コンピュータ105は、ブラウザ機能や、システムマネージャ101との通信機能などを備える。評価者コンピュータ106は、システム100の後述する評価環境120にデプロイされた処理システムのテストなどを行う評価担当者が操作するコンピュータなどが想定される。ネットワーク107は、LANやWAN、インターネット等が想定される。
システム100は、システムマネージャ101、サービスマネージャ102、DB104、開発環境110、評価環境120および本番環境130を含む。システムマネージャ101及びサービスマネージャ102は、仮想マシンとして実現することも、物理的なサーバコンピュータであってもよい。
システムマネージャ101は、サービスマネージャ102に対して、システムイメージファイルの作成や削除などを指示する管理システムとして機能する。システムマネージャの処理について、図5を用いて後述する。サービスマネージャ102は、システムマネージャ101からの指示を受けて、システムイメージファイルの作成や削除などの処理を実行する。サービスマネージャ102の機能は、クラウドサービスベンダーによって提供される機能であってもよい。DB104は、本システムを実現するためのプログラムや、ユーザにサービスを提供するための各種データ、およびシステムイメージファイルなどが格納されるデータベースなどの記憶装置である。
ここで、システムイメージファイルを利用して起動された仮想マシンを含む処理システムを構築し、ユーザや開発者がサービスを利用可能な状態とすることを、デプロイと呼ぶ。開発、評価、本番などの目的に応じたデプロイ環境をそれぞれ、開発環境、評価環境、本番環境と呼ぶ。各環境には、処理システムを複数構築することが可能である。ここで、本番環境とは、システムの外部にあるクライアントコンピュータ(不図示)からのリクエストを受け付けてサービスを提供することが可能な環境を指す。なお、図示しないが、システム100には、開発、評価、本番以外の目的のデプロイ環境(先行リリースのための環境、デモンストレーションのための環境、本番リハーサルのための環境など)が存在してもよい。
図1(a)では、開発環境110内には110Aと110Bの処理システムがデプロイされている状態を示している。このようにそれぞれのデプロイ環境には、複数の処理システムをデプロイして、Blue−Greenデプロイメントを用いてシステムのバージョンアップを行うことができる。Blue−Greenデプロイメントについては実施例3で説明する。
図1(b)は処理システムの構成例を示す図である。開発環境110内にデプロイされた処理システム110Aは、1以上の仮想マシンで実現される、ロードバランサ151、フロントサーバ152およびバッチサーバ153を含む。なお、110B、120A、120B、130Aおよび130Bなどの処理システムについても、基本的には110Aの処理システムと同様の構成を備えるものとする。
ロードバランサ151は、受信したリクエストをフロントサーバ152に分散させる負荷分散装置である。フロントサーバ152は、ロードバランサ151から受信した要求を受け付けて処理する。バッチサーバ153は所定の時刻に処理を実行する。フロントサーバ152、バッチサーバ153はそれぞれ複数存在してよい。
なお、フロントサーバ152やバッチサーバ153において実行される処理の内容は、システム100が提供する機能に応じて変わり得るものであり、本発明においては限定しない。また、システム100が提供する機能に応じて、フロントサーバ152やバッチサーバ153以外の異なる種類のサーバがあってもよい。異なる種類のサーバとして、例えば、フロントサーバ152からの要求を受け付けて処理するバックエンドサーバや、外部からシステム100にアクセスするコンピュータにUI画面を提供するWebUIサーバなどが存在し得る。
図2は、情報処理装置のハードウェア構成例を示す図である。本実施例における情報処理装置としては、システム100が構築されるデータセンター上に存在するサーバコンピュータ、管理者コンピュータ105、評価者コンピュータ106がある。
情報処理装置は、ROM253に格納されているプログラムを実行するCPU251を備え、内部バス256を介して各デバイスを総括的に制御する。内部バス256には、RAM252、ROM253、記憶装置254、ネットワークI/F255、入出力I/F257が接続されている。また入出力I/F257は、例えばPS/2やUniversal Serial Bus(USB I/F)、アナログやデジタルのディスプレイI/Fを備える。入出力I/F257により、情報処理装置に対して、不図示のキーボードやマウス、CRTや液晶ディスプレイなどを接続することができる。情報処理装置はネットワークI/F255によりLAN、イントラネット環境、インターネットを介した通信を行う。それにより、情報処理装置は、ネットワークデバイスや、他の情報処理装置と通信を行うことができる。CPU251は、RAM252やROM253と共にプログラムの実行処理を行う。さらに、CPU251は、仮想化技術を実現するためのプログラムを実行することも可能である。また、CPU251は、記憶装置254等の記録媒体にデータを記録する処理を行う。記憶装置254は外部記憶装置として機能し、様々な情報を記憶するほか、RAM252に代わって、各種システム情報及び処理情報を保存することも可能である。
図3は、フロントサーバ152およびバッチサーバ153の構成例を示す図である。フロントサーバ152およびバッチサーバ153は、仮想マシンで実現される。
図3(a)で示すフロントサーバ152は、フロントアプリケーション301、ミドルウェア302、設定ファイル303、OS304を有する。
フロントアプリケーション301は、システム100が提供する機能の一部または全部を実現するアプリケーションである。ミドルウェア302は、例えば、フロントアプリケーションを起動するための機能の提供やロードバランサ151からの要求をフロントアプリケーション301に渡す機能を提供するWebサーバなどのソフトウェアである。設定ファイル303は、フロントアプリケーション301やミドルウェア302が機能を実現するために必要となる設定情報が記載されたファイルである。OS304は、フロントアプリケーション301やミドルウェア302に対して、仮想マシンのハードウェアリソースを利用するためのインタフェースなどを提供するコンピュータプログラムである。
図3(b)は、バッチサーバ153の構成例を示す図である。バッチサーバ153はバッチアプリケーション351、ミドルウェア352、設定ファイル353、OS354を有する。
バッチアプリケーション351は、システム100が提供する機能の一部または全部を実現するアプリケーションである。ミドルウェア352は、例えば、バッチアプリケーション351を起動するための機能を提供するソフトウェアである。設定ファイル353は、バッチアプリケーション351やミドルウェア352が機能を実現するために必要となる設定情報が記載されたファイルである。OS354は、バッチアプリケーション351やミドルウェア352に対して、仮想マシンのハードウェアリソースを利用するためのインタフェースを提供するコンピュータプログラムである。
上述したように、フロントサーバ152とバッチサーバ153などサーバの種類に応じて、OS、設定ファイル、ミドルウェア、アプリケーションのうち少なくともいずれかが異なる。
図4は、システムイメージファイルを含むデータの構成例を示す図である。システムイメージファイルを含むデータは、DB104に保存される。
システムイメージファイル413は、図3(a)および図3(b)で示したサーバの構成要素を、一つあるいは複数のバイナリ形式のファイルとしたものである。システムイメージファイル413は、特定のクラウドサービスにおいては、ゴールデンイメージ(Goleden Image)とも呼ばれる。本実施例においては、処理システムのデプロイに際して、仮想マシンを起動する際にこのシステムイメージファイル413が使用される。仮想マシンからシステムイメージファイルを作成することを仮想マシンのイメージ化と呼ぶこととする。
また、クラウドサービスを用いて構築されるシステムでは、システム管理者の設定に従い、受け付けるリクエストの量やそれらの処理のための負荷に応じて、自動的に仮想マシンの台数を増減させるなどして、リソース量を調整することができる。仮想マシンの台数を増やすために、新しく仮想マシンを起動することとなり、この際にもシステムイメージファイルを用いて仮想マシンを起動することが可能である。
なお、システムイメージファイルには、図3(a)や図3(b)で示した構成要素以外のものが含まれていてもよいし、また、OS304およびOS354以外のものは必ずしも含まれていなくともよい。
識別子411は、本システムイメージファイルを用いて起動されるサーバの種類とファイルの作成日時を少なくとも表す識別子である。例えば、識別子の形式は411のように表されるが、表現の仕方はこれに限定されない。
タグ412は、本システムイメージファイルを用いて起動された仮想マシンが含まれる処理システムがデプロイされた環境との対応付けを示すシステムイメージファイルの属性の1つである。タグには、例えば、TR、TS、PRV、DEM、RH、PRDなどといった値が設定される。それぞれ、開発目的の環境(TR)、品質保証のための評価目的の環境(TS)、先行リリースのための環境(PRV)、デモンストレーションのための環境(DEM)、本番リハーサルのための環境(RH)、本番目的の環境(PRD)などがある。タグ412の値の間には、順序関係があり、この順序関係によりタグ412の値の更新が制限される場合がある。なお、システムイメージファイルとデプロイ環境との対応付けを管理する方法はタグの付与に限らず、例えば、DB104においてシステムイメージファイルとデプロイ環境との対応付けをテーブルなどで管理するようにしてもよい。また、用途が類似するいくつかのデプロイ環境については、タグの値として、同じ値を設定するといったことも可能である。
なお、DB104が複数ある場合には、識別子411、タグ412、ファイルデータ413に共通のIDを振った上で、それらを複数のDB104に分けて保存してもよい。
図5は、システムマネージャ101の構成例を示す図である。図5に示す機能は、データセンター上のサーバコンピュータのCPU251が、記憶装置254に記録されたプログラムを読み出して実行することにより実現される。システムマネージャ101は、アプリケーション作成部501、ファイル作成指示部502、デプロイ実行指示部503、タグ付与指示部504、削除判定部505、ファイル削除指示部506を含む。
アプリケーション作成部501は、管理者コンピュータ105からの入力に従い、ソースコードをビルドし、フロントアプリケーション301およびバッチアプリケーション351を作成する。
ファイル作成指示部502は、仮想マシン上に、ソフトウェアをインストールし、設定ファイルを保存する。ソフトウェアとしては、図3で示したフロントアプリケーション301、ミドルウェア302、OS304、バッチアプリケーション351、ミドルウェア352、OS354などが含まれる。その後、ファイル作成指示部502は、仮想マシンをイメージ化してシステムイメージファイルを作成するための指示を、システム100内のサービスマネージャ102に対して行う。その後、サービスマネージャ102は、ファイル作成指示部502からの指示に基づき、システムイメージファイルを作成する。作成されたシステムイメージファイルは、DB104に保存される。
デプロイ実行指示部503は、ファイル作成指示部502で作成したシステムイメージファイル413を用いて仮想マシンを起動し、デプロイ環境に処理システムを構築し、サービスを利用可能な状態にする。
タグ付与指示部504は、システムイメージファイル413を用いて処理システムのデプロイが実行された後、システムイメージファイル413にタグ412の値の付与、またはその値の更新をサービスマネージャ102に対して指示する。付与または更新されるタグの値は、該処理システムがデプロイされたデプロイ環境を示すタグの値である。その後、サービスマネージャ102は、タグ付与指示部504からの指示に基づき、システムイメージファイルにタグの値の付与または更新を行う。
削除判定部505は、所定の条件に従い、システムイメージファイルのそれぞれについて、削除すべきか否かを判定する。具体的には、削除判定部505は、システムイメージファイル413に付与されているタグ412の値に応じた条件に基づき、そのシステムイメージファイルを削除すべきか否かを判定する。タグ412の値に応じた条件については、図9を用いて後述する。
ファイル削除指示部506は、タグの値に応じた削除条件を満たす場合に、該当のシステムイメージファイル413をDB104から削除するようサービスマネージャに対して指示する。その後、サービスマネージャ102は、ファイル削除指示部506からの指示に基づき、DB104に保存されているシステムイメージファイル413を削除する。
なお、アプリケーション作成部501は、システムマネージャ101内ではなく、管理者コンピュータ105内に存在してもよい。
図6は、タグ更新順序テーブルの例を示す図である。当該テーブルは、DB104によって保持される。本テーブルには、システムイメージファイル413の現在のタグ412の値ごとに、更新可能なタグ412の値が記載されている。
システムマネージャ101のタグ付与指示部504は、レコード611から616で示されるタグ412の値を参照する。例えば、システムイメージファイル413のタグ412の値がTRである場合、更新可能なタグ412はTSのみである。タグ412の値がTSである場合は、タグ付与指示部504は、該当のタグ412の値をPRV、DEM、RHに更新することが可能である。また、タグ412の値がPRDである場合は、どの値にもタグ412を更新することはできない。タグ412の値がPRDであるシステムイメージファイル413を用いて、処理システムをいずれのデプロイ環境にデプロイしたとしても、当該システムイメージファイル413のタグ412の値はPRDが維持される。
図7は、システムイメージファイル作成指示処理の流れの例を示すフローチャートである。システムマネージャ101は、管理者の要求に応じて、または所定の時刻に、本フローチャートのシステムイメージファイル作成処理を実行する。
S702で、アプリケーション作成部501は、ソースコードをビルドしてアプリケーションを作成する。S703で、アプリケーション作成部501は、アプリケーションのインストール先となる仮想マシンを起動する。S704で、ファイル作成指示部502は、S702で作成したアプリケーションをS703で起動した仮想マシンにインストールする。この時、ファイル作成指示部502は、ミドルウェアや設定ファイルもインストールする。S705で、ファイル作成指示部502は、S704でアプリケーションなどをインストールした仮想マシンをイメージ化してシステムイメージファイル413を作成するための指示を、サービスマネージャ102に対して行う。その後、サービスマネージャ102は、ファイル作成指示部502からの指示に基づき、システムイメージファイルを作成し、作成したシステムイメージファイルをDB104に保存する。
本フローチャートのシステムイメージファイル作成指示処理は、開発環境に対してデプロイされる処理システムを構成するサーバの種類ごとに実施される。例えば、2種類のサーバで構成される処理システムを一日に10回デプロイする場合、一日に最大で20個のシステムイメージファイルが作成されることとなる。システムイメージファイル1つあたりデータサイズは数GBに及ぶこともあり、クラウド上のストレージ容量が多く必要となる。
図8は、タグ更新指示処理の流れの例を示すフローチャートである。システムマネージャ101は、管理者からの要求に応じて、または所定の時刻に本フローチャートのタグ更新指示処理を実行する。
S802で、デプロイ実行指示部503は、管理者の指示する又は予め定められたデプロイ環境への処理システムのデプロイの実行をサービスマネージャ102に対して指示する。その後、サービスマネージャ102は、デプロイ実行指示部503からの指示に基づき、デプロイを実行する。ここでのデプロイには、管理者の要求に応じたシステムイメージファイル413が使用される。なお、システムイメージファイル作成指示処理(図7)から続けて、タグ更新指示処理(図8)が実行される場合は、ここでのデプロイには、S705で作成したシステムイメージファイル413が使用される。
デプロイが実行された後S803では、タグ付与指示部504は、当該システムイメージファイル413のタグ412の値とタグ更新順序テーブルを参照し、タグ412の値を更新可能であるかどうかを判定する。タグ付与指示部504は、更新可能であればS804を実行し、更新不可能であればS805を実行する。S804では、タグ付与指示部504は、当該システムイメージファイル413のタグ412の値を、S802でデプロイしたデプロイ環境を示す値に更新するよう、サービスマネージャ102に指示する。その後、サービスマネージャ102は、タグ付与指示部504からの指示に基づき、タグの値を更新する。
なお、S802で、デプロイ実行指示部503が開発環境に処理システムをデプロイした場合は、S804に処理が進められて、タグ付与指示部504は、TRのタグ412の値を付与する。また、例えば、TRのタグが付いたシステムイメージファイルを用いて開発環境へのデプロイを実行した場合、タグの値は更新されずにTRの値が維持されることとなる。
図9は、タグ412に応じたシステムイメージファイル413の削除条件テーブルの例を示す図である。当該テーブルは、DB104によって保持され、タグ412の値ごとに、システムイメージファイル413の削除条件が記載されている。本テーブルは、図10を用いて後述するシステムイメージファイル413の削除処理にて参照される。
削除判定部505は、例えば、レコード911から916で示される削除条件を参照する。削除判定部505は、システムイメージファイルが作成されてから経過した時間が、タグごとに定められる所定時間を超えている場合に、そのシステムイメージファイルを削除対象であると判定する。例えば、システムイメージファイル413のタグ412がTRの場合、作成から3日以上経過している場合に削除する。タグ412がTSの場合、作成から15日以上経過している場合に削除する。このように、システムイメージファイルに付与されるタグの値に応じて適切な削除条件を適用する。これにより、削除判定部505は、システムイメージファイルを用いて構築した環境を考慮して、当該システムイメージファイルについて削除すべきか否かの判定を行うことができる。
タグ更新順序テーブル(図6)で示した通り、TRのタグをTSのタグに更新することが可能であり、TRの場合よりもTSの場合の方が削除条件に係る所定時間が長い。例えば、本願に係るシステムでは、TRのタグが付いたシステムイメージファイル10個のうち、タグの値がTSに更新されるシステムイメージファイルはおよそ1個程度であることを想定している。つまり、TRのタグが付与されるシステムイメージファイルは大量に作成されるため、TRの場合の削除条件に係る所定時間は、TSの場合の削除条件に係る所定時間に対して十分に短い必要がある。少なくともTRの場合の所定時間とTSの場合の所定時間との差分は、TRの場合の所定時間以上であることが望ましい。これにより、TSのタグが付いているシステムイメージファイルを、作成後に長い時間保持することができ、かつ、タグの値がTSに更新されずにTRのタグが維持されるシステムイメージファイルを早めに削除することができる。
また、タグ412がPRDの場合、作成から経過した日時に関わらず削除は行わない。本番環境のデプロイに使用されてPRDのタグが付与されたシステムイメージファイルを削除せずに保存することが可能となる。なお、後述する実施例3に記載の方法を用いることで、PRDのタグが付与されていて利用されなくなったシステムイメージファイルについても削除することができる。
削除条件テーブルに記載されている削除条件の日数は一例であり、特定の日数に限定されるものではない。ただし、削除条件ごとの日数には大小関係を持たせることで、より重要なシステムイメージファイル413の保持期間を長くすることができる。例えば、この実施例の場合にはシステムイメージファイル413の重要度は、TR<TS<PRV≦DEM<RH<PRDのようになっているため、削除条件の日数の大小関係もこれに従っている。なお、作成されてからの経過時間ではなく、タグの値が更新されてからの経過時間に基づいて削除条件が定められてもよい。
図10は、システムイメージファイル削除指示処理の流れの例を示すフローチャートである。システムマネージャ101は、管理者の要求に応じて、または所定の時刻に、本フローチャートで示すシステムイメージファイルの削除処理を実行する。本フローチャートの処理は、例えば、一日に1回程度の頻度で、夜間などに実行される。
S1002では、ファイル削除指示部506は、システムイメージファイル413の一覧を取得する。S1003〜S1007は、取得した各システムイメージファイル413に対して、繰り返し処理が実行される。S1004では、ファイル削除指示部506は、システムイメージファイル413に付与されているタグ412の値を取得する。S1005では、ファイル削除指示部506は、削除条件テーブルを参照し、システムイメージファイル413が削除条件を満たすかを判断する。削除条件を満たす場合、ファイル削除指示部506はS1006を実行する。S1006ではシステムイメージファイル413の削除をサービスマネージャ102に対して指示する。S1007で、取得したすべてのシステムイメージファイルに対して処理が行われた場合に、ファイル削除指示部506は、本フローチャートの処理を終了する。
本実施例では、システムイメージファイルとデプロイ環境との対応付けを示すタグを付与して、タグに応じて削除条件を切り替えた。本実施例によれば、システムイメージファイルごとの適切な保持期間を管理でき、さらに保持期間を経過したシステムイメージファイルを削除することができる。
(実施例2)
実施例1では、システムイメージファイルについているタグの値に関係なく、そのシステムイメージファイルを用いてデプロイを実行可能としていた。それに対して本実施例では、システムイメージファイルについているタグの値に基づいて、そのシステムイメージファイルを用いてデプロイ実行の可否を判断するようにする。本実施例では、図11と図12を用いて実施例1との差異を中心に記述する。
図11は、タグ412に応じたデプロイ可能なデプロイ環境テーブルの例を示す図である。当該テーブルは、DB104で保持され、システムイメージファイル413のタグの値ごとに、システムイメージファイル413を用いてデプロイ可能なデプロイ環境が記載されている。本テーブルを利用することにより、タグの値に応じて、デプロイ環境の構築の際に使用可能なシステムイメージファイルを判別できる。
システムマネージャ101のデプロイ実行指示部503は、例えば、レコード1111から1116で示されるデプロイ可能なデプロイ環境の値を参照して、デプロイの可否を判断する。例えば、システムイメージファイル413のタグ412の値がTRの場合、当該システムイメージファイルを用いてデプロイ可能なデプロイ環境はTRおよびTSのみである。これによりデプロイ実行指示部503が、TRのタグが付いたシステムイメージファイルを用いてPRVやPRDなどにデプロイすることを防ぐことができる。
また、システムイメージファイル413のタグ412の値がDEMの場合、当該システムイメージファイルをデプロイ可能なデプロイ環境はPRD以外である。これにより、DEMなどのタグが付いたシステムイメージファイルを用いて、PRDにデプロイすることを防ぐことができる。
図12は、本実施例におけるタグ更新指示処理の流れの例を示すフローチャートである。システムマネージャ101は、管理者の要求に応じて、または所定の時刻に、本フローチャートで示す、デプロイ可否判定を伴うデプロイ処理を実行する。
実施例1の図8との差異はS1202が追加されている点であるため、その差異についてのみ説明する。
S1202では、デプロイ実行指示部503は、デプロイ環境テーブル(図11)を参照し、デプロイしようとするシステムイメージファイル413のタグ412の値から、デプロイ可能なデプロイ環境の一覧を取得する。取得したデプロイ環境の一覧に、ユーザが要求した、または所定のデプロイ環境が含まれている場合、デプロイ実行指示部503は、S802を実行し、含まれていない場合、本フローチャートの処理を終了する。
例えば、TSの評価環境で実施される品質保証部門による動作確認を経ていないシステムイメージファイル413を用いて、誤ってPRDの本番環境にデプロイしてしまうことを防ぐことが可能となる。
本実施例では、システムイメージファイルに付与したタグを用いて、システムイメージファイル413ごとにデプロイの可否を判断した。本実施例によれば、システムイメージファイルに付与したタグの種類によって、デプロイ可能なデプロイ環境を制限することができる。
(実施例3)
実施例1、2では、本番環境へのデプロイに使用されたシステムイメージファイルは削除されなかった。それに対して本実施例では、Blue−GreenデプロイメントによりBlue環境が切り替えられていくことを利用して、システムイメージファイルを削除するための仕組みを説明する。本実施例では、図13、図14、図15を用いて実施例1との差異を中心に記述する。
まず、Blue−Greenデプロイメントについて説明する。
処理システムのバージョンアップの方法として、Blue−Greenデプロイメントが利用されている。このBlue−Greenデプロイメントでは、現行バージョンのアプリケーションが動作するBlue環境の稼働中に、新しいバージョンのアプリケーションが動作するGreen環境を生成する。バージョンアップの予定日時に、DNSサーバのDNSレコードをBlue環境からGreen環境に変更する。これにより、外部のネットワークシステムに属するコンピュータなどのクライアントからのリクエストを受け付ける処理システムがBlue環境からGreen環境に切り替えられて、サービスのバージョンアップが行われる。Blue環境やGreen環境は、デプロイ環境内に構築される処理システムを指す。
なお、Green環境は、デプロイ環境内に複数含まれても良い。Blue−Greenデプロイメントを実行する際には、切り替え先の処理システムとして任意のGreen環境を選択するといったことも可能である。
なお、本番環境以外の開発環境や評価環境などにおいても、上述のCIの中でBlue−Greenデプロイメントを実施する。開発環境や評価環境などにおいては、例えば、テスト用として用意したクライアントからのリクエスト送信先を切り替えることで、Blue−Greenデプロイメントが行われる。
また、以降の説明では、Blue−Greenデプロイメント実行直前のBlue環境のことを、実行後においては現Blue環境に対して“1世代前のBlue環境”(旧Blue環境)と呼ぶこととする。さらに、Blue−Greenデプロイメント実行直前の旧Blue環境のことを、実行後においては現Blue環境に対して“2世代前のBlue環境”と呼ぶこととする。
図13は、本実施例におけるデプロイ環境の構成例を示す図である。なお、図13では、本番環境を示しているが、本番環境に限らず他のデプロイ環境であってもよい。また、Blue環境やGreen環境として機能する処理システムは、CPUやRAM、ROMを少なくとも備えるサーバコンピュータによってユーザに提供されるリソースを用いて構築される。
図13(a)は、処理システム130Bと処理システム130CとについてのBlue−Greenデプロイメントが実行される前の状態を示している。ここでは、処理システム130Aは1世代前のBlue環境であり、処理システム130Bは現Blue環境であり、処理システム130CはGreen環境である。
図13(b)は、処理システム130Bと処理システム130CとについてのBlue−Greenデプロイメントが実行された後の状態を示している。このBlue−Greenデプロイメントによって、処理システム130Bが1世代前のBlue環境となり、処理システム130CがBlue環境となった。また、処理システム130Aが現Blue環境に対して2世代前のBlue環境となった。
ここで、Blue−Greenデプロイメントでは、1世代前のBlue環境をすぐに削除するのではなく一定時間保持しておく。Blue−Greenデプロイメントによる切り替え後に何らかの問題が生じた場合には、1世代前のBlue環境へ戻される場合があるためである。それに対して、2世代前のBlue環境へは戻される可能性がないため、図13(b)における処理システム130Aを削除する。本実施例では、2世代前のBlue環境が削除されることに応じて、該Blue環境のデプロイに使用されたシステムイメージファイルを削除するようにする。
図14は、本実施例のシステムマネージャ101の構成例を示す図である。本実施例のシステムマネージャ101は、図5に記載の構成に加えて、処理システム削除指示部1407とテーブル更新部1408がある。
処理システム削除指示部1407は、2世代前のBlue環境となった処理システムなどを削除する。テーブル更新部1408は、Blue−Greenデプロイメントの実行後に、図15を用いて後述する、システムイメージファイルを管理するためのテーブルのレコードを更新する。
図15は、システムイメージファイルの管理テーブルの例を示す図である。本テーブルは、DB104で保持され、デプロイ環境ごとに、Blue環境と旧Blue環境で使用されたシステムイメージファイル413の識別子が記載される。各レコードはテーブル更新部1408によって更新され、削除判定部505によって参照される。
削除判定部505は、例えば、レコード1511から1516で示される現在使用中のシステムイメージファイル413の値を参照して、システムイメージファイル413を削除すべきか否かを判断する。図15のテーブルでは、Blue環境のデプロイに使用されたシステムイメージファイルと、1世代前のBlue環境のデプロイに使用されたシステムイメージファイルの情報が保持されている。一方、図15のテーブルでは、2世代前のBlue環境となった処理システムのデプロイに使用されたシステムイメージファイルの情報は保持されていない。例えば、図15のテーブルでは、“Front−20140401−150000”という識別子を持つシステムイメージファイル413のデータは記載されていない。そのため、削除判定部505は、そのシステムイメージファイルを削除することが可能であると判断できる。一方で、2世代前のBlue環境となった処理システムのデプロイに使用されたシステムイメージファイルが、他のデプロイ環境において構築されている処理システムのために使用されている場合、当該システムイメージファイルの情報は本テーブルに記載される。したがって、削除判定部505は、当該イメージファイルを削除すべきでないと判断できる。
テーブル更新部1408は、例えば、開発環境のBlue−Greenデプロイメント後に次の処理を実施する。まず、テーブル更新部1408は、当該テーブルのTRのBlue環境のシステムイメージファイルに記載されている識別子を、TRの旧Blue環境のシステムイメージファイルに記載する。そして、テーブル更新部1408は、Blue環境のデプロイに使用されたシステムイメージファイル413の識別子を、TRのBlue環境のシステムイメージファイルに記載する。これにより、各デプロイ環境のBlue環境およびその1世代前のBlue環境で使用されているシステムイメージファイル413を管理することができる。テーブルで管理されなくなった2世代前のBlue環境のシステムイメージファイルは、図16を用いて後述するデプロイ処理において、削除されることとなる。
なお、Blue環境、1世代前のBlue環境、及び2世代前のBlue環境のそれぞれで使用されるシステムイメージファイルには異なる識別子が付与されて、異なるファイルとして管理されてもよい。また、ある処理システムで使用される複数のシステムイメージファイルのうち一部は、他の処理システムで使用されるシステムイメージファイルと同じでもよい。
図16は、本実施例におけるタグ更新指示処理およびシステムイメージファイル削除指示処理の流れの例を示す図である。システムマネージャ101は、管理者の要求に応じて、または所定の時刻に、本フローチャートで示す、システムマネージャ101によるシステムイメージファイル413の削除を伴うデプロイ処理を実行する。本実施例では、本番環境についてのデプロイ処理として説明しているが、本番環境についてのデプロイに限定されるものではない。実施例1の図8との差異はS1606以降であるため、その差異についてのみ記述する。
S1606では、システムマネージャ101は、システム100内にあるDNSサーバ(不図示)上のDNSレコードを書き換えるようサービスマネージャ102に対して指示する。DNSサーバは、クライアントからのリクエストの受信に応じて当該クライアントへの応答のための情報として、当該リクエストの送信先を示すレコードを保持する。指示を受けたサービスマネージャ102がDNSレコードを書き換えることで、Blue環境となる処理システムが切り替わる。これによりS802での指示によりデプロイされたGreen環境がBlue環境となる。
Blue−Greenデプロイメントが実行された後、S1607で、処理システム削除指示部1407は、現Blue環境に対して2世代前のBlue環境となった処理システムの削除をサービスマネージャ102に対して指示する。図13(b)の例では、処理システム130Aの削除の指示が行われることになる。この指示を受けたサービスマネージャ102は、その2世代前のBlue環境となった処理システムを削除する。
S1608で、ファイル削除指示部506は、システムイメージファイル413の一覧を取得する。ここで取得されるシステムイメージファイルの一覧には、S1607で削除指示された2世代前のBlue環境に対応する複数のシステムイメージファイルが少なくとも含まれる。
その後S1609で、テーブル更新部1408は、テーブル(図15)のレコード1516を更新する。テーブル更新部1408は、Blue環境のシステムイメージファイルの値を1世代前のBlue環境のシステムイメージファイルにコピーする。そして、テーブル更新部1408は、Blue環境のシステムイメージファイルには、S802におけるデプロイで使用したシステムイメージファイル413の識別子を記載する。
S1610〜S1613で、S1609で取得したシステムイメージファイル413それぞれに対して、繰り返し処理が実行される。S1611で、ファイル削除指示部506は、当該システムイメージファイル413がテーブル(図15)のレコード1511から1516に記載されていないかを判定する。もし本テーブルに記載されていれば、すなわち、他のデプロイ環境で既に構築されているBlue環境や1世代前のBlue環境のために当該システムイメージファイルが用いられていれば、当該システムイメージファイルを削除しないようにする。本テーブルに記載されていない場合、ファイル削除指示部506は、S1612を実行する。S1612で、ファイル削除指示部506は、該当のシステムイメージファイル413の削除をサービスマネージャ102に対して指示する。S1613で、取得したすべてのシステムイメージファイルに対して処理が行われた場合に、本フローチャートの処理が終了する。
本実施例では、Blue−GreenデプロイメントによりBlue環境が切り替えられていくことを利用して、現行のBlue環境に対して2世代前のBlue環境のデプロイに使用されたシステムイメージファイルを削除した。実施例1、2では、PRDのタグが付いたシステムイメージファイルを削除しなかったが、本実施例により、PRDのタグが付いたシステムイメージファイルを、一定の保持期間が経過後に削除することが可能となる。また、PRD以外のタグが付いていて不要となったイメージファイルについても、削除条件テーブル(図9)に記載の条件にしたがって削除するよりも、早いタイミングで該システムイメージファイルを削除することができる可能性がある。つまり、システムイメージファイルに付与されたタグの値に依存せずに、再利用性の低いシステムイメージファイルの削除を判定することができる。
(実施例4)
本実施例では、システムイメージファイルを用いてデプロイを行った後に、処理システムの動作確認を行い、その確認結果によってその後の処理を切り分けるようにする。
図17は、本実施例におけるタグ更新指示処理の流れの例を示すフローチャートである。実施例1との差異を中心に記述する。
S802でのシステムイメージファイルを用いたデプロイの後、S1703で処理システムの動作確認が行われる。動作確認は、システム100の外部にあるクライアントコンピュータ(不図示)、あるいはそれを模したものを利用して処理システムにアクセスし、想定通りの挙動を示すかの確認が行われる。動作確認で実施する内容はデプロイ環境ごとに異なる場合が考えられる。例えば、開発環境では開発者による簡易的なテストによる評価が実施され、評価環境では品質保証の担当者による厳密な評価が実施される。さらに、リハーサル環境では本番リリース前の手順確認が行われ、本番環境では実際のユーザへのサービス提供を含む確認などが行われる。
S1704では、S1703で実行した動作確認によって問題が確認されなかった場合にはS803に処理が進められ、問題が確認された場合には本フローチャートの処理を終了する。S803以降の処理は、図8と同様である。
なお、S1703での処理システムの動作確認は、別のタイミングで実行されてもよい。例えば、タグを更新した後であって、かつ、Blue−Greenデプロイメントが実行される前であってもよい。
本実施例によれば、処理システムの動作確認で問題が確認された場合には、Blue−Greenデプロイメントなどを実行しないようにした。このように、処理システムの動作確認の結果により、その後の処理を変更することが可能となる。
以上説明した実施例1〜実施例4をそれぞれ組み合わせることが可能である。
(他の実施例)
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
ここで、本発明は、上述した実施形態の機能を実現する1つ以上のソフトウェア(プログラム)を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の1つである。また、そのプログラムは、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に供給され、そのシステムあるいは装置の1つ以上のコンピュータ(CPUやMPU等)によりそのプログラムが読み出され、実行される。つまり、本発明の1つとして、さらにそのプログラム自体、あるいは当該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路(例えば、ASIC)によっても、本発明は実現可能である。
100 システム
110 管理者コンピュータ
505 削除判定部
506 ファイル削除指示部

Claims (13)

  1. 少なくとも仮想マシンで動作するソフトウェアの情報を含むシステムイメージファイルを保存する記憶装置から、前記システムイメージファイルを削除するための管理システムであって、
    システムイメージファイルを用いて起動された仮想マシンを含む処理システムが構築された環境に対応する属性の値を該システムイメージファイルへ付与するよう指示する付与指示手段と、
    前記付与指示手段の指示によりシステムイメージファイルに付与される属性の値に応じた条件として、該システムイメージファイルが作成されてから経過した時間が、該システムイメージファイルに付与される属性の値に応じた所定時間を超えるか否かに基づき、該システムイメージファイルを削除すべきか否かを判定する第1の判定手段と、
    前記第1の判定手段により削除すべきであると判定されたシステムイメージファイルを前記記憶装置から削除するよう指示する削除指示手段と、を有し、
    システムイメージファイルを用いて起動された仮想マシンを含む処理システムを構築できる環境として、少なくとも第1の環境および第2の環境があり、
    前記第1の環境に対応する属性の値に応じた第1の所定時間と、前記第2の環境に対応する属性の値に応じた第2の所定時間とは、異なることを特徴とする管理システム。
  2. 前記第1の判定手段は、前記システムイメージファイルが作成されてから経過した時間が、該システムイメージファイルに付与される属性の値に対応する所定時間を超える場合に、該システムイメージファイルを削除すべきであると判定することを特徴とする請求項1記載の管理システム。
  3. 記第1の判定手段は、
    第1の環境に対応する属性の値が付与されているシステムイメージファイルについて、該システムイメージファイルが作成されてから経過した時間が第1の所定時間を超える場合に、前記第1の環境に対応する属性の値に応じた条件を満たすとして、該システムイメージファイルを削除すべきであると判定し、
    前記付与指示手段の指示により前記第1の環境に対応する属性の値から更新可能な第2の環境に対応する属性の値が付与されているシステムイメージファイルについて、該システムイメージファイルが作成されてから経過した時間が第2の所定時間を超える場合に、前記第2の環境に対応する属性の値に応じた条件を満たすとして、該システムイメージファイルを削除すべきであると判定し、
    前記第2の所定時間は前記第1の所定時間よりも長く、かつ、前記第1の所定時間と前記第2の所定時間との差分は前記第1の所定時間以上であることを特徴とする請求項1または2に記載の管理システム。
  4. システムイメージファイルに付与される属性の値に基づき、システムイメージファイルに付与される属性の値を更新可能であるか否かを判定する第2の判定手段を有し、
    前記付与指示手段は、システムイメージファイルを用いて起動された仮想マシンを含む処理システムが構築された際に、前記第2の判定手段により更新可能であると判定された前記システムイメージファイルの属性の値の更新を指示することを特徴とする請求項1乃至のいずれか1項に記載の管理システム。
  5. システムイメージファイルに付与される属性の値に基づき、処理システムの構築の際に、該システムイメージファイルを使用可能であるか否かを判定する第3の判定手段と、
    前記第3の判定手段により使用可能であると判定されたシステムイメージファイルを用いて起動された仮想マシンを含む処理システムが構築されることを特徴とする請求項1乃至のいずれか1項に記載の管理システム。
  6. システムイメージファイルを用いて起動された1以上の仮想マシンを含む処理システムが複数構築される環境について、
    該構築される複数の処理システムに、第1の処理システム、第2の処理システム及び第3の処理システムが含まれる場合に、
    前記第1の判定手段は、所定のネットワークシステムに含まれるクライアントからのリクエストを受け付ける処理システムが前記第1の処理システムから前記第2の処理システムに切り替えられた後、前記クライアントからのリクエストを受け付ける処理システムが前記第2の処理システムから前記第3の処理システムに切り替えられた際に、前記第1の処理システムに含まれる仮想マシンの起動に使用されたシステムイメージファイルを削除すべきであると判定することを特徴とする請求項1乃至のいずれか1項に記載の管理システム。
  7. システムイメージファイルを用いて起動された1以上の仮想マシンを含む処理システムが構築できる複数の環境があり、
    前記第1の判定手段は、前記複数の環境のうち特定の環境以外のいずれかの環境に対応する属性の値が付与されているシステムイメージファイルについて、該システムイメージファイルが作成されてから経過した時間が、該システムイメージファイルに付与された属性の値に対応する所定時間を超える場合に、当該環境に対応する属性の値に応じた条件を満たすとして、該システムイメージファイルを削除すべきであると判定し、
    さらに、前記第1の判定手段は、前記複数の環境のうちシステムイメージファイルを用いて起動された1以上の仮想マシンをそれぞれ含む第1の処理システム、第2の処理システム及び第3の処理システムが構築された環境について、所定のネットワークシステムに含まれるクライアントからのリクエストを受け付ける処理システムが前記第1の処理システムから前記第2の処理システムに切り替えられた後、前記クライアントからのリクエストを受け付ける処理システムが前記第2の処理システムから前記第3の処理システムに切り替えられた際に、前記第1の処理システムに含まれる仮想マシンの起動に使用されたシステムイメージファイルを、該システムイメージファイルに付与された属性の値に依らず、削除すべきであると判定することを特徴とする請求項1乃至のいずれか1項に記載の管理システム。
  8. 前記第1の処理システムに含まれる仮想マシンの起動に使用されたシステムイメージファイルと、前記第2の処理システムに含まれる仮想マシンの起動に使用されたシステムイメージファイルと、前記第3の処理システムに含まれる仮想マシンの起動に使用されたシステムイメージファイルとは、それぞれ異なることを特徴とする請求項またはに記載の管理システム。
  9. 前記第1の判定手段は、前記第1の処理システムに含まれる仮想マシンの起動に使用されたシステムイメージファイルが、既に構築されている処理システムのために用いられていない場合に、当該システムイメージファイルを削除すべきであると判定することを特徴とする請求項乃至のいずれか1項に記載の管理システム。
  10. 前記クライアントからのリクエストを受け付ける処理システムを切り替えるための指示を行う切り替え指示手段を有し、
    前記指示に応じて、前記クライアントからのリクエストを受け付ける処理システムの切り替えのために、前記クライアントからのリクエストの受信に応じて前記クライアントへの応答を行うDNSサーバで保持されるリクエストの送信先を示すレコードが書き換えられることを特徴とする請求項乃至のいずれか1項に記載の管理システム。
  11. システムイメージファイルを用いて起動された仮想マシンを含む処理システムの動作確認を行う確認手段を有し、
    前記付与指示手段は、前記確認手段による動作確認で問題が確認されなかった場合に、前記システムイメージファイルへの属性の値の付与または更新を指示することを特徴とする請求項1乃至10のいずれか1項に記載の管理システム。
  12. 前記仮想マシンを含む複数の仮想マシンは、1台のサーバコンピュータ上で動作することを特徴とする請求項1乃至11のいずれか1項に記載の管理システム。
  13. 少なくとも仮想マシンで動作するソフトウェアの情報を含むシステムイメージファイルを保存する記憶装置から、前記システムイメージファイルを削除するための管理システムの制御方法であって、
    前記管理システムが、システムイメージファイルを用いて起動された仮想マシンを含む処理システムが構築された環境に対応する属性の値を該システムイメージファイルへ付与するよう指示する付与指示工程と、
    前記管理システムが、前記付与指示工程での指示によりシステムイメージファイルに付与される属性の値に応じた条件として、該システムイメージファイルが作成されてから経過した時間が、該システムイメージファイルに付与される属性の値に応じた所定時間を超えるか否かに基づき、該システムイメージファイルを削除すべきか否かを判定する第1の判定工程と、
    前記管理システムが、前記第1の判定工程において削除すべきであると判定されたシステムイメージファイルを前記記憶装置から削除するよう指示する削除指示工程と、を有し、
    システムイメージファイルを用いて起動された仮想マシンを含む処理システムを構築できる環境として、少なくとも第1の環境および第2の環境があり、
    前記第1の環境に対応する属性の値に応じた第1の所定時間と、前記第2の環境に対応する属性の値に応じた第2の所定時間とは、異なることを特徴とする制御方法。
JP2016032474A 2016-02-23 2016-02-23 管理システム、制御方法 Active JP6700848B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016032474A JP6700848B2 (ja) 2016-02-23 2016-02-23 管理システム、制御方法
US15/435,115 US11526468B2 (en) 2016-02-23 2017-02-16 Management system and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016032474A JP6700848B2 (ja) 2016-02-23 2016-02-23 管理システム、制御方法

Publications (2)

Publication Number Publication Date
JP2017151647A JP2017151647A (ja) 2017-08-31
JP6700848B2 true JP6700848B2 (ja) 2020-05-27

Family

ID=59629383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016032474A Active JP6700848B2 (ja) 2016-02-23 2016-02-23 管理システム、制御方法

Country Status (2)

Country Link
US (1) US11526468B2 (ja)
JP (1) JP6700848B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107077379B (zh) * 2016-04-25 2019-03-15 深圳前海达闼云端智能科技有限公司 一种虚拟机创建方法和装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271390A (ja) * 2002-01-09 2003-09-26 Matsushita Electric Ind Co Ltd プログラム配信システム
EP1369778A3 (en) * 2002-01-09 2004-01-02 Matsushita Electric Industrial Co., Ltd. Program distribution system
JP4050249B2 (ja) * 2004-05-20 2008-02-20 株式会社エヌ・ティ・ティ・データ 仮想マシン管理システム
JP4802607B2 (ja) * 2005-08-18 2011-10-26 富士ゼロックス株式会社 画像処理装置
US9270781B2 (en) * 2007-02-15 2016-02-23 Citrix Systems, Inc. Associating virtual machines on a server computer with particular users on an exclusive basis
JP4621709B2 (ja) * 2007-06-04 2011-01-26 日立電子サービス株式会社 バージョン管理システム及びプログラムバージョン管理方法
WO2011105714A2 (ko) * 2010-02-23 2011-09-01 Bang Inn-Sung 클라이언트의 가상 개발 환경을 이용하여 프로그램의 개발 계약 및 개발을 중개하는 원격 프로그램 개발 중개 시스템 및 원격 프로그램 개발 중개 방법
US8739157B2 (en) * 2010-08-26 2014-05-27 Adobe Systems Incorporated System and method for managing cloud deployment configuration of an application
JP5599055B2 (ja) * 2010-09-22 2014-10-01 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
JP2012068790A (ja) * 2010-09-22 2012-04-05 Internatl Business Mach Corp <Ibm> Osのイメージの選択装置、選択方法、及び選択プログラム
US8893147B2 (en) * 2012-01-13 2014-11-18 Ca, Inc. Providing a virtualized replication and high availability environment including a replication and high availability engine
JP2013148938A (ja) * 2012-01-17 2013-08-01 Hitachi Ltd 情報処理装置及び情報処理システム
JP5670369B2 (ja) * 2012-03-08 2015-02-18 株式会社東芝 情報処理装置、イメージファイル管理方法およびプログラム
US20150370593A1 (en) * 2012-06-26 2015-12-24 Nec Corporation System construction device and system construction method
JP5955148B2 (ja) * 2012-07-27 2016-07-20 キヤノン株式会社 画像形成装置及び仮想マシンプログラム
US20140068042A1 (en) * 2012-09-06 2014-03-06 International Business Machines Corporation Method and Apparatus for Accelerated Virtual Image Provisioning in Distributed Cloud Environments
US9092837B2 (en) * 2012-11-29 2015-07-28 International Business Machines Corporation Use of snapshots to reduce risk in migration to a standard virtualized environment
US9742873B2 (en) * 2012-11-29 2017-08-22 International Business Machines Corporation Adjustment to managed-infrastructure-as-a-service cloud standard
US9147010B2 (en) * 2013-04-17 2015-09-29 International Business Machines Corporation Reconfiguring an operator graph based on attribute usage
US20150154042A1 (en) * 2013-12-04 2015-06-04 Hitachi, Ltd. Computer system and control method for virtual machine
US9678783B2 (en) * 2015-10-14 2017-06-13 International Business Machines Corporation Temporal dynamic virtual machine policies
US10032032B2 (en) * 2015-12-18 2018-07-24 Amazon Technologies, Inc. Software container registry inspection
CN112840321A (zh) * 2018-12-03 2021-05-25 易享信息技术有限公司 用于自动化操作管理的应用程序编程接口

Also Published As

Publication number Publication date
JP2017151647A (ja) 2017-08-31
US11526468B2 (en) 2022-12-13
US20170242866A1 (en) 2017-08-24

Similar Documents

Publication Publication Date Title
US20210406079A1 (en) Persistent Non-Homogeneous Worker Pools
US9513938B2 (en) Virtual appliance integration with cloud management software
US9854131B2 (en) Image forming apparatus with personal setting synchronization and method for controlling same
RU2429529C2 (ru) Динамическое конфигурирование, выделение и развертывание вычислительных систем
CN112437915A (zh) 云平台上监测多个集群和应用程序的方法
US20120144391A1 (en) Provisioning a virtual machine
US8316224B2 (en) Systems and methods for tracking a history of changes associated with software packages and configuration management in a computing system
US20120192175A1 (en) Method and System to Accelerate Copying of Virtual Machine Images
US10715594B2 (en) Systems and methods for update propagation between nodes in a distributed system
US10721125B2 (en) Systems and methods for update propagation between nodes in a distributed system
CN103778178A (zh) 用于重新配置虚拟机的快照的方法和系统
KR101707552B1 (ko) 클라우드 환경에서 사용자로 하여금 애플리케이션을 체험할 수 있도록 체험 환경을 제공하는 방법 및 이를 이용한 서버
US11714747B2 (en) Executing integration scenario regression tests in customer landscapes
US10120671B1 (en) Multi-level image extraction
US9086938B2 (en) Information processing apparatus, control method thereof, and storage medium
US20190089586A1 (en) User controlled environment updates in server cluster
US11620121B1 (en) Controlling the approval of software updates for computing resources
WO2019181860A1 (ja) アプリケーション実行装置、アプリケーション実行方法、および記録媒体
CN113467882A (zh) 部署容器的方法及系统
JP6393612B2 (ja) システムのバックアップ装置及びバックアップ方法
US10768961B2 (en) Virtual machine seed image replication through parallel deployment
US11750451B2 (en) Batch manager for complex workflows
JP6700848B2 (ja) 管理システム、制御方法
US9769007B1 (en) Passive data protection system migration
CN113296891A (zh) 基于平台的多场景知识图谱处理方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200306

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200501

R151 Written notification of patent or utility model registration

Ref document number: 6700848

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151