JP2017536608A - ステージ及びバージョンポリシーを用いるトポロジーベースの管理 - Google Patents

ステージ及びバージョンポリシーを用いるトポロジーベースの管理 Download PDF

Info

Publication number
JP2017536608A
JP2017536608A JP2017517225A JP2017517225A JP2017536608A JP 2017536608 A JP2017536608 A JP 2017536608A JP 2017517225 A JP2017517225 A JP 2017517225A JP 2017517225 A JP2017517225 A JP 2017517225A JP 2017536608 A JP2017536608 A JP 2017536608A
Authority
JP
Japan
Prior art keywords
topology
stage
version
application
policies
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.)
Pending
Application number
JP2017517225A
Other languages
English (en)
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of JP2017536608A publication Critical patent/JP2017536608A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5048Automatic or semi-automatic definitions, e.g. definition templates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls

Abstract

1実施例において、ステージ及びバージョンポリシーを用いるトポロジーベースの管理のための方法は、開発中のアプリケーションにトポロジーを関連付けることと、複数のポリシーを決定することと、該複数のポリシーを該トポロジーの複数のノードに関連付けることと、該関連付けられた複数のポリシーを用いて該トポロジーをプロビジョニングすることとを含むことができ、該複数のポリシーは、該アプリケーションの所与のステージ及びバージョンに対して利用可能な複数のインフラストラクチャを定義するステージ及びバージョンポリシーを含む。【選択図】図3

Description

ますます多くの企業体及び個人が、たとえば、いくつかあるクラウド関連の目的の中でも特に、商品やサービスを販売したり、業務記録を維持したり、個人にコンピューティング資源へのアクセスを提供したりするために、クラウドコンピューティング、及び、クラウドコンピューティングシステムを通じて提供されるサービスを利用するようになってきている。クラウドコンピューティングは、クラウドの利用者に、該クラウド上に構築されたサービスもしくはそれらのサービスの組み合わせとして、スケーラブルで統合化されたコンピューティング、ストレージ(記憶装置)、及びネットワーキング能力を提供する。クラウドコンピューティングシステムがあるエンティティ(企業体など)のために生成される場合には、クラウドを、該エンティティによってまたは該エンティティのために、設計し、提供(プロビジョニング)し、配備(デプロイ)し、及び維持することができる。クラウドコンピューティングシステムを設計し、提供(プロビジョニング)し、配備(デプロイ)し、及び維持することは、難しい作業でありうる。
(補充可能性あり)
本開示にしたがう設計図のブロック図である。 本開示にしたがうアーキテクチャ由来のトポロジーを示すブロック図である。 本開示にしたがう、クラウドサービスを設計し、提供(プロビジョニング)し、配置(デプロイ)し、監視し、及び管理するためのトポロジーベースの管理ブローカーの機能の概要を示すブロック図である。 本開示にしたがう、クラウドサービスを設計し、提供(プロビジョニング)し、配置(デプロイ)し、監視し、及び管理するためのトポロジーベースの管理ブローカーの機能の概要を示すブロック図である。 トポロジーベースの管理ブローカーの共通のプラットフォームを示すブロック図である。 本開示にしたがう、トポロジーを設計する方法を示すフローチャートである。 本開示にしたがうシステムの1例を示す。 本開示にしたがうシステムの1例を示す。 本開示にしたがうシステムの1例を示す。 本開示にしたがう、トポロジーのノードに関連付けられた構成要素のトポロジーを構成する構成要素のプラットフォームの1例を示すブロック図である。
従来のクラウドコンピューティング環境では、ステージ(段階)及びバージョンポリシーは、クラウドコンピューティングプラットフォームの独立型の製品、及び/又は一部でありうる。さらに、従来のクラウドコンピューティング環境は、クラウドコンピューティング環境のトポロジーに基づかないステージ及びバージョンポリシーを含みうる。本開示のいくつかの実施形態では、システム及び方法は、クラウドコンピューティング環境のトポロジーに基づき、かつ、該トポロジー及び/又はトポロジーインスタンスにマッピングされたステージ及びバージョンポリシーを含むことができる。従来のシステム及び方法に対する本開示の実施形態の利点は、ファーストデーオペレーションなくしてセカンドデーオペレーションをサポートできること、及び/又は、CSAをサポートできること、及び/又は、レガシーシステム(従来のシステム)と互換性がある(ないしそれに適合する)ステージ及びバージョンポリシーを提供することである。
クラウドコンピューティングは、ユーザーのデータ、ソフトウェア、及び計算に対するサービスを提供する。クラウドサービス内のリソースに配置(デプロイ)されているアプリケーションは手動で配置(デプロイ)される場合がある。この手動配置には、かなりの管理時間がかかる。アプリケーションを手動で配置(デプロイ)するステップは、インフラストラクチャの提供(プロビジョニング)及びインスタンス化を含みうる。これは、ミドルウェアやDB+アプリケーションなどのアプリケーションもしくはプラットフォームのインストールをリンクすること、または、配置(デプロイ)されたインフラストラクチャに関する十分な知識を有していてもいなくてもイメージを配置(デプロイ)することを含みうる。手動配置はさらに、アプリケーションを配置することを試みるユーザーによって起動される多くの一連のステップを含みうる。したがって、配置されたインフラストラクチャにアプリケーションを手動でリンクすることは、大量のコンピューティング資源及び人的資源を消費し、また、ミス、並びに、アプリケーションと背後にあるインフラストラクチャとの間の矛盾する問題を引き起こし得る。配置されたインフラストラクチャへのアプリケーションのリンクを、いくつかのツール、スクリプト、及び実行ファイルで自動化することができ、この場合、オーケストレータが、それらのプロセスの一連の実行を自動化する。クラウドサービス内のリソースに配置されるアプリケーションの設計、提供(プロビジョニング)、配置(デプロイ)、及び管理(ないし維持)に使用されるいくつかのデバイス(装置)は、データセンター、プライベートクラウド、パブリッククラウド、マネージドクラウド(managed cloud)、ハイブリッドクラウド、及びそれらの組み合わせを含むことができる。
より具体的には、ネットワークを介してユーザーに提供されるクラウドサービスを、クラウドサービスマネージャを用いて、設計し、提供し、配置し、及び管理することができる。クラウドサービスプロバイダーやその他の(企業などの)エンティティもしくは個人は、クラウドサービスを設計し、提供し、配置し、及び、いくつかのサービス、アプリケーション、プラットフォーム、または、クラウド環境において配置され、実行され、及び管理されるインフラストラクチャ能力から適切に構成されたクラウドサービスを管理する。この場合、それらの設計をユーザーに提供することができ、該ユーザーは、カタログから市場またはAPIコールを介してそれらの設計を注文し、要求し、及び購入して、同じメカニズムによって、それらの設計に基づいて配置されたクラウドサービスのライフサイクルを管理することができる。より詳細に後述する、ヒューレットパッカード社によって設計されて供給されているCLOUD SERVICE AUTOMATION(CSA 3.2)などのクラウドサービスマネージャにおけるサービス設計は、「設計図(blueprint)」で表現される。
設計図は、サービスを構成する全ての構成要素を提供もしくは管理して、特定のライフサイクル管理アクションを実行するために実行されるワークフローの集合に関してサービスを記述する。設計図によって定義されているそれらのワークフローの機能のうちのいくつかは、リソースプロバイダーに対するコールとして実行される実際のライフサイクル管理アクションである。該リソースプロバイダーは、それらのコールを、リソースプロバイダーによって提供された特定のリソースまたはインスタンスに固有の良好に形成されかつ交換された命令に変換する。
図1は、本明細書に記載されている原理の1例にしたがう設計図(100)のブロック図である。設計図中のそれぞれのオブジェクト(102−1、102−2、102−3、102−4、102−5、102−6、102−7、102−8、102−9、102−10、102−11、102−12)を、リソースプロバイダーを呼び出すアクションワークフローに関連付けることができる。クラウドサービスを設計し、提供し、配置し、及び管理する設計図(100)アプローチにはいくつかの課題が存在する。設計図は、関係によって関連付けられた特性及びアクションを含むオブジェクトからなるが、該設計図の構造は、たとえば、クラウドサービスをサポートするシステムの実際の物理的なアーキテクチャなどの物理的なトポロジー(物理トポロジー)との関係を識別しない。これは、たとえば、システムに関連付けられたポリシーを記述するために、追加のメタデータを設計図(100)に関連付けることを難しくする。さらに、ポリシーと設計図(100)中のノードとのこの関連付けは、配置されることになるクラウドサービスの設計者または管理者にとって直感的に理解できるものではない。
さらに、同じ理由によって、設計図(100)の構造は、CONTINUOUS DELIVERY AUTOMATION(CDA)がそうであるように、アプリケーションのモデルまたはインフラストラクチャのテンプレートとして使用するのが難しい。CDAは、バージョン、構成(コンフィグレーション)、及び他のアプリケーション要素を管理しつつ、インフラストラクチャ要件及びアプリケーション要件を独立にモデル化するトポロジーデザイナー内で使用されるシステムツールである。CDA1.2も、ヒューレットパッカード社によって開発されて供給されている。上記と同じ理由によって、設計図(100)の構造は、アプリケーションのモデルとして使用するのが難しい。なぜなら、設計図は、該アプリケーションのアーキテクチャを記述していないからである。さらに、設計図は、インフラストラクチャのテンプレートとして使用するのが難しい。なぜなら、設計図は、インフラストラクチャのアーキテクチャを記述していないからである。この結果、アプリケーションのモデル並びにインフラストラクチャもしくはプラットフォームのテンプレートをモデル化し、及び、アプリケーションのモデルとインフラストラクチャもしくはプラットフォームのテンプレートを互いにマッピングすることを目的とするシステムは、該設計図と簡単には両立しない。なぜなら、それらは、それらのサービスをモデル化する異なる方法に基づいているからである。
本システム及び方法は、クラウドサービスを構成するシステムの物理的なアーキテクチャを定義するアーキテクチャ記述トポロジーを記述する。図2は、本明細書に記載されている原理の1例にしたがう、アーキテクチャ由来のトポロジー(200)を示すブロック図である。図2に示されているように、アーキテクチャ由来のトポロジー(200)は、互いに関連付けられた複数のノード(201、202、203、204、205、206、207、208、209、210、211、212、213、214、215)を含むことができる。トポロジー(200)内のノード間の関連付けは、白抜き矢印によって示されている。トポロジー(200)内の複数のノード(201、202、203、204、205、206、207、208、209、210、211、212、213、214、215)を、塗りつぶし矢印によって示されているように、互いに集約させることもできる。集約(aggregation)は、単一の接続が維持することができるスループットを超えてスループットを高め、及び、リンクの1つが故障した場合に備えて冗長性を提供するのと同時に、複数のネットワーク接続を組み合わせる(集約する)ことを記述するために使用されるコンピューティング用語である。
たとえば、ロード(負荷)バランサ(201)、ウェブサーバーサービス(202)、アプリケーションエンタープライズアーカイブ(203)、及びデータベース(204)は、互いに関連付けられている。ウェブサーバーサービス(202)は、ウェブ仮想マシン(205)、そのセキュリティグループ(213)及びウェブ仮想ローカルエリアネットワーク(209)と集約される。同様に、アプリケーションエンタープライズアーカイブ(203)は、JavaBeans Open Source Software Application Server(JBoss)サービス(206)、JBoss仮想マシン(208)及びこれに関連するセキュリティグループ(214)、及び、セキュアアプリケーション仮想ローカルエリアネットワーク(210)などのアプリケーションサーバーサービスと集約される。さらに同様に、データベース(204)は、データベース仮想マシン(207)及びそのセキュリティグループ(215)、及び、セキュアデータベース仮想ローカルエリアネットワーク(211)に関連付けられる。ウェブ仮想ローカルエリアネットワーク(209)、セキュアアプリケーション仮想ローカルエリアネットワーク(210)、及びセキュアデータベース仮想ローカルエリアネットワーク(211)はルーター(212)に関連付けられる。
したがって、アーキテクチャ由来のトポロジー(200)のインスタンス化に基づくクラウドサービスを、該トポロジー内の複数のノード間で定義された複数の関係を有するノードのトポロジーとして表すことができる。複数の特性及びアクションは、複数のノード、ノードの複数のグループ、トポロジーの一部、トポロジー全体、または、それらの組み合わせと関連付けられる。さらに、複数のポリシーが、複数のノード、ノードの複数のグループ、トポロジーの一部、トポロジー全体、または、それらの組み合わせと関連付けられる。さらに、複数のライフサイクル管理アクション(LCMA)が、複数のノード、ノードの複数のグループ、トポロジーの一部、トポロジー全体、または、それらの組み合わせと関連付けられる。
したがって、本システム及び方法は、トポロジーと設計図の両方をサポートすると共に、同じライフサイクル管理エンジンを使用するクラウドサービスブローカーまたはマネージャを記述する。ライフサイクル管理エンジンは、クラウドサービスのライフサイクル管理、及び、アプリケーションのモデルとインフラストラクチャのテンプレートのマッピングをサポートする。本システム及び方法はまた、クラウドサービス内の提供(プロビジョニング)プロセス、配置(デプロイ)プロセス、監視プロセス、及び改善プロセスを管理するためのポリシーベースのフレームワークを記述する。さらに、本システム及び方法は、より詳細に後述するように、CSA、CDA、及び設計図によってサポートされる利用(使用)モデルをサポートする。
本明細書及び特許請求の範囲で使用されている「自律計算」、「自律型コンピューティング」という用語は、予測できない変化に適合する一方で、ユーザー及びオペレータに対して固有の複雑さを隠す分散したコンピューティングリソースの自己管理特性として広義に理解されるべきことが意図されている。自己管理には、自己コンフィグレーション、自己最適化、自己監視、自己改善(自己修復)、自動提供(プロビジョニング)、自動改善、または、それらの組み合わせを含めることができる。
本明細書及び特許請求の範囲で使用されている「ブローカー」という用語は、クラウド内のトポロジーの設計、提供(プロビジョニング)、配置(デプロイ)、及び、そのトポロジーに基づいてインスタンス化されたサービスの維持(ないし保守)及びライフサイクル管理を管理する任意のコンピューティング装置またはコンピューティング装置のネットワーク内のコンピューティング装置の集合として広義に理解されるべきことが意図されている。
本明細書及び特許請求の範囲で使用されている「クラウドサービス」という用語は、リアルタイム通信ネットワークを通じて接続された複数のコンピューティング装置を介して提供される任意の数のサービスとして広義に理解されるべきことが意図されている。クラウドサービスには、分散したハードウェア資源及びソフトウェア資源を実施ないし実装する分散システムで提供されるサービスを含めることができる。1例では、クラウドサービスを、プライベートクラウド、パブリッククラウド、マネージドクラウド、ハイブリッドクラウド、または、それらの組み合わせで提供される任意のサービスとすることができる。別の例では、クラウドサービスを、たとえばデータセンターなどの物理的に独立したマシンで提供されるサービスとすることができる。
本明細書及び特許請求の範囲で使用されている「ハイブリッドクラウド」という用語は、複数のクラウドサービスを提供するために互いに結合された複数の固有のコンピューティングクラウドとして広義に理解されるべきことが意図されている。
さらに、本明細書及び特許請求の範囲で使用されている「ノード」または「コンピューティング装置」という用語は、ネットワーク内の任意のハードウェア装置、仮想デバイス(仮想装置)、ハードウェア装置のグループ、仮想デバイス(仮想装置)のグループ、または、それらの組み合わせとして広義に理解されるべきことが意図されている。ノードには、たとえば、多くのタイプのハードウェア装置及び仮想デバイス(仮想装置)の中でも特に、サーバー、スイッチ、データ処理装置、データ記憶装置、ロードバランサ、ルーター、及び、それらの仮想実施形態を含めることができる。さらに、ノードは、該ノードがその一部であるトポロジーの実行及びインスタンス化の前の上記のハードウェア装置及び仮想デバイス(仮想装置)を表すことができる。
さらに、本明細書及び特許請求の範囲で使用されている「トポロジー」という用語は、ノードのグラフを表すデータとして広義に理解されるべきことが意図されており、この場合、それらのノード間の枝は、該ノード間の関係を表している。それらのノードは、ネットワーク内に配置された任意の数のコンピューティング装置を含むことができる。したがって、ネットワークのトポロジーは、ネットワーク化されたコンピューティング装置の物理的及び論理的レイアウト、及び、コンピューティング装置間の関係の定義を含むことができる。複数のポリシー及びライフサイクル管理アクション(LCMA)を、それらのトポロジー、それらのトポロジーの一部、それらのトポロジー内のノード、それらのトポロジー内のノードのグループ、及び、それらの組み合わせに関連付けることができる。
さらに、本明細書及び特許請求の範囲で使用されている「設計図」という用語は、クラウドサービスの配置(デプロイ)及びクラウドサービスのライフサイクル管理の自動化を可能にする実行フローとして広義に理解されるべきことが意図されている。設計図は、たとえば、オペレーティングシステム、アプリケーションスタック、データベースなどのサービスに含まれる複数のハードウェア及び/又は仮想化された構成要素の機能記述を含むことができる。設計図はさらに、ハードウェアと仮想化された構成要素との間の構成(コンフィグレーション)及び接続性の機能記述を含むことができる。設計図はまた、機能記述を配置(デプロイ)できるようにするための複数の配置モデルを含むことができる。設計図はさらに、ユーザーが、配置(デプロイ)されたサービスのいくつかのオプションの側面を構成ないし設定することができるようにするための一組のユーザー構成可能オプションを含むことができる。設計図は、アーキテクチャ由来ではない実行可能なトポロジーの例である。
さらに、上記の設計図に加えて、本開示は、実行可能なトポロジーの利用を提供する。したがって、本システム及び方法は、設計図由来のトポロジーとアーキテクチャ由来のトポロジーの両方の実行及びインスタンス化を提供する。設計図由来のトポロジーとアーキテクチャ由来のトポロジーは両方とも実行可能である。したがって、本明細書及び特許請求の範囲で使用されている「トポロジー」という用語は、インスタンス化されるネットワークの特性を定義する実行可能なロジックとして表すことができる実行可能なロジックまたは解釈可能なロジックの任意の組として広義に理解されるべきことが意図されている。トポロジーは、複数のノードを定義することができる。さらに、トポロジーは、それらのノードに、複数のグループとしてまたは個々にまたはそれらの組み合わせで関連付けられた複数のポリシー及びライフサイクル管理アクションを定義することができる。1例では、設計図をトポロジーとして表現することができる。この例では、設計図由来のトポロジーはまた、複数のノードと、それらのトポロジー内のノード、それらのトポロジー内のノードのグループ、それらのトポロジーの一部、トポロジー全体、及びそれらの組み合わせに関連付けられた複数のポリシー及びライフサイクル管理アクションとを定義することができる。
さらに、本明細書及び特許請求の範囲で使用されている「ポリシー」という用語は、クラウドサービス内の提供(プロビジョニング)、配置(デプロイ)、監視、実施、及び改善の管理を支援するために使用される任意のデータまたはメタデータとして広義に理解されるべきことが意図されている。それらのポリシーは、クラウドサービス環境内の複数のコンピューティング装置に関連付けられている提供(プロビジョニング)タスク、配置(デプロイ)タスク、監視タスク、実施タスク、及び改善タスクに適用可能な複数のルールまたはルールの組(集合)を表すことができる。
さらに、本明細書及び特許請求の範囲で使用されている「ユーザー」という用語は、任意の個人または(企業などの)エンティティであって、それらの個人またはエンティティのためにまたはそれらの個人またはエンティティによって、クラウドサービスが、設計され、提供(プロビジョニング)され、配置(デプロイ)され、監視され、ポリシーが実施され、インシデントが改善され、その他のやり方で管理され、または、それらの組み合わせが行われるところの個人またはエンティティとして広義に理解されるべきことが意図されている。1例では、ユーザーは、クラウドサービスの使用をある費用で購入することができる。たとえば、ユーザーは、クラウド資源及びサービスを使用するために会費を支払うことができ、この場合、該ユーザーを加入者(または会員)として分類することもできる。別の例では、ユーザーは、クラウドサービスの設計者または管理者でありうる。さらに別の例では、ユーザーは、クラウドサービスを管理する任意の個人でありうる。
さらに、本明細書及び特許請求の範囲で使用されている「複数の」という用語またはこれと類似の用語は、1(1を含む)から無限大までの任意の正の数として広義に理解されるべきことが意図されている(ゼロは数ではなく数がないことを意味する)。
以下の説明では、説明の便宜上、本システム及び方法を完全に理解できるようにするために、多くの特定の細部が説明される。しかしながら、当業者には、本装置、システム、及び方法を、それらの特定の細部なくして実施できることが明らかであろう。本明細書において「1例」またはこれと類似の用語が使用されている場合には、それは、その例に関連して記載されている特定の特徴、構造、または特性が、記載されている通りに含まれるが、他の例には含まれなくてよいことを意味している。
本システムを、たとえば、ネットワーク内の複数のコンピューティング装置の設計、提供(プロビジョニング)、配置(デプロイ)、及び管理を含む該ネットワーク内の任意のデータ処理状況で使用することができる。たとえば、本システムを、複数のコンピューティング装置が、それが実在であれ仮想であれ、サービス志向のネットワーク内で設計され、提供(プロビジョニング)され、配置(デプロイ)され、及び管理されるクラウドコンピューティング状況で使用することができる。別の例では、本システムを、独立型のデータセンターまたはクラウドコンピューティング状況内のデータセンターにおいて使用することができる。サービス志向のネットワークは、たとえば、複数のアプリケーションをホストするSaaS(Software as aService:サービスとしてのソフトウェア)や、たとえば、とりわけ、オペレーティングシステム、ハードウェア、及び記憶装置を含むコンピューティングプラットフォームをホストするPaaS(Platform as a Service:サービスとしてのプラットフォーム)や、たとえば、とりわけ、サーバー、記憶要素、ネットワーク、及び構成要素(コンポーネント)などの装備をホストするIaaS(Infrastructure as a Service:サービスとしてのインフラストラクチャ)や、APIaaS(API as a Service:クラウド型APIサービス)や、その他の形態のクラウドサービス、またはそれらの組み合わせを含むことができる。本システムを、1つまたは複数のハードウェアプラットフォームにおいて実施することができ、この場合、該システム内のモジュールは1つのプラットフォームにおいてまたは複数のプラットフォームにわたって実行される。それらのモジュールを、種々の形態のクラウド技術及びハイブリッドクラウド技術で動作させることができ、または、クラウドにおいてもしくはクラウド外で実施することができるSaaSとして提供することができる。
さらに、本システムを、パブリッククラウドネットワーク、プライベートクラウドネットワーク、ハイブリッドクラウドネットワーク、その他の形態のネットワーク、または、それらの組み合わせにおいて使用することができる。1例では、本システムによって提供される方法は、たとえば、サードパーティーによってネットワークを通じたサービスとして提供される。別の例では、本システムによって提供される方法は、ローカル管理者によって実行される。さらに別の例では、本システムを、単一のコンピューティング装置内で使用することができる。このデータ処理状況では、単一のコンピューティング装置は、本明細書に記載されている装置(デバイス)及び関連する方法を利用して、クラウドサービスを配置(デプロイ)し及び該クラウドサービスのライフサイクルを管理することができる。上記の例では、クラウドサービスの設計、該クラウドサービス内の複数のコンピューティング装置及び関連するソフトウェアの提供(プロビジョニング)、設計されて提供されたクラウド資源及びサービスの配置(デプロイ)、該クラウド資源及びサービスの管理、及びそれらの組み合わせを、サービスとして提供することができる。
本開示の例を、システム、方法、またはコンピュータープログラム製品として具現化することができ、及び、本開示の例は、本明細書では一般的に「回路」、「モジュール」、または「システム」と呼ぶ場合がある、もっぱらハードウェアによる実施形態、またはソフトウェアとハードウェアを組み合わせた実施形態の形態を取ることができる。さらに、本開示の例は、コンピューター可読プログラムコードを含む(ないし格納している)複数のコンピューター可読媒体に具現化されているコンピュータープログラム製品の形態を取ることができる。1以上のコンピューター可読媒体の任意の組み合わせを使用することができる。
コンピューター可読媒体を、コンピューター可読信号媒体とは対照的なコンピューター可読記憶媒体とすることができる。コンピューター可読記憶媒体を、たとえば、電子、磁気、光学、電磁、赤外線、もしくは半導体システム/装置/デバイス、または、これらの任意の適切な組み合わせとすることができる。コンピューター可読記憶媒体のより具体的な例は、1以上のワイヤ(電線)を有する電気的接続、携帯型コンピュータディスケット(たとえばフロッピーディスク)、ハードディスク、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、消去可能PROM(EPROMまたはフラッシュメモリ)、コンパクトディスク読取り専用メモリ(CD−ROM)、光学式記憶装置、磁気記憶装置、または、これらの任意の適切な組み合わせを含むことができる。本開示の文脈において、コンピューター可読記憶媒体を、命令実行システム/装置/デバイスによってまたはそれらに関連して使用されるプログラムを含むことができもしくは格納することができる任意の有形の媒体とすることができる。
本開示を通じて、種々のコンピューティング装置が記述されている。それらのコンピューティング装置は、データ処理装置、データ記憶装置、及びデータ通信装置を含む実在のまたは仮想のコンピューティング要素を含むことができる。それらの種々の装置を、実在する物理的な装置に関連して説明することができるが、任意の数の該装置を仮想装置(仮想デバイス)とすることができる。それらの仮想装置は、エミュレートされたコンピューターアーキテクチャの仕様及び現実世界のコンピューターの機能に基づくソフトウェアベースのコンピューターを記述するものであるが、複数の関連するハードウェア装置を含み、または、それらのハードウェア装置に機能的に接続される。したがって、本開示の側面を、ハードウェア要素、(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)ソフトウェア要素、または、ハードウェア要素とソフトウェア要素の組み合わせによって実施することができる。
いくつかの例では、自己コンフィグレーションは、「配置(デプロイ)する」ための指示または命令に基づいてアプリケーションを配置(デプロイ)し及び該アプリケーションを構成(ないし設定)する該アプリケーションの特性を意味する。たとえば、トポロジーを、配置(デプロイ)及び構成(ないし設定)を決定する複数のポリシーに関連付けることができる。別の例では、トポロジーは、アプリケーションの配置(デプロイ)及び構成(ないし設定)を決定するプロビジョニングロジックを含むことができる。該ロジック、ポリシー、またはそれらの組み合わせはトポロジーと共にパッケージ化される(組み込まれる)ので、それらをクラウド管理システムによって自己配置することができる。かかる自己コンフィグレーションは、ワークフローを実行することを含むことができるが、該ワークフローにおいて、それらのアクションは、サービスを提供するために、クラウド環境の複数のアプリケーションプログラミングインターフェース(API)をコールする。本明細書で使用されている「トポロジー」は、アプリケーションのトポロジー、及び/又は該アプリケーションを実施しているシステムに関する情報を含むデジタル構造である。
いくつかの例では、アプリケーションを自動提供(自動プロビジョニング)することができる。たとえば、(実行ファイル、トポロジー、該トポロジーに関連付けられたポリシーを含むことができる)アプリケーションを、サービスとしてインスタンス化するべく選択することができる。本明細書で使用されている「サービスをインスタンス化する」ことは、本明細書に記載されているようにクラウドシステムの動作を改善するための実施ないし実装を含む。それらのポリシーは、監視、イベント処理、インシデント処理、及び改善トポロジーを記述するポリシーを含むことができる。それらのポリシーを、配置(デプロイ)するために、図3及び図4に関連して説明されているシステムなどのプラットフォームに渡すことができる。提供(プロビジョニング)ポリシーを、能力及び要件を含む提供(プロビジョニング)ポリシーをコンテキスト情報で評価することができ、及びLCMAを実行するためにどのリソースプロバイダーを使用するかを決定するためのリソースプロバイダーポリシーを評価することができる提供(プロビジョニング)ポリシーエンジンへの入力とすることができる。
別の例では、アプリケーションを自己提供(自己プロビジョニング)することができる。この例では、APIを用いて、図3及び図4のシステムに該APIを構築することができる。それらのAPIは、該システムにサービスを提供(プロビジョニング)して最適化させるために実行ファイルすなわちインストール可能な(ソフトウェア)生成物、トポロジー、及びポリシーを渡す。
図3及び図4は、本明細書に記載されている原理の1例にしたがう、クラウドサービスを提供(プロビジョニング)し、配置(デプロイ)し、監視し、保護し、及び改善するための設計段階と共に、トポロジーベースの管理ブローカー(300)のブロック図を示している。図3及び図4のシステムは、より詳細に後述するように、トポロジーと設計図の両方をサポートする一方で、同じライフサイクル管理エンジンを使用する。
1例では、複数のトポロジーデザイナー(301)によって、新たにトポロジー(302)を設計することによって、トポロジー(302)を生成することができる。この例では、複数の提供(プロビジョニング)ポリシー(303)を含むようにトポロジー(302)を設計することができる。システム(300)及びトポロジー(302)は、サービス(312)をインスタンス化するための特定のやり方を定義する(もしくは定める)ことができる。したがって、インスタンス化されたサービス(312)を、インスタンス化されたサービス(312)の提供(プロビジョニング)中に自己コンフィグレーション(自己構成ないし設定)することができる。
別の例では、複数のスティッチング法を用いて、複数のアプリケーションモデル(319)と複数のインフラストラクチャテンプレート(320)をスティッチする(結合する)ことによって、トポロジー(302)を生成することができる。この例では、システム(300)、及び対応する能力ポリシー、要件ポリシー及び提供(プロビジョニング)ポリシーを有するアプリケーションモデル(319)は、トポロジー(302)に対して最良のインフラストラクチャテンプレート(320)を自己選択することができる。この例では、トポロジー(302)を自己設計することができる(または、トポロジー(302)は自己設計機能を有することができる)。この場合、トポロジー(302)は、上記のように、自己コンフィグレーションする、すなわち、サービス(312)をインスタンス化するための特定のやり方を定義することができる。
アプリケーションを、自己コンフィグレーション可能なものであることに加えて、自己回復が可能なものとすることができる。自己回復は、サービス(312)またはアプリケーションを監視し、メトリクスなどの収集されたデータに基づいて生成されたインシデントを自己改善(ないし自己修正)する該サービス(312)または該アプリケーションの能力を意味しうる。いくつかの例では、自己回復は、トポロジー(302)に含まれているポリシー(303)にしたがって監視し及び改善(ないし修正)することを含むことができる。別の例では、自己回復は、トポロジー(302)自体に含まれている改善(ないし修正)ロジック及び監視ロジックを実行することを含むことができる。
図5は、本明細書に記載されている原理の1例にしたがう、図3及び図4のトポロジーベースの管理ブローカー(300)の共通のプラットフォーム(500)を高レベルで示すブロック図である。図5に示されているように、CSA(501)及びCDA(506)の共通のプラットフォームは、サービス設計の側面(504)及びサービス実施(サービスフルフィルメント)の側面(505)の共通の使用によって表されている。CSA(501)の場合は、CSA(501)のセルフサービスポータル(502)及びサービス消費(503)という側面は、CDA(506)のCDA拡張の側面(507)が使用するのと同じリソース(資源)を使用する。このように、クラウドサービスをインスタンス化する全ての使用例は、共通のプラットフォームによってサポートされる。したがって、複数のトポロジーデザイナーによって、及び/又は、アプリケーションモデルとインフラストラクチャテンプレートとのスティッチングプロセスによって、トポロジーは新たに設計されうるが、本システム及び方法はまた、本明細書に記載されているシステム及び方法を用いて、同じシステム内で設計図を実行する。以下で、この側面を、図3及び図4に関連してより詳細に説明する。
図3及び図4に示されているように、1つまたは複数のトポロジーデザイナー(301)が、クラウドサービストポロジーの種々の側面を設計するのに貢献する。1例では、トポロジー設計は、ハードウェア装置、及びグラフィカルユーザーインターフェース(GUI)やコーディングスクリプトなどのソフトウェアモジュールを使用する設計ツールを用いて実行される。(人間である)設計者は、設計ツール(301)を用いてトポロジーを設計する。したがって、トポロジー(302)の設計は、自律的な設計法と人間によって提供される設計法の組み合わせによって達成される。1例では、トポロジーデザイナー(301)を、インフラストラクチャ及び該インフラストラクチャのライフサイクル状態を指定するインフラストラクチャテンプレート(図4の320)を生成することと共に、アプリケーションモデル(図4の319)とそれに関連する構成要素を個別に生成することを可能にするAPIを利用するインターフェースとすることができる。
トポロジーベースの管理ブローカー(200)全体のうちの図3に示されているサブシステムは、クラウドサービス内において、ポリシーを提供(プロビジョニング)し、配置(デプロイ)し、監視し、実施し、及び該クラウドサービス内のインシデントを改善(ないし修正)することができるサブシステムを含む。トポロジーが設計図由来であってもアーキテクチャ由来であっても、それらのタスクは全て、LCMA及びポリシーと共にトポロジーを用いて実行される。したがって、本システム及び関連する方法はまた、CSA3.2がサポートする全ての使用例をサポートする。上記したように、CSA3.2は、クラウドコンピューティングアプリケーションを配置(デプロイ)及び管理するために使用される自動化システムツールであり、ヒューレットパッカード社によって開発されて供給されている。CSA3.2技術は、設計図またはアーキテクチャトポロジーをサポートすることができる。さらに、CSAは、「Managing a Hybrid Cloud Service」と題するMaesに対する国際特許出願PCT/US2012/045429に記載されている(該出願の内容全体は参照により本明細書に組み込まれるものとする)。より詳細に後述するように、図3に示されているサブシステムは、複数のタイプのポリシー及びライフサイクル管理アクション(LCMA)を使用して、配置(デプロイ)されたクラウドサービス内においてポリシーを提供(プロビジョニング)し、配置(デプロイ)し、監視し、実施し、及び、該クラウドサービス内のインシデントを改善(ないし修正)する。
さらに、トポロジーベースの管理ブローカー(200)全体のうちの図4に示されているサブシステムは、図3に示されているサブシステムと同じスタックにおいて、トポロジーのインフラストラクチャ及びアプリケーション要件を別個にモデル化することができるサブシステムを含む。本システム及び関連する方法はまた、CDA1.2の使用例などのCDAサブシステムがサポートする全ての使用例をサポートする。上記したように、CDAは、バージョン、構成(コンフィグレーション)、及び他のアプリケーション要素を管理する一方で、インフラストラクチャ要件及びアプリケーション要件を独立にモデル化するトポロジーデザイナー内で使用される自動化システムツールである。CDA1.2も、ヒューレットパッカード社によって開発されて供給されている。さらに、CDAは、「Cloud ApplicationDeployment」と題するMaesに対する国際特許出願PCT/US2012/041625に記載されている(該出願の内容全体は参照により本明細書に組み込まれるものとする)。
このようにして、図3及び図4のサブシステムは、共通のスタック下で動作し、並びに、トポロジー、実現されているトポロジー、及びポリシーを共通に使用する単一のコンピューティングシステムとしてトポロジーベースの管理ブローカー(200)内で共に動作して、トポロジーを構成し、及び、複数のプロバイダーの関連する技術をサポートする全ての使用例をサポートする。したがって、1例では、本システム及び方法は、同じスタックにおいて、クラウドサービスの(好ましくはアーキテクチャ由来の)設計されたトポロジー、複数のポリシー、及び、トポロジーノードに関連付けられた複数のLCMA、トポロジーノードのサブセット、及び/又は、トポロジーノードの全てのセット(全集合)を利用することによって、CDA及びCSAによってそれぞれ使用される異なるモデル、テンプレート及び設計図を両立(ないし調和)させる。
図3に示されているように、トポロジーデザイナー(301)は、ライフサイクル管理(LCM)トポロジー(302)を設計して、それを、トポロジーベースの管理ブローカー(200)に提示ないし与えることができる。1例では、本明細書に記載されているトポロジーデザイナー(301)を、トポロジーベースの管理ブローカー(200)に一体化された部分とすることができる。別の例では、トポロジーデザイナー(301)を、トポロジーベースの管理ブローカー(200)とは別個のものとすることができる。別の例では、複数の人が、トポロジー(302)を設計するためにトポロジーデザイナー(301)を使用することができる。それらの個人は、トポロジーの設計の役割を持つ人員の中でも特に、サービスの設計者、インフラストラクチャの設計者もしくは管理者、システム管理者、情報技術オペレータ、オファーマネージャー、またはユーザーでありうる。さらに他の例では、トポロジーデザイナー(301)をサードパーティーによって動作させることができる。
LCMトポロジー(302)は、複数のノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)、及び、ノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)間の複数の関係を定義する(ないし定める)ことができる。図3には7つのノードが示されているが、任意の数のノードをトポロジー(302)中に設計して、任意のデータ処理目的を達成することができる。1例では、トポロジーベースの管理ブローカー(200)は、トポロジー(302)を拡張マークアップ言語(XML)ファイルとして表現することができる。別の例では、トポロジーベースの管理ブローカー(200)は、トポロジー(302)をJavaScript Object Notation(JSON:ジェイソン)フォーマット(オブジェクトを表すためのJavaScriptスクリプト言語から得られた人間が読むことができるデータ交換用に設計されたテキストベースのオープンスタンダード)で表すことができる。さらに別の例では、トポロジーベースの管理ブローカー(200)は、トポロジー(302)を、人間が読むことができるデータシリアライゼーションフォーマットであるYAML構文フォーマットで表すことができる。
図3では、ノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)間の関係は、ノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)を接続する線として示されている。ノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)の各々、トポロジー(302)全体、ノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)のグループ、トポロジー(302)の一部、または、それらの組み合わせは、複数のポリシー(303)に関連付けられる。ポリシー(303)は、ノードもしくはトポロジーを記述する同じファイル内、または、該ノードもしくはトポロジーに関連付けられているファイル内に提供されるデータもしくはメタデータである。1例では、トポロジー(302)内のポリシー(303)の関連付けを、たとえば、トポロジー(302)の設計を提示した場合に、管理者によって該トポロジー(302)の設計中に実行することができる。別の例では、トポロジー(302)内のポリシー(303)の関連付けを、ユーザーが、たとえば、購入または要求としてトポロジー(302)の設計を選択した場合に、該トポロジー(302)の設計中に実行することができる。いくつかの実施形態では、ポリシー(303)を、ノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)の各々に関連付けることができる。たとえば、ポリシー(303−1、303−2、303−3、303−4、303−5、303−6、303−7)を、対応するノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)に割り当てることができる。本明細書にさらに記載されているように、ポリシー(303−1、303−2、303−3、303−4、303−5、303−6、303−7)は、たとえばアプリケーション及び/又はトポロジーに関連付けられた、アプリケーションのステージ(段階)及びバージョンを含むことができる。少なくとも1つの例において、本明細書で使用されている「ステージ」(段階)という用語は、アプリケーション開発及び/又は配置(デプロイ)のテスト、試作、及び製作の段階を意味することが意図されている。いくつかの実施形態では、トポロジー(302)を実現された(すなわち実現済の)トポロジーとすることができる。実現されたトポロジーは、トポロジー(302)を使用するエンティティによって生成されたトポロジー(302)でありうる。
ポリシー(303)は、ノードもしくはトポロジーを記述する同じファイル内、または、該ノードもしくはトポロジーに関連付けられているファイル内に提供されるデータもしくはメタデータである。1例では、トポロジー(302)内のポリシー(303)の関連付けを、たとえば、トポロジー(302)の設計を提示した場合に、管理者によって該トポロジー(302)の設計中に実行することができる。別の例では、トポロジー(302)内のポリシー(303)の関連付けを、ユーザーが、たとえば、購入または要求としてトポロジー(302)の設計を選択した場合に、該トポロジー(302)の設計中に実行することができる。
いくつかの実施形態では、ポリシー(303)を、ノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)の各々に関連付けることができる。いくつかの実施形態では、ポリシー(303)を、図4に示されているように、複数のアプリケーションモデル(319)の各々に関連付けることができる。さらに、いくつかの実施形態では、ポリシー(303)を、図4に示されているように、複数のインフラストラクチャテンプレート(320)の各々に関連付けることができる。たとえば、ポリシー(303−1、303−2、303−3、303−4、303−5、303−6、303−7)を、対応するノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)に割り当てることができる。本明細書にさらに記載されているように、ポリシー(303−1、303−2、303−3、303−4、303−5、303−6、303−7)は、アプリケーションのステージ及びバージョンを含むことができる。
本明細書にさらに記載されているように、トポロジー及び/またはシステムの管理者及び/または開発者に通知するために、通知ポリシーを利用することができる。より詳細に後述するように、いくつかの実施形態では、それらの通知を、インシデントのタイプに基づいて特定のユーザー及び/又はシステムに送るように指定することができる。
さらに、1例では、トポロジーまたはトポロジーの一部にポリシー(303)を加えることによって、該トポロジーの設計(ないし構成)を変えることができる。この例では、トポロジー(302)の要素に加えられたポリシー(303)は、複数の他のポリシーに影響を与えうる。たとえば、あるノードの可用性が高いことを示すポリシーのトポロジー(302)への関連付けは、たとえば一群のノードを要求するために、ポリシー(303)及びトポロジー(302)を全体として発展させうる。このようにして、ポリシーはトポロジー(302)の設計を駆動することができる。
ノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)の各々、トポロジー(302)全体、ノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)のグループ、トポロジー(302)の一部、またはそれらの組み合わせは、さらに、複数のライフサイクル管理アクション(LCMA)(304)に関連付けられる。LCMA(304)がそれらのノードに関連付けられる例では、単一のLCMAが所与の1つのノードに関連付けられる。複数のLCMAがトポロジー(302)の一部またはトポロジー(302)全体に関連付けられる例では、それらのLCMAは、リソースプロバイダーの調整(オーケストレーション)を受ける。
LCMAは、複数のアプリケーションプログラミングインターフェース(API)として表され、この場合、それらのLCMAは、トポロジー(302)の実行中に呼び出され(コールされ)、及び、複数のコンピューティング資源が、所与のクラウド能力のライフサイクルを管理するために提供される。1例では、アプリケーションプログラミングインターフェース(API)を実行するために、該APIのURI(uniform resource identifiers)を介してそれらのLCMAにアクセスして呼び出し(コール)を実行することができる。1例では、それらのLCMAは、ポリシー(303)に関連して上記したデータまたはメタデータを含むファイル内の参照によって提供される。
1例では、それらのLCMAは、デフォルトでは、1つのノードまたは複数のノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)が表しているコンピューティング装置に基づいて、トポロジーの側面に関連付けられる。別の例では、それらのLCMAは、トポロジーの側面に関連付けられたポリシー、及び異なる関連する(もしくは適切な)リソースプロバイダーのポリシーに基づいてアクションを実行するために、リソースプロバイダーをどのようにして選択するかを定義する(ないし定める)複数の機能(もしくは関数)FActionを明示的に提供することによって該トポロジーの側面に関連付けられる。それらの機能(もしくは関数)は、該トポロジーの側面に関連付けられたポリシー、及び該異なる関連する(もしくは適切な)リソースプロバイダーのポリシーに基づいてアクションを実行するために、リソースプロバイダーをどのようにして選択するかを定義する(ないし定める)。
本明細書では、ポリシー(303)及びLCMA(304)が、ノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)、トポロジー(302)全体、ノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)のグループ、トポロジー(302)の一部、またはそれらの組み合わせに関連付けられることを示すために、ポリシー及びLCMAは、要素303及び304でそれぞれ示されている。1例では、ポリシー及びLCMAとトポロジーの側面との関連付けは、トポロジーデザイナー(301)を介して実行される。
図示されていないが、1例では、グループを構成するノードのサブセット(部分集合)を、複数のポリシー(303)及び複数のLCMA(304)に関連付けることもできる。この例では、複数のノード、たとえば、ノード(302−2、302−3、302−4、302−6、302−7)を、複数のポリシー(303)及びこれに関連付けられている複数のLCMA(304)にグループとして関連付けることができる。ノードのいくつかのグループ分けがトポロジー(302)全体内に存在しうる。1例では、ノードのグループは(部分的に)重なり合っていてもよく、その場合、ノードの第1のグループ内のある1つのノードが、ノードの第2のグループにも属して、それらの第1及び第2のグループの両方のポリシー(303)及びLCMA(304)に従うという場合がある。ポリシー、及びポリシーと個々のノード及びノードのグループとの関連付けについては、より詳細に後述する。
ノードに関連付けられたポリシー(303)を、任意のやり方で、表現して、ノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)に結び付けることができる。1例では、ポリシー(303)は、ノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)の特性を定義する(ないし明らかにする)ことによって、ノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)に関連付けられる。別の例では、ポリシー(303)は、メタ言語表現によって、ノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)に関連付けられる。
ポリシー(303)は、トポロジー(302)が実装されることになるかまたは実装されているクラウドサービス環境内の複数のノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)のライフサイクル管理に関連付けられた提供(プロビジョニング)タスク、監視タスク、実施タスク、管理タスク、及び改善(ないし修正)タスクをガイドする(たとえば、これらのタスクが該ポリシーにしたがうようにする)のに適用可能な複数の記述、メタデータ、ワークフロー、スクリプト、ルール、または、ルールの組(集合)である。ポリシー(303)は、トポロジーベースの管理ブローカー(200)のAPIのアクセス制御及び使用(利用)制御を定義する(ないし定める)。さらに、ポリシー(303)は、インスタンス化されたサービスを管理または使用するために使用されるAPIのアクセス制御及び使用制御を定義する(ないし定める)。たとえば、監視システム(313)によってセキュリティ上の脅威が検出されたときは、改善(ないし修正)オプションは、複数のアクセス制御ポリシーを変更することができる(または該変更することを含むことができる)。
ポリシー(303)を、クラウドサービスのトポロジー全体内の複数の個々のノード、ノードの複数のグループ、ノードのクラスの複数のノード、ノードのサブセット、または、クラウドサービスのトポロジー全体、またはそれらの組み合わせに関連付けて、それらに対して動作可能とすることができる。ポリシー(303)が、個々のノード、ノードのグループ、またはクラウドサービスのトポロジー全体に対して作動すると、該ポリシーは、クラウドサービスのトポロジー全体内の個々のノード、ノードのグループ、ノードのクラスのノード、ノードのサブセット、または、クラウドサービスのトポロジー全体に対してライフサイクル管理アクションをどのように行うかすなわちどのように実行するかをガイドする。
1つのタイプのポリシーの1例は、アプリケーションのステージ及びバージョン、及び/又はトポロジー内のノードを含むプロビジョニングポリシーである。プロビジョニングポリシーは、実行されると、トポロジーが提供(プロビジョニング)され、配置(デプロイ)され、及び実行されるときに、該トポロジーに関連付けられたクラウドを構成するアプリケーションのテスト、試作、及び/又は製作の特性を定義する(または明らかにする)。このプロビジョニングは、インフラストラクチャ及びトポロジー(302)のプラットフォームを含むことができる。プロビジョニングポリシーは、たとえば、ノードの物理的な位置などの特性の定義を含むことができる。プロビジョニングポリシーはまた、たとえば、地理的なまたは配置タイプのプロビジョニングポリシーの中でも特に、インターネットへのアクセスの有無にかかわらず、またはファイアウォールの使用の有無にかかわらず、ネットワークゾーンなどの地理的な位置または配置タイプの位置などの特性の定義を含むことができる。この例では、ポリシーは、サーバー装置に関連付けることができるプロビジョニングポリシー要素であって、該サーバー装置が、ある国の特定の地理的領域、たとえば、米国の西海岸に対する東海岸などの特定の領域、または、特定のサーバー設備、または他の任意の地理的な位置に配置されることを要求するプロビジョニングポリシー要素を有することができる。
該ステージ及びバージョンポリシーは、特定のステージ及び/又はバージョンに固有の定義及び/又はガイド(たとえば、ステージ及びバージョンポリシーなど)を含むことができる。たとえば、第1のポリシーは、アプリケーションの第1のバージョンに対応する定義及び/又はガイドを含むことができ、第2のポリシーは、該アプリケーションの第2のバージョンに対応する定義及び/又はガイドを含むことができる。この例では、該アプリケーションの該第1のバージョンを、該アプリケーションの初期のバージョンとすることができ、該アプリケーションの該第2のバージョンを、該アプリケーションの該初期のバージョンよりも後で開発された(すなわちより進歩したバージョン)とすることができる。該定義及び/又はガイドは、対応するステージに対して利用できるインフラストラクチャや位置などの情報を含むことができる。さらに、該定義及び/又はガイドは、該対応するステージに対して利用できるトポロジーレイヤなどの情報を含むことができる。たとえば、該情報は、どのようなレイヤがアプリケーションのトポロジーを満たすか、及び/又は、該アプリケーションの対応するバージョンが利用できるのはどのレイヤかを含むことができる。
いくつかの実施形態では、トポロジー(302)、及び/又は該ステージ及びバージョンポリシー(303)の設計を、コード(たとえば、YAML、TOSCAYAMALプロファイル)で書くことができる。これは、いくつかの従来の方法及びシステムは、トポロジー(302)を設計し、及びポリシー(303)を設計するためにデザイナーを用いる点で、従来の方法及びシステムとは異なり得る。
いくつかの実施形態では、ステージまたはバージョンに関する情報(たとえば、ステージ及びバージョンポリシー内の情報など)を、トポロジー(302)及びポリシー(303)に基づいてアプリケーションを提供(プロビジョニング)し及び/又は管理するための要求と共に送ることができ、及び/又は該要求に向けることができる。いくつかの実施形態では、提供(プロビジョニング)し及び/又は管理するための該要求を、開発ツールチェーンからのものとすることができる。たとえば、提供(プロビジョニング)し及び/又は管理するための該要求を、アプリケーションの開発に関わる別のフロー(たとえば、テスト(試験)をパスした後の、IDE、エクリプスプラグイン(eclipse plug-in)を含むツールなど)からトリガすることができる。提供(プロビジョニング)し及び/又は管理するための要求を含むそれらの実施形態を、継続的インテグレーション(CI)及び/又は継続的デリバリー(CD)チェーンの一部とすることができるため、それらの実施形態は従来の方法及びシステムに対して有利でありうる。
ステージ及びバージョンポリシー(303)はまた、インスタンスを配置(デプロイ)するために使用することができるDSL及び/又は生成物(アーティファクト)のリポジトリ(repository of artefact)を指示するために用いることができる情報を含むことができる。いくつかの実施形態では、開発者が、実現されたトポロジーの管理のために、コード(たとえば、API用のコードにおける呼び出し(コール)など)を用いて、該実現されたトポロジーのLCMを利用できるようにすることができる。いくつかの実施形態では、ステージ及びバージョンポリシー(303)を、他のポリシー(303)または管理プランをどのように実行するかを決定するために用いることができる。たとえば、異なるステージ及び/又はバージョンのアプリケーションの異なる側面を監視するために決定を行うことができる。たとえば、アプリケーションの第1のステージでは、ステージ及びバージョンポリシー(303)は、該アプリケーションの全動作及び使用状況を監視するための情報を含むことができる。この例では、該アプリケーションの第2のステージでは、ステージ及びバージョンポリシー(303)は、該アプリケーションの全動作及び使用状況を監視するのをやめるための情報を含むことができる。
コンピューティング装置(たとえば、記憶装置やネットワーキングなど)の物理的な位置を定義する(ないし明らかにする)プロビジョニングポリシーに関して、他の特性は、たとえば、該位置のセキュリティのレベル、または、ノードが配置されているインターネットへのアクセスを含むことができる。他のプロビジョニングポリシーはまた、たとえば、いくつかあるプロビジョニングポリシーの中でも特に、ノードが、たとえば、非武装地帯(DMZ)または境界ネットワークなどのインターネットまたはイントラネットに接続されることになるか否か、ノードがファイアウォールで保護されているか否か、ノードがインターネットにアクセスできるか否か、ノードが別のノードの最上位に配置されることになるか否か、及び、ノードが特定のインフラストラクチャ要素またはプラットフォームを用いて別のノードの最上位に配置されることになるか否かに関係なく、該ノードが結合されているネットワーク内の速度、たとえば該ネットワークの帯域幅を含むことができる。
プロビジョニングポリシーはまた、実行されると、トポロジー(302)に基づく提案されたクラウドサービス内のノードの要件及び能力に依存しうる。要件は、いくつかある要件(必要性)の形態の中でも特に、たとえば、処理、メモリ(記憶装置)、及びオペレーティングシステム(OS)の要件に関連するサーバーまたはネットワーク要件などのノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)の要件を定義する(ないし明らかにする)。たとえば、要件ポリシーは、ノードが、特定のオペレーティングシステムなどの該ノードに関連付けられている特定のソフトウェアまたは特定のソフトウェアバージョンを必要とすることを示すことができる。別の例では、要件ポリシーはまた、特定のノードが、該ノードに関連付けられている追加のハードウェア装置(たとえば、特に、サーバー装置、サーバー群、または可用性の高い構成など)を必要としうることを示すことができる。
とりわけ、プロセッサの特性、メモリ、容量、OS、ミドルウェアのタイプ及びバージョンなどの能力は、それぞれのノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)が何を提供するかを定義する(ないし明らかにする)。したがって、1例では、能力ポリシーは、ノードが、ある所定の速さ(速度)でデータを処理できることを示すことができる。別の例では、能力ポリシーは、メモリデバイス(記憶装置)が1テラバイト(TB)のデータ記憶空間を有することができることを示すことができる。
さらに別の例では、要件ポリシーは、ノードが、特定のコンピューティングプラットフォームを必要とすることを示すことができる。トポロジー(302)を設計するときに、該トポロジーまたはメタデータの関連付けは、ハードウェアアーキテクチャ及び(アプリケーションフレームワークを含む)ソフトウェアフレームワークを含むコンピューティングプラットフォーム内の複数のハードウェア装置を定義する(ないし明らかにする)データを取得することをサポートする。該メタデータが与えられるかまたは関連付けられると、該メタデータを用いて、たとえば適切なデータセンターなどのコンピューティングプラットフォーム内の適切な要素をより良好に選択するために、プロビジョニングポリシーをガイドする。インフラストラクチャテンプレートへのアプリケーションモデルのスティッチングに関連してより詳細に後述するように、該メタデータが与えられるかまたは関連付けられると、該メタデータを用いて、トポロジーのフラグメントと他のフラグメントとのマッチングをガイドすることもできる。
能力ポリシーに関しては、ノードは、該ノードがどのような種類の装置(またはデバイス)であるか、該ノードが実行できるまたは実行しているソフトウェアのバージョンは何か、及び、該ノードは何をすることができるかを定義する(または明らかにする)ことができる。能力ポリシーの1例は、多くの能力の中でも特に、ノードをアプリケーションサーバーとして定義ないし明らかにし、または、ノードが、Java Platform(ジャバプラットフォーム)、EnterpriseEdition(J2EE)環境を提供し、または、ノードが、特定のオペレーティングシステムもしくはあるバージョンのオペレーティングシステムもしくは特定のリリースされたあるバージョンのオペレーティングシステムを動作させるという、該ノードに関連付けられた定義を含むことができる。上記のように、これを用いて、たとえば、他に何かを配置(デプロイ)することができるか、または、他のどのような装置がクラウドサービスを使用できるかを決定することができる。
割り当てることができる別のタイプのポリシー(303)には監視ポリシーがある。監視ポリシーは、実行されると、いくつかのタイプの監視に関連するポリシーの中でも特に、ノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)の動作状況の監視、ノードのセキュリティ監視、ノードのステージ及びバージョンの監視、ノード間及びノードのグループ間の分析、ノードの使用(状況)監視、パフォーマンス監視、及び、たとえば、メトリクスの収集、ビジネスインテリジェンス(BI)、ビジネスアクティビティ監視(BAM)及び分析/ビッグデータデータ統合などのインテリジェンス監視を定義する(ないし明らかにする)ポリシーである。
監視ポリシーはまた、どのような種類の監視が期待されているか、及び、監視をどのように実施するかを定義する(ないし明らかにする)ことができる。ノード動作に関する監視ポリシーの例には、ノード、ノードのグループ、及びクラウドサービス全体の多くの動作パラメータの中でも特に、ネットワーク内の種々のノードのパフォーマンス(性能など)、CPUレベル及び負荷を監視すること、データが1つまたは複数のノードによって処理される速度またはデータをノード間で交換する速度を監視すること、及び、ネットワークの任意のレベルにおける1つまたは複数のノードで動作しているアプリケーションの動作状態を監視することが含まれる。
別の例では、監視ポリシーはまた、インスタンス化されたトポロジー内で生じた監視されたイベントをどのように処理するかを定義する。この例では、監視ポリシーは、該イベントを受け取って処理すること、該イベントから生じるインシデントの改善に関する決定をすること、及び、該インシデントに関する通知メッセージを送ることに関してイベントハンドラ(316)を支援する。トポロジーベースの管理ブローカー(200)内のイベントの処理についてはより詳細に後述する。より詳細に後述するように、監視ポリシーは、監視から得られた監視されたイベントへの対処の仕方、たとえば、該イベントをどのように処理するか、該イベントをどこに送るか、どのような装置または個人が該イベントに対処するか、該イベントの処理から生じたインシデントをどのように処理するか、該イベント及びインシデントをどのように処理するか(たとえば、いくつかある処理の形態の中でも特に、イベントを集め、イベントをフィルタリングし、または、イベントを相互に関連付けるやり方)、及び、結果として生じたインシデントをどのように処理するかなどを定義する部分を含む。
監視ポリシーはまた、セキュリティに関する監視ポリシーを含む。セキュリティポリシーは、既知のもしくは疑わしいセキュリティ問題に関連しているものとして既知の異常な挙動をどのように監視するかを定義する。セキュリティに関する監視ポリシーの例には、いくつかあるセキュリティに関する監視ポリシーの中でも特に、ノードまたはノードのグループが攻撃を受けているか否か、クラウドサービス内で起こる奇妙な挙動またはクラウドサービスへの干渉の有無、及び、ノードまたはノードのグループにウィルスまたはその他の異常があるか否かを監視することが含まれる。
監視ポリシーはまた、使用に関する監視ポリシーを含む。使用に関する監視ポリシーの例には、いくつかある使用に関連する監視ポリシーの中でも特に、どれだけ多くのユーザーがノードまたはノードのグループのCPUを使用しているかを判定すること、どれだけの量のメモリ(記憶装置)をユーザーが利用しているかを判定すること、どれだけ多くの金額がユーザーに課金されているかを判定すること、ユーザーが、ネットワークトポロジーの設計、提供(プロビジョニング)、配置(デプロイ)、及び監視にわたるサービス提供に対して料金を支払ったか否かを判定することが含まれる。
さらに、ポリシー(303)は、実行されると、トポロジー(302)またはクラウドサービス内のノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)またはノードのグループのアクセス制御を定義する管理ポリシーを含むことができる。たとえば、管理ポリシーは、トポロジー(302)またはクラウドサービス内のノードに誰がアクセスすることができるか、及び、どのような条件の下で、それらの個人がそのようなアクセスを得ることができるかを定義するポリシーを含むことができる。
さらに、ポリシー(303)は、実行されると、トポロジー(302)内のノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)内またはそれらのノード間、または、ノードのグループ内またはノードのグループ間の分析及びビッグデータ監視を確保するために必要なもの、及び、これが予想通りに起こることを確保するために必要なものを定義する分析ポリシーを含むことができる。たとえば、分析ポリシーは、複数のワークフローを定義することができ、この場合、監視システム(313)は、該ワークフローによって、クラウドサービスを構成ないし設定し、分析を提供し、ビッグデータを収集し、及び、該データを処理するように動作することができる。
さらに、ポリシー(303)は、トポロジー(302)の配置(デプロイ)及び実行中に問題またはインシデントが発生した場合に、トポロジー(302)内で行われるべきアクションを定義する(または定める)改善ポリシーを含むことができる。改善ポリシーは、改善プロセス中に、トポロジーベースの管理ブローカー(200)によって取られる複数のアクションを定義するポリシーを含むことができ、及び、(1)ユーザー、購入者、または管理者に通知を提供すること、(2)該ユーザー、購入者、または管理者からの命令を取得すること、(3)該ユーザー、購入者、または管理者によって入力された手動アクションを行うこと、(4)該ユーザー、購入者、または管理者からの命令を受け取った後に自律的なアクションを行うこと、(5)該ユーザー、購入者、または管理者からの命令を受け取ることなく自律的なアクションを行うこと、(6)該ユーザー、購入者、または管理者に通知することなく、または、該ユーザー、購入者、または管理者から命令を受け取ることなく、自律的なアクションを行うこと、(7)ユーザーまたは管理者に、承認を得るために改善アクションを提案して、該ユーザーまたは管理者またはそれらの組み合わせによって承認された場合には、該提案した改善アクションを実行すること、を含むことができる。
1例として、トポロジー(302)によってインスタンス化または実現されたクラウドサービスの障害が発生する場合があり、改善ポリシーは、上記の可能性のあるシナリオに基づいてその障害を処理できる方法を定義することができる。さらに、改善ポリシーは、任意の数の条件の下でインシデントを改善ないし修正するために実行すべき実際のルール及びアクションのワークフローを提供し、または、それらの改善アクションを行うことを決定し、該アクションの調整(オーケストレーション)及び実施(フルフィルメント)を行う権限を誰にまたはどの装置に委ねるかを示す。別の改善の例は、たとえば、トポロジー(302)に基づいて実現されたクラウドサービス内のサービス内容合意書(SLA)またはサービス品質(QoS)に基づいてサービスのレベルを維持する潜在的な必要性を考慮することができる。この例では、リソース(資源)の要求の増加をサポートするためのリソースの追加を、上記の可能性のあるシナリオに基づいて処理することができる。配置(デプロイ)されたトポロジーの監視及びイベント処理については、より詳細に後述する。
上記のように、ノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)は、該ノード(302−1、302−2、302−3、302−4、302−5、302−6、302−7)に関連付けられた複数のライフサイクル管理アクション(LCMA)(304)を含むことができる。該LCMA(304)は、トポロジー(302)が実施されるクラウドサービス環境内のポリシー(303)によって起動されたときにプロセッサによって実行される、ポリシー(303)に関連付けられた複数のアクションである。該LCMAを、クラウドサービスのトポロジー全体内の複数の個々のノード、ノードの複数のグループ、ノードのクラスの複数のノード、ノードのサブセット、または、クラウドサービスのトポロジー全体、またはそれらの組み合わせに関連付けて、それらに対して動作可能とすることができる。該LCMAが、個々のノード、ノードのグループ、またはクラウドサービスのトポロジー全体に対して実行されると、該LCMAは、該LCMA内で定義されているように、クラウドサービスのトポロジー全体内の個々のノード、ノードのグループ、ノードのクラスのノード、ノードのサブセット、または、クラウドサービスのトポロジー全体に対してアクションを取る。LCMA(304)は、いくつかあるライフサイクル管理アクションの中でも特に、たとえば、トポロジー内のコンピューティング資源の提供(プロビジョニング)、該トポロジーの更新、該トポロジーの全てもしくは一部の複製、該トポロジー内のコンピューティング資源の修正(ないし変更)、該トポロジー内でのコンピューティング資源の移動、該トポロジー内のリソースの破壊(ないし無効化)もしくは抹消などのアクションを含む。
本明細書に記載されている種々のポリシーは、トポロジー(302)に基づくサービスのインスタンス化の前、該インスタンス化中、及び該インスタンス化の後にトポロジー(302)のライフスタイルを通じてどのようなアクションが実行されるかを定義する(ないし定める)。さらに、本明細書に記載されている種々のポリシーは、それらのアクションをどのように実行するかを定義する。さらに、本明細書に記載されている種々のポリシーは、それらのアクションの権限をどの装置(もしくはデバイス)、またはどの個人、またはそれらの組み合わせのどれに委ねるかを定義する(ないし定める)。さらに、本明細書に記載されている種々のポリシーは上記の組み合わせを定義する(ないし定める)。たとえば、イベントの操作及び処理、または改善で使用される任意の監視ポリシーは、クラウドサービスのどのような装置(もしくはデバイス)または部分を監視しまたは改善(ないし修正)するか、または、そのような監視及び改善(ないし修正)をどのように実行するか、または、誰にもしくはどのような装置(もしくはデバイス)に、監視、及び改善(ないし修正)、またはそれらの組み合わせの役割を委ねるかを定義する(ないし定める)ことができる。
図6は、本明細書に記載されている原理の1例にしたがう、トポロジーを設計する方法を示すフローチャートである。図6の方法は、アプリケーションモデル(図4の319)を生成するステップ(ブロック630)から開始することができる。1例では、トポロジーデザイナー(301)を用いて、アプリケーションモデル(図4の319)を設計して作成し、このようして、アプリケーションモデル(図4の319)を生成することができる。別の例では、アプリケーションモデル(図4の319)を、いくつかあるアプリケーションモデル(図4の319)のソースの中でも特に、たとえば、カタログ(図3の310)、RTSM(図3の315)、またはDSLデータベース(図4の323)などの複数のアプリケーションモデル(図4の319)のソースから得ることができる。アプリケーションモデル(図4の319)は、ライフサイクル管理トポロジーによって定義される。LCMトポロジー(図3の302)に関連して本明細書に記載されているように、アプリケーションモデル(図4の319)は、複数のノード(図4の319−1、319−2、319−3)を含む。
アプリケーションモデルを生成するステップ(ブロック630)は、自己管理、自動管理、またはそれらの組み合わせとしてアプリケーションを設計するステップ(ブロック532)を含むことができる。複数のインフラストラクチャテンプレート(図4の320)を生成することもできる(ブロック534)。1例では、トポロジーデザイナー(301)を用いてインフラストラクチャテンプレート(図4の320)を設計して作成することができる。別の例では、インフラストラクチャテンプレート(図4の320)を、いくつかあるインフラストラクチャテンプレート(図4の320)のソースの中でも特に、たとえば、カタログ(図3の310)、RTSM(図3の315)、またはDSLデータベース(図4の323)などの複数のインフラストラクチャテンプレート(図4の320)のソースから得ることができる。インフラストラクチャテンプレート(図4の320)は、ライフサイクル管理トポロジーによって定義される。LCMトポロジー(図3の302)に関連して本明細書に記載されているように、インフラストラクチャテンプレート(図4の320)は、複数のノード(図4の319−1、319−2、319−3)を含む。1例では、複数の人が、トポロジーデザイナー(301)を用いて、アプリケーションモデル(図4の319)及びインフラストラクチャテンプレート(図4の320)を設計することができる。それらの個人は、トポロジーの設計の役割を持つ人員の中でも特に、サービスの設計者、インフラストラクチャの設計者もしくは管理者、システム管理者、情報技術オペレータ、オファーマネージャー、またはユーザーでありうる。
複数のアプリケーションモデル(図4の319)が、複数のインフラストラクチャテンプレート(図4の320)にスティッチ(結合)される(ブロック903)。1例では、スティッチングエンジン(図4の321)は、たとえば、DSLデータベース(図4の323)、またはインフラストラクチャテンプレート(320)の他のソースに格納されている複数のインフラストラクチャトポロジー(図4の320)を取得して、複数のアプリケーションモデル(図4の319)を複数の適切なインフラストラクチャテンプレート(図4の320)にスティッチすることができる。別の例では、インフラストラクチャテンプレート(図4の320)を、複数のトポロジーデザイナー(301)によって新たに設計することができる。
スティッチングエンジン(図4の321)は、アプリケーションモデル(図4の319)(及び/又はインフラストラクチャテンプレート(図4の320))に関連付けられたポリシー及びLCMAに基づいて、任意のタイプの方法を用いて、アプリケーションモデル(図4の319)をインフラストラクチャテンプレート(図4の320)にスティッチ(結合)することができる。1例では、スティッチングエンジン(図4の321)は、マッチング処理を使用することができ、該処理において、スティッチングエンジン(図4の321)は、アプリケーションモデル(図4の319)のノード(図4の319−1、319−2、319−3)に関連付けられたポリシー、要件、及び能力を、インフラストラクチャテンプレート(図4の320)のノード(図4の320−1、320−2、320−3、320−4、320−5)のポリシー、要件、及び能力とマッチングさせる。この例では、スティッチングエンジン(図4の321)は、本明細書に記載されているテンプレートソースを閲覧ないし調べて、マッチングまたはほぼマッチングする状態を見出すことができる。マッチングが見つかると、スティッチングエンジン(図4の321)は、アプリケーションモデル(319)の複数のノード(図4の319−1、319−2、319−3)を、マッチングするインフラストラクチャテンプレート(図4の320)の複数のノード(図4の320−1、320−2、320−3、320−4、320−5)にマッチングさせる。
アプリケーションモデル(図4の319)をインフラストラクチャテンプレート(図4の320)にスティッチするためにスティッチングエンジン(図4の321)が使用することができる別の方法は、アルゴリズム的マッチング法を含むことができる。この方法では、スティッチングエンジン(図4の321)は、マッチング判定を実行する際にポリシーを利用するアルゴリズムを用いて数学的に判定を行う。1例では、これは推論手法を含むことができ、該方法において、アプリケーションレベルにおける要件が、DSLデータベース(図4の323)内のそれらの要件をサポートする構成要素にタグ付けされるかまたは他のやり方で関連付けられ、この場合、インフラストラクチャトポロジー(図4の320)全体が先ず統合された後に、該統合が、アプリケーションモデル(図4の319)に拡張される。
複数のポリシー及びライフサイクル管理アクション(LCMA)は、アプリケーションモデル(図4の319)のノード(図4の319−1、319−2、319−3)の各々及びインフラストラクチャトポロジー(図4の320)のノードの各々に関連付けられる。1例では、複数のポリシー(303)及びLCMA(304)とアプリケーションモデル(319)及びインフラストラクチャトポロジー(320)のノード(319−1、319−2、319−3、320−1、320−2、320−3、320−4、320−5)との関連付けを、トポロジーデザイナー(301)、セルフサービスポータル(309)、及びリソースオファリングマネージャ(308)の各々によって(単独で)、または、それらの組み合わせによって実行することができる。別の例では、本明細書に記載されているように、アプリケーションモデル(319)及びインフラストラクチャトポロジー(320)のノード(319−1、319−2、319−3、320−1、320−2、320−3、320−4、320−5)を、ポリシー(303)及びLCMA(304)に関連付けるために、別個のポリシーエンジン及びLCMAエンジンを設けることができる。
1例では、ポリシー(303)及びライフサイクル管理アクション(LCMA)(304)を、アプリケーションモデル(319)のノード(図4の319−1、319−2、319−3)の各々及びインフラストラクチャトポロジー(図4の320)のノードの各々に関連付ける処理を、ブロック636に関連して記載されているスティッチングプロセスの前、該プロセス中、または該プロセスの後に実行することができる。ポリシー及びLCMAがブロック634のスティッチングプロセスの前に関連付けられる例では、ポリシー(303)及びLCMA(304)を、アプリケーションモデル(319)及びインフラストラクチャトポロジー(320)内の複数のノードもしくはノードのグループに、並びに、アプリケーションモデル(319)全体及びインフラストラクチャトポロジー(320)全体に、関連付けることができる。この例では、追加のポリシー(303)及びLCMA(304)を、スティッチングプロセスによって生成されたトポロジー(302)に関連付けることができる。別の例では、ポリシー(303)及びライフサイクル管理アクション(LCMA)(304)を、アプリケーションモデル(319)のノード(図4の319−1、319−2、319−3)の各々及びインフラストラクチャトポロジー(図4の320)のノードの各々に関連付ける処理を、ブロック634のスティッチングプロセス後のそれらの処理のパフォーマンスに応じてオプションとすることができる。さらに別の例では、ポリシー(303)及びライフサイクル管理アクション(LCMA)(304)を、アプリケーションモデル(319)のノード(図4の319−1、319−2、319−3)の各々及びインフラストラクチャトポロジー(図4の320)のノードの各々に関連付ける処理を、ブロック534のスティッチングプロセスの前及び後に実行することができる。
図6に記載されているプロセスは、図3に関連して説明したトポロジー(302)と類似の完全に設計されたトポロジー(302)を生じる。たとえば、図6の方法によって得られたトポロジー(図4の302)を、入力トポロジー(図3の302)として使用することができる。さらに、別の例では、図6の方法によって得られたトポロジー(図4の302)を、改善(ないし修正)におけるインスタンス化のための入力トポロジー(図3の302)として使用することができる。さらにまた、1例では、複数の人が、図6に記載されている方法に参加する。それらの個人は、トポロジー(302)の設計、実行、監視、及び改善の役割を持つ人員の中でも特に、サービスの設計者、インフラストラクチャの設計者もしくは管理者、システム管理者、情報技術オペレータ、オファーマネージャー、またはユーザーでありうる。
本システム及び方法のいくつかの側面が、本明細書に記載されている原理の例にしたがう方法、装置(システム)及びコンピュータープログラム製品のフローチャート及び/又はブロック図を参照して説明されている。該フローチャート及び該ブロック図の各ブロック、並びに、該フローチャート中のブロックと該ブロック図中のブロックとの組み合わせを、コンピューター使用可能プログラムコードによって実施することができる。該コンピューター使用可能プログラムコードを、汎用コンピューターのプロセッサ、専用コンピューター、または他のプログラム可能なデータ処理装置に提供して、該コンピューター使用可能プログラムコードが、たとえば、トポロジーベースの管理ブローカー(200)を含む装置または他のプログラム可能なデータ処理装置内の複数のプロセッサによって実行されたときに、該フローチャート及び/又はブロック図の1つもしくは複数のブロックで指定ないし規定されている機能もしくは動作を実施するようにするマシン(装置)を生成することができる。1例では、該コンピューター使用可能プログラムコードを、該コンピュータープログラム製品の一部であるコンピューター可読記憶媒体内に具現化することができる。1例では、該コンピューター可読記憶媒体は、非一時的なコンピューター可読媒体である。
本明細書及び図面は、トポロジーとしてモデル化されたクラウドサービスのライフサイクルを管理する方法及びシステムを記載している。それらのシステム及び方法は、プロセッサを用いて、クラウドサービスを表すトポロジーを生成すること、複数のライフサイクル管理アクション(LCMA)を該トポロジー内の複数のノードに関連付けること、及び、ライフサイクル管理エンジンを用いて該トポロジーを実行することを含む。
トポロジーとしてモデル化されたクラウドサービスのライフサイクルのこの管理は、多くの利点の中でも特に、下記のものを含むいくつかの利点を有し得る:(1)トポロジー、実現されたトポロジー、及びポリシーの共通の使用と共に共通のスタックを提供することを、同じトポロジーを用いて複数のプロバイダーの関連する技術をサポートしつつ、トポロジーを構成するためのクラウドサービスオートメーション(CSA)及び継続的デリバリーオートメーション(CDA)プラットフォーム及びサービスの両方の全ての使用例をサポートするために用いることができ、(2)CSA及びCDAが、たとえば拡張マークアップ言語(XML)やJavaScript Object Notation(JSON:ジェイソン)などの同じトポロジー表現を使用するコンピューティング環境を提供し、(3)既存のCSAコンテンツを再利用することによってCSA用のコンテンツの移動を管理し、リソースプロバイダーを移動する経路を生成し、及びプロバイダーを再利用する方法を提供し、(4)CSA/CDAの混乱状態が永続するリスク、二度手間、及び将来のCSAの機会を危うくするのを回避または軽減し、(5)複雑なアプリケーションの配置(デプロイ)を実行するやり方を理解することをユーザーに要求することなく、該アプリケーションを、要求されたインフラストラクチャに自動的に配置(デプロイ)することができ、(6)CM&S環境をサポートし、及び(7)クラウド環境内に、自動コンピューティング(計算)、作業量管理、及び、ポリシーベースの自動改善(自動修復)及び自己改善(自己修復)を提供する。
図7は、本開示にしたがうシステム(700)の1例である。図7は、ファーストデーオペレーションのないセカンドデーオペレーションを含んでいる。たとえば、図7は、実現されたトポロジーを、該トポロジーを以前に提供(プロビジョニング)し及び/又は修正(ないし変更)した手段から分離することを含む。システム(700)は、本明細書に記載されているように、該システムにおいて、実現されたトポロジーがシステム(600)によって提供(プロビジョニング)され及び管理されているために該トポロジーを知ることができるだけではなく、該トポロジーが、発見された実現済みのトポロジー及び/又は推測された実現済みの(inferred realized)トポロジーでもありうるところのシステムである。システム(700)は、クラウドシステムを提供(プロビジョニング)して管理するための種々の要素を含むことができる。
発見されたトポロジーは、システム(700)以外の異なるシステムから、該トポロジー(すなわち、メインシステム(700)から提供(プロビジョニング)されていないか、または、メインシステム(700)から独立に管理及び修正(ないし変更)された可能性があるトポロジー)に関連する情報を取得する能力を参照する(該能力に問い合わせる)。
たとえば、該トポロジーを、該トポロジーを提供(プロビジョニング)した別のクラウドコントローラもしくはシステム(たとえば、vCenterのようなVMWareコントローラ、SAのような従来のプロビジョナ、システム(700)から分離されたシステムなど)からのものとすることができる。別の例では、該トポロジーをリポジトリから推測することができ、この場合、情報は、該トポロジーを設計及び/又は定義した(たとえば、HP Enterprise Map−EM)、該トポロジーを提供(プロビジョニング)し(たとえばHP UCMDB)及び/又は管理/修正(ないし変更)した、または、システムから提供(プロビジョニング)されたインスタンスを修正(ないし変更)した任意の者または任意のシステムによって格納されている。
たとえば、推測されたトポロジーを、SA(サーバーオートメーション)からの設計図及び/又は仕様、または、CMDBに格納されている情報とすることができる。推測の場合には、リポジトリからの情報をシステム(700)にロードして、該情報を、ポリシーと共に(たとえば、異なる要素及び(たとえば、ノードタイプの所定のコンテキスト/データに関連付けられたポリシーから推測されるかもしくは得られる)関連するポリシーに関連付けられたライフサイクル管理アクションを用いて))トポロジーにマッピングすることができる。推測されたトポロジー及び/又は関連付けられたポリシーは、いくつかの実施形態における最良の推測でありうる。推測されたトポロジーは、既知であるもの(たとえば、さらなる管理のためにポリシーまたはLCMに関してシステム(700)が使用できるもの)を明らかにすることができる。この場合、欠落したトポロジー情報及び/又は推測されたトポロジーに対する修正(たとえば、LCMの詳細、依存状態/関係、ポリシー)を、トポロジーデザイナーに類似のコンソールを用いて手動で更新することができる。
実現されたトポロジーが、システム(700)によってなされた提供(プロビジョニング)、管理(たとえば、改善(ないし修正)以外の管理)、または改善(ないし修正)の結果ではないときも、他のシステムが、該実現されたトポロジーの管理に作用するときにも、システム(700)は重要でありうる。たとえば、追加のシステムは、実現されたトポロジーの監視、管理、または改善(ないし修正)を独立して行うことができる(たとえばシステム700はHPCSAベースのものである)。いくつかの実施形態では、該CSAポリシーは、CMDB内の実現されたトポロジーインスタンスを共有することを含むことができる。別の例では、HPSA(サーバーオートメーション)のようなシステムは、(たとえば、動作、使用セキュリティの)監視、管理、及び/又は改善(ないし修正)を実行するために格納されている情報を使用することができる。いくつかの実施形態では、システム(700)に関係のない監視、管理、及び/又は改善(ないし修正)を同時に(ないし並行して)行うことができる。いくつかの実施形態では、本明細書に記載されているように、または、単に、システム(700)は、システム(700)に情報が入れ直されることを知らされもしくは変更について知らされるという理由から、トポロジーを再発見または推測する必要がありうる。したがって、発見システムは、インスタンスに対する変更(または変化)または通知を追跡し、さらに、それらを(該システムが格納して追跡する)該インスタンスの更新に反映させることができる。すなわち、提供(プロビジョニング)後に、いくつかのステップを外部のシステム(たとえば、システム(700)以外のシステム)によって実行することができる。この結果、システム(700)の能力を維持するために、インスタンスの更新をシステム(700)に反映させることが重要でありうる。したがって、システム(700)は、インスタンスに対する変更を再発見することができ、または、システム(700)にそれらの変更(すなわち通知)を知らせることができる。
いくつかの実施形態では、アプリケーションは、実現されたトポロジーの管理ステップの一部または全てを引き受けるプラットフォームに配置(デプロイ)される。たとえば、アプリケーションは、PaaS様のCloud Foundry(クラウドファンドリー)、または、その他の実行及び管理プラットフォームに配置(デプロイ)され、この場合、システム(700)を用いて、アプリケーション及び/又はPaaS並びにそのコンテキストを配置(デプロイ)することができる(たとえば、インフラストラクチャにおけるPaaSデプロイメント、及び、PaaSにおけるマニフェスト生成及びコードデプロイメント)。その後、PaaSは、実現されたトポロジーを管理(たとえばオートスケーリング(auto-scaling))することができる。これが行われるときは、システム(700)は、実現されたトポロジーに変更を加えないようにすることができる。本明細書に記載されている現在のソリューションは、実現されたトポロジーを管理するのに関わり続けるために必要とされる(たとえば、実現されたトポロジーの更新は、それらの更新を、cloud foundry(クラウドファンドリー)から取り込まれた(または同期した)、実現されたトポロジーの更新として追跡することによって、システム(700)によって追跡されまたは該システム(700)に通知される)。
システム(700)は、ユーザーインターフェース(702)を備えることができる。ユーザーインターフェース(702)を用いて、クラウドシステムに関する情報を表示することができる。いくつかの実施形態では、ユーザーインターフェース(702)を用いて、クラウドシステムに関するデータを入力することができる。本明細書に記載されているように、システム(700)を用いて、推測された実現済みのトポロジーを視覚化することができる。いくつかの実施形態では、システム(700)を用いて、推測された実現済みのトポロジーを修正(ないし変更)することができる。たとえば、推測された実現済みのトポロジーを修正(ないし変更)することは、該推測された実現済みのトポロジーを(たとえば、LCM、ポリシー(303)、及び/又は、該推測された実現済みのトポロジーに関する他の情報を用いて)編集し、訂正し、及び/又は補完することを含むことができる。いくつかの実施形態では、システム(700)を用いて、他のシステム及び/又は該推測された実現済みのトポロジーのファイルから情報を駆動(または取得)し及び/又はロードすることができる。本明細書に記載されているように、システム(700)を用いて、あるシステムが実現されているトポロジー及び/又は発見されたトポロジーを管理するのと同じ及び/もしくは類似のやり方で、該推測された実現済みのトポロジーを管理することもできる。さらに、システム(700)は、LCMアクションの選択を可能にすることができる。いくつかの実施形態では、それらのトポロジーを補完することは、ポリシー(303)をそれらのトポロジーに結合することを含むことができる。たとえば、それらのトポロジーを補完することは、データセンターにおけるポリシーから得られたポリシー(303)を、それらのトポロジーの同じ及び/もしくは類似のノードタイプに結合することを含むことができる。すなわち、発見された及び/又は推測されたトポロジーの複数のノードにポリシー(303)を結合することによって、該発見された及び/又は推測されたトポロジーを更新することができる。したがって、それらの発見された及び/又は推測されたトポロジーの発見された及び/又は推測されたインスタンスを、システム(700)によって、規定し及び管理することができる。
さらに、システム(700)は、トポロジー、関係、依存状態、及び/又はポリシー(303)に対する変更を得るためのオプションを含むことができる。該変更を、システム(700)によって、実現されたトポロジーに対して実施することができる。たとえば、該変更は、ノードを移動し、トポロジーを複製し、及び/又は、トポロジーを廃棄するための命令を含むことができる。いくつかの実施形態では、システム(700)は、推奨エンジンによって推奨された改善(ないし修正)を承認することができる。トポロジー、関係、依存状態、及び/又はポリシー(303)に対する変更を得るためのオプションはまた、コードを変更すること(すなわち、デザイナーを使用しない)を含むことができる。いくつかの実施形態では、トポロジーがTOSCAYAMLプロファイルで表されているときには、それらの変更をYAMLによって行うことができる。
システム(700)は、カタログ(704)を備えることができる。いくつかの実施形態では、カタログ(704)は、クラウドシステムに関する情報を格納するために使用することができるコンピューター可読媒体を含むことができる。いくつかの実施形態では、カタログ(704)を用いて、クラウドシステムの配置(デプロイ)されたシステムに関する情報を格納することができる。したがって、実現されたトポロジーを、システム(700)によって最初に提供(プロビジョニング)しなくてもよく、むしろ、システム(700)以外の異なるシステムによって、ある時点で更新及び/又は管理することができる。
システム(700)は、ポリシーベースの実施(フルフィルメント)、調整(オーケストレーション)、及び統合ツール(706)を備えることができる。ポリシーベースの実施(フルフィルメント)、調整(オーケストレーション)、及び統合ツール(706)は、クラウドシステムにおけるサービスの配置(デプロイ)のために使用することができる複数のポリシー(303)を含むことができる。本明細書に記載されているように、ポリシー(303)は、いくつかあるポリシー(303)の中でも特に、ステージ及びバージョンポリシー(303)でありうる。いくつかの実施形態では、ポリシー(303)は、システム(700)によって最初に提供(プロビジョニング)されない実現されたトポロジーに(たとえば、自動的に、または、補完することなどによって)適用される。
システム(700)は、サービス及びインスタンスリポジトリ(708)を備えることができる。サービス及びインスタンスリポジトリ(708)は、クラウドシステムからの複数のサービス及び/又は複数のインスタンスに関する情報を格納するために使用することができるコンピューター可読媒体を含むことができる。システム(700)は、モデルリポジトリ(710)を含むことができる。モデルリポジトリ(710)は、クラウドシステムのアプリケーションモデル(319)、クラウドシステムのトポロジー(302)、クラウドシステムのインスタンス、クラウドシステムの環境、及び/又は、クラウドシステムの所望の環境に関する情報を格納することができるコンピューター可読媒体を含むことができる。
システム(700)は、トポロジーの自動化された発見及び/又は手動による発見を開始することができる発見モジュール(712)を備えることができる。本明細書に記載されているように、発見モジュール(712)は、システム(700)の実現されているトポロジー及び/又は推測された実現済みのトポロジーを発見することができる。システム(700)は、報告プラットフォーム(714)を備えることができる。報告プラットフォーム(714)を用いて、エラーの報告及び/又はクラウドシステムの状態(ステータス)の報告を送ることができる。システム(700)は、共通のデータウェアハウス(716)を備えることができる。共通のデータウェアハウス(716)は、報告プラットフォーム(714)に関するデータを格納するために使用することができるコンピューター可読媒体を含むことができる。いくつかの実施形態では、発見モジュール(712)に、発見すべきアイテムを知らせることができる。たとえば、トポロジーに対する変更がある場合には、発見モジュール(712)に、該トポロジーに対して実施された変更であって、該トポロジーを発見するために通知される変更があったことを通知することができる。いくつかの実施形態では、システム(700)に発見すべきアイテムを知らせて、その後、発見すべきアイテムが何であるかを発見モジュール(712)に知らせることもできる。
いくつかの実施形態では、システム(700)は、実現されたトポロジーインスタンスから、トポロジー設計、トポロジーモデル、及びトポロジーテンプレートを分離することによってイネーブル(使用可能)にされる。システム(700)は、実現されたインスタンス(該インスタンスは該インスタンス用のモデル及び/又は設計を有していない)を管理することができる。さらに、システム(700)は、実現されたトポロジーを、外部のシステムから、取り込み、発見し、及び/又は修正(ないし変更)すること、及び、実現されたトポロジーを管理するために該トポロジーを追跡することを可能にすることができる。
図8は、本開示にしたがう、図7に示されている構成要素、プラットフォーム、及びモジュールを含むシステム(800)の1例である。システム(800)は、本明細書に記載されているクラウドシステムの例示的なアーキテクチャを有している。図8は、管理ブローカー(300)によって提供(プロビジョニング)されないトポロジーを発見するための例示的な方法にとって有用である。システム(800)を、システム(700)と類似のやり方で用いることができる。
図8に示されているように、システム(800)は、発見部分(810)を備えることができる。発見部分(810)は、図7に関して参照された発見モジュール(712)を含むことができる。発見部分(810)は、実現されたトポロジー及び/又は推測された実現済みのトポロジーを発見するために使用されるシステム(800)の一部を含むことができる。
システム(800)は、セカンドデーオペレーション部分(820)を含んでいる。セカンドデーオペレーション部分(820)は、構成要素のこのサブセットによってイネーブル(使用可能)にされる。本明細書に記載されているように、セカンドデーオペレーションは、ハードウェア、ソフトウェア、及び/又はロジックの配置(デプロイ)後のクラウドシステムの動作を含むことができる。たとえば、セカンドデーオペレーションは、提供(プロビジョニング)すること、他の管理ツールを用いること、または、図3に関して参照された管理ブローカー(300)によって管理されることになる別の物によって提供(プロビジョニング)されたトポロジーを発見すること、及び/又は、クラウドシステムを管理することを含むことができる。本明細書に記載されているように、いくつかの実施形態では、システム(800)は、モデリング部分、設計部分、提供(プロビジョニング)、その後のセカンドデーオペレーション、報告(ただしそれらには限定されない)を含む複数の異なる部分を含むことができる。したがって、トポロジーがシステム(800)によって提供(プロビジョニング)されない場合であっても、セカンドデーオペレーション(たとえば、システムの提供(プロビジョニング)後に実施されるもの)を、システム(800)によって実行することができる。
システム(800)は、報告部分(830)を含むことができる。システム(800)の報告部分(830)は、エラーを報告し、及び/又は、クラウドシステム分析情報を提供するために使用されるシステム(800)の要素を含むことができる。
図9は、本開示にしたがうシステム(900)の1例である。システム(900)は、モデリング部分(940)を含むことができる。モデリング部分(940)は、システム(900)によって表されるクラウドシステムのモデリング(モデル化)に対応する該システムの要素を有する該システムの一部を含むことができる。モデリング部分(940)は、サービスリポジトリ及び/又はインスタンスリポジトリ(708)、発見モジュール(712)、モデルリポジトリ(710)、及び/又は、クラウドシステムをモデル化するために使用することができるクラウドシステムの他の要素を含むことができる。
システム(900)は、クラウド管理部分(950)を含むことができる。クラウド管理部分(950)は、図1〜図6に関連して述べたように、クラウドシステムにおいてサービスを提供し、及び/又はクラウドサービスを管理し、及び/又はクラウドサービスを提供(プロビジョニング)するために使用することができる、及び/又は、クラウドシステムのブローカーとして使用することができるシステム(900)の要素を含むことができる。
図10は、本開示にしたがう、構成要素の例示的なプラットフォーム(1000)を示すブロック図である。プラットフォーム(1000)は、クラウドシステムを提供(プロビジョニング)し及び管理するために使用することができる複数の構成要素を備えている。プラットフォーム(1000)は、図1〜図6に関連して述べたように、クラウドシステムのトポロジー(302)に関連付けられた構成要素を含むことができる。
プラットフォーム(1000)は、ファーストデーオペレーション及び管理のためのクラウド制御及び管理システムを備えることができる。プラットフォーム(1000)は、一体化されたまたは独立型の開発及び運用システム(1004)を備えることができる。開発及びアプリケーションリリース自動化システム(1004)は、ステージ(たとえば、テスト、試作、製造などの段階)に応じた適切なインフラストラクチャへのアプリケーションの配置(デプロイ)、並びに、関連する監視及び改善(ないし修正)を容易にすることができる。
いくつかの実施形態では、複数の管理ソリューションを、プラットフォーム(1000)におけるアプリケーションとみなすことができる。たとえば、データセンター内で典型的に行われるファーストデーオペレーションなどのアプリケーション、及び、CSAなどの管理、または、セカンドデーオペレーションなどのアプリケーションを、データセンターとクラウドネットワークとの間で移動させ及び共有することができる。
プラットフォーム(1000)は、一体化されたまたは独立型の報告システム(1008)を備えることができる。報告システム(1008)は、クラウドシステムで起こったエラーを報告することができる。いくつかの実施形態では、報告システム(1008)は、クラウドシステムの動作及び機能に関する情報を含む報告(レポート)を生成することができる。
プラットフォーム(1000)は、一体化されたまたは独立型の監視システム(1010)を備えることができる。監視システム(1010)を用いて、クラウドシステムの配置(デプロイ)されたサービスの性能及び状態(ステータス)を監視することができる。本明細書に記載されているように、配置(デプロイ)されたサービスは、アプリケーション1002または異なるシステムによって、提供(プロビジョニング)及び管理され、または改善(ないし修正)されたものであってもよい。本明細書に記載されているように、監視システム(1010)を用いて、クラウドシステムの種々の関係を監視することができる。
プラットフォーム(1000)は、図1〜図6に関連して述べたようなクラウドシステムを介してサービスを提供するための複数の特徴を含むことができるコアプラットフォーム(1012)を備えることができる。コアプラットフォーム(1012)は、ユーザーインターフェース(1014)を含むことができる。ユーザーインターフェース(1014)を用いて、報告システム(1008)からの報告を表示し、及び/又は、プラットフォーム(1000)に変更を加えることができる。コアプラットフォーム(1012)は、カタログ(1016)を含むことができる。カタログ(1016)は、クラウド環境において、配置(デプロイ)され、実行され、及び管理される複数のサービス、アプリケーション、プラットフォーム、またはインフラストラクチャ能力から適切に構成されるクラウドサービスなどの個々の設計、提供(プロビジョニング)、配置(デプロイ)及び管理を格納することができるコンピューター可読媒体を含むことができる。この場合、本明細書に記載されているように、それらの設計を注文し、要求し、及び購入することができるユーザーに、それらの設計をカタログ(1016)から提供することができる。
コアプラットフォーム(1012)は、複数のポリシー(303)を管理し、処理し、及び格納し/結合することができるポリシーサービス(1018)を含むことができる。複数のポリシー(303)は、管理及び/又は処理及び/又は格納/結合されることができる種々のポリシーの中でも特に、ステージ及びバージョンポリシー、プロバイダー選択ポリシー、セキュリティポリシー、アクセス制御ポリシー、監視ポリシー、イベント処理ポリシー、通知ポリシー、及び/又は改善ポリシーを含むことができる。コアプラットフォーム(1012)は、フルフィルメントエンジンサービス(1020)を含むことができる。フルフィルメントエンジン(1020)は、クラウドシステムの要求を実現し、提供(プロビジョニング)し、及び/又は更新すると共に、適用するポリシーのガイダンスに従うための複数の方法を含むことができる。
コアプラットフォーム(1012)は、通知サービス(1022)を含むことができる。通知サービス(1022)は、イベントハンドラを含むことができ、インシデントを取り出し、及び、ユーザーに知らせるためにポリシーに応じて該インシデントを送るべくイベントを処理する(たとえば、対応するポリシーでイベントを処理する)ことができる。いくつかの実施形態では、通知サービス(1022)は、改善の推奨を知らせることができる。いくつかの実施形態では、通知サービス(1022)は、改善するための改善メニューを知らせることができる。いくつかの実施形態では、通知サービス(1022)は、改善の推奨を受け入れることの通知、または該推奨とは異なる改善を行うことの通知を送ることができる。さらに、いくつかの実施形態では、通知サービス(1022)は、改善(ないし修正)が行われたことをユーザーに知らせることができる。通知サービス(1022)は、図1〜図6に関連して述べたような報告システム(1008)によって生成された通知及び/又は報告を格納するためのコンピューター可読媒体を含むことができる。通知データベース(1022)は、実現されたトポロジー(314)及び/又は推測された実現済みのトポロジーの論理的システムリポジトリであって、任意の形態のデータリポジトリでありうる。
コアプラットフォーム(1012)は、トポロジーモデル(1024)を含むことができる。トポロジーモデル(1024)は、複数のトポロジー(302)のモデル表現を含むことができる。トポロジーモデル(1024)を用いて、クラウドシステムを提供(プロビジョニング)し及び/又は管理することができる。コアプラットフォーム(1012)は、モデルリポジトリ(1026)を含むことができる。いくつかの実施形態では、モデルリポジトリ(1026)は、システムモデル、トポロジー(302)、及び/又はインスタンスを格納するためのモデル及びインスタンスリポジトリでありうる。モデルリポジトリ(1026)は、複数のシステムモデル及び/又はトポロジー(302)を格納するために使用することができるコンピューター可読媒体を含むことができる。
コアプラットフォーム(1012)は、コンテンツリポジトリ(1028)を含むことができる。いくつかの実施形態では、コンテンツリポジトリ(1028)を用いて、トポロジーサービス及び/又はポリシーを設計することができる。さらに、コンテンツリポジトリ(1028)を用いて、リソースプロバイダーまたはLCMAを実施ないし実装することができる。コンテンツリポジトリ(1028)は、クラウドシステムからのコンテンツを格納するために使用することができるコンピューター可読媒体を含むことができる。コアプラットフォーム(1012)は、オーケストレーションシステム(1030)を含むことができる。オーケストレーションシステム(1030)を用いて、図7〜図9に関連して述べたようなクラウドシステムによって供給されたサービスを提供(プロビジョニング)し及び/又は管理することができる。
コアプラットフォーム(1012)は、発見システム(1032)を含むことができる。発見システム(1032)を用いて、クラウドシステム用のトポロジー(302)を発見することができる。さらに、図7〜図9に関連して述べたように、実現されたトポロジー及び/又は推測された実現済みのトポロジー、並びに、既存のインスタンスに対して外部のシステムによって実行される変更を発見する際に、発見システム(1032)を利用することができる。コアプラットフォーム(1012)は、統合及び実行環境(1034)を含むことができる。統合及び実行環境(1034)は、クラウドシステムにおいてサービスを実行するために、並びに、プラットフォーム(1000)内/上で動作するアプリケーション及びサービスを実行するために利用することができる実行プラットフォームを含むことができる。
プラットフォーム(1000)は、プロバイダー部分(1040)を含むことができる。該プロバイダー部分は、複数のリソースの選択をガイドする、複数のリソースプロバイダーのオファリングに関連付けられた任意のポリシーである、本明細書に記載されているリソースプロバイダーポリシー(308−1)を含むことができる。プロバイダー部分(1040)は、いくつかあるプロバイダーの中でも特に、リソース(1042)、管理(1044)、変更制御(または変更管理)(1046)、監視(1048)、セキュリティ(1050)を含むことができる。リソース(1042)は、クラウドシステムを介してサービスを提供することができるネットワークリソースを含むことができる。管理(1044)を用いて、クラウドシステムにおけるサービスの提供(プロビジョニング)を管理することができる。管理(1044)を、図3におけるサードパーティーオファリングによって実行することができる。変更制御(1046)を、クラウドシステムに対する手動変更、及び/又は、トポロジー(302)に対する手動変更のために用いることができる。監視(1048)は、クラウドシステムにおけるリソースの提供(プロビジョニング)及び配置(デプロイ)を監視するためのネットワークモニタを含むことができる。セキュリティ(1050)は、種々のセキュリティリスクを回避するために使用することができる独立型またはサードパーティーのネットワークセキュリティ要素を含むことができる。
本明細書に記載されているシステム及び方法は、別様に提供(プロビジョニング)及び/又は管理されるクラウドサービスを管理することを可能にする。たとえば、本明細書に記載されているシステム及び方法は、ファーストデーオペレーションなしで、セカンドデーオペレーション用のクラウドシステムのインスタンス化、提供(プロビジョニング)、及び/又は管理を可能にすることができる。すなわち、本明細書に記載されているシステム及び方法は、アプリケーションがマネージャによって開発されてマネージャによって管理されているときに、クラウドシステムのインスタンス化、提供(プロビジョニング)、及び/又は管理を可能にする。さらに、本明細書に記載されているシステム及び方法は、アプリケーションがマネージャによって開発されておらず、及び、トポロジーが、本明細書に記載されているように発見される推測されたトポロジー及び/又は推測された実現済みのトポロジーであるときに、クラウドシステムのインスタンス化、提供(プロビジョニング)、及び/又は管理を可能にする。さらに、本明細書に記載されているシステム及び方法は、本明細書で参照されているように、アプリケーションはマネージャによって開発されたが、クラウドサービスは異なる管理ブローカー(300)によって管理されているときに、クラウドシステムのインスタンス化、提供(プロビジョニング)、及び/又は管理を可能にする。
本明細書で使用されている「ロジック」は、本明細書に記載されている特定のアクション及び/又は機能などを実行するための代替のもしくは追加の処理リソースであり、「ロジック」には、たとえば、メモリに格納されてプロセッサによって実行可能なソフトウェアやファームウェアなどのコンピューター実行可能命令とは対照的に、たとえば、種々の形態のトランジスタロジックや特定用途向け集積回路(ASIC)などのハードウェアが含まれる。さらに、本明細書で使用されている「1つ」または「複数の」物は、1以上のそのような物を意味することができる。たとえば、「複数のウィジェット」は、1以上のウィジェットを意味することができる。
本明細書、例、及びデータは、本開示の方法及び適用、並びに、本システム及び方法の使用の説明を提供する。本開示のシステム及び方法の思想及び範囲から逸脱することなく多くの例をなすことができるので、本明細書は、多くの可能性のある実施形態の構成及び実施のうちの一部を説明しているに過ぎない。

Claims (15)

  1. ステージ及びバージョンポリシーを用いるトポロジーベースの管理のための方法であって、
    トポロジーを開発中のアプリケーションに関連付けるステップと、
    前記アプリケーションの複数のステージ及びバージョンの各々について利用可能なインフラストラクチャを定義するために、ステージ及びバージョンポリシーを決定するステップと、
    前記開発中のアプリケーションの試作及び製作中に、前記ステージ及びバージョンポリシーを前記トポロジーの複数のノードに関連付けるステップと、
    前記関連付けられたステージ及びバージョンポリシーを用いて前記トポロジーをプロビジョニングして管理するステップ
    を含む方法。
  2. ステージ及びバージョンポリシーとトポロジーを関連付ける前記ステップが、前記トポロジーを定義すること、及び、前記ステージ及びバージョンポリシーと前記トポロジーとをコードの形態で関連付けることを含むことからなる、請求項1の方法。
  3. 前記ステージ及びバージョンポリシーの評価に使用される前記アプリケーションの特性を変更することに基づいて、前記アプリケーションを、第1のステージ及びバージョンから第2のステージ及びバージョンに進めるステップを含む、請求項1の方法。
  4. APIを介して、前記アプリケーションの開発段階に基づいて、前記ステージ及びバージョンポリシーの評価に使用される規定されたステージ及びバージョンを作動させるステップを含む、請求項1の方法。
  5. 前記ステージ及びバージョンポリシーが、
    前記アプリケーションのトポロジーに含まれる複数のレイヤについて、ステージ毎の該レイヤの要件が何であるかを示す情報と、
    前記アプリケーションの対応するステージ、バージョン、または能力に対して、複数のレイヤのうちのどのレイヤを、使用しなければならないかまたは使用しなくてもよいかの指標となる情報
    を含むことからなる、請求項1の方法。
  6. 前記トポロジー、並びに前記ステージ及びバージョンポリシーがYAMLで書かれており、ステージ及びバージョンポリシーは該YAMLに関連付けられる、請求項1の方法。
  7. トポロジーをプロビジョニングする前記ステップが、前記アプリケーションの開発、テスト、試作、及び製作におけるIDEからのプロビジョニングを作動させるために、アプリケーションアーティファクト、前記トポロジー、並びに前記ステージ及びバージョンポリシーをパッケージ化することを含み、データを含むファイル内の値もしくは参照によって、前記パッケージ化されたアプリケーションアーティファクト、トポロジー、並びにステージ及びバージョンポリシーのうちの任意のものを提供することができることからなる、請求項1の方法。
  8. 試作及び製作という異なるステップ中に前記アプリケーションをテストするために、開発ツールチェーンを用いて、特定の段階にある前記アプリケーションをプロビジョニング及び管理することを要求するステップを含む、請求項1の方法。
  9. 前記アプリケーションのステージ及びバージョンに関連付けられたステージ及びバージョンポリシーに基づいて前記トポロジーをインスタンス化するステップを含む、請求項1の方法。
  10. ステージ及びバージョンポリシーを用いてトポロジーベースの管理を容易にするためのシステムであって、
    前記システムは、クラウドサービス管理を開発し、テストし、段階分けし、実行し、及びサポートするためのプラットフォームを備え、
    前記プラットフォームは、複数のエンジンを備え、
    前記エンジンは、
    トポロジーを開発中のアプリケーションに関連付けることと、
    複数のポリシーを決定することと、
    前記複数のポリシーを前記トポロジーの複数のノードに関連付けることと、
    前記関連付けられた複数のポリシーを用いて前記トポロジーをプロビジョニングすること
    を実行し、
    前記複数のポリシーは、前記アプリケーションの所与のステージ及びバージョンに対して利用可能な複数のインフラストラクチャまたは下位のレイヤを定義するステージ及びバージョンポリシーを含むことからなる、システム。
  11. 前記ステージ及びバージョンポリシーは、前記アプリケーションの開発の対応するステージ及びバージョンの各々に対するプロビジョニング及び管理をガイドする、請求項10のシステム。
  12. 前記トポロジーは、前記プラットフォームによって管理されるクラウドサービスを構成する、請求項10のシステム。
  13. 前記複数のポリシーに基づいてサービスをインスタンス化するために管理プロセスを実行するトポロジーライフサイクル管理(LCM)エンジンを備える、請求項10のシステム。
  14. 前記プラットフォームはブローカーを含み、該ブローカーは、前記複数のポリシーに基づいて前記プロビジョニングされたアプリケーションを管理するように構成された該ブローカーに構築された複数のアプリケーションを含むことからなる、請求項10のシステム。
  15. ステージ及びバージョンポリシーを用いてトポロジーベースの管理を容易にするためのコンピュータープログラム製品であって、
    前記コンピュータープログラム製品は、コンピューター使用可能プログラムコードを含むコンピューター可読記憶媒体を備え、
    前記コンピューター使用可能プログラムコードは、
    プロセッサによって実行されたときに、トポロジーを開発中のアプリケーションに関連付けるためのコンピューター使用可能プログラムコードと、
    プロセッサによって実行されたときに、複数のポリシーを決定するためのコンピューター使用可能プログラムコードと、
    プロセッサによって実行されたときに、前記複数のポリシーを、前記トポロジーの複数のノードに関連付けるためのコンピューター使用可能プログラムコードと、
    プロセッサによって実行されたときに、前記関連付けられた複数のポリシーを用いて前記トポロジーをプロビジョニングするためのコンピューター使用可能プログラムコード
    を含み、
    前記複数のポリシーは、前記アプリケーションの所与のステージ及びバージョンに対して利用可能な複数のインフラストラクチャを定義するステージ及びバージョンポリシーを含むことからなる、コンピュータープログラム製品。
JP2017517225A 2014-09-30 2014-09-30 ステージ及びバージョンポリシーを用いるトポロジーベースの管理 Pending JP2017536608A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/058330 WO2016053301A1 (en) 2014-09-30 2014-09-30 Topology based management with stage and version policies

Publications (1)

Publication Number Publication Date
JP2017536608A true JP2017536608A (ja) 2017-12-07

Family

ID=55631157

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017517225A Pending JP2017536608A (ja) 2014-09-30 2014-09-30 ステージ及びバージョンポリシーを用いるトポロジーベースの管理

Country Status (5)

Country Link
US (1) US11228497B2 (ja)
EP (1) EP3202084A4 (ja)
JP (1) JP2017536608A (ja)
CN (1) CN107005421B (ja)
WO (1) WO2016053301A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200106124A (ko) * 2019-02-28 2020-09-11 한국정보통신기술협회 빅데이터 분석용 dbms를 위한 테스트 자동화 프레임워크 및 테스트 자동화 방법
WO2021192268A1 (ja) * 2020-03-27 2021-09-30 日本電信電話株式会社 リソース管理装置、リソース管理方法、および、リソース管理プログラム
WO2021192267A1 (ja) * 2020-03-27 2021-09-30 日本電信電話株式会社 リソース管理装置、リソース管理方法、および、リソース管理プログラム
WO2021192266A1 (ja) * 2020-03-27 2021-09-30 日本電信電話株式会社 リソース管理装置、リソース管理方法、および、リソース管理プログラム

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015065356A1 (en) 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Topology remediation
WO2015065389A1 (en) 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Execution of a topology
EP3063657B1 (en) 2013-10-30 2021-12-01 Hewlett Packard Enterprise Development LP Monitoring a cloud service modeled as a topology
EP3063655A4 (en) 2013-10-30 2017-08-30 Hewlett-Packard Enterprise Development LP Management of the lifecycle of a cloud service modeled as a topology
WO2015065355A1 (en) 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L. P. Stitching an application model to an infrastructure template
EP3063668A4 (en) * 2013-10-30 2017-05-31 Hewlett-Packard Enterprise Development LP Managing the lifecycle of a cloud service modeled as topology decorated by a number of policies
US10862747B2 (en) * 2015-03-25 2020-12-08 Airwatch Llc Single user device staging
US10365915B2 (en) * 2015-10-08 2019-07-30 Lightbend, Inc. Systems and methods of monitoring a network topology
GB2552025B (en) 2016-07-08 2020-08-12 Sovex Ltd Boom conveyor
US10476948B2 (en) 2016-09-21 2019-11-12 Microsoft Technology Licensing, Llc Service location management in computing systems
CN108388445B (zh) * 2018-03-09 2021-06-08 北京四方继保自动化股份有限公司 一种基于“平台+应用”模式的持续集成方法
US10855757B2 (en) * 2018-12-19 2020-12-01 At&T Intellectual Property I, L.P. High availability and high utilization cloud data center architecture for supporting telecommunications services
US20200218566A1 (en) * 2019-01-07 2020-07-09 Entit Software Llc Workload migration
US11025489B2 (en) 2019-05-23 2021-06-01 Cisco Technology, Inc. Automated discovery of manual configuration changes
CN110262995A (zh) * 2019-07-15 2019-09-20 北京一流科技有限公司 执行体创建系统和执行体创建方法
CN113849364B (zh) * 2021-07-29 2023-12-26 浪潮软件科技有限公司 一种边缘应用管理方法、装置、设备及可读存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6574663B1 (en) * 1999-08-31 2003-06-03 Intel Corporation Active topology discovery in active networks
US7228326B2 (en) 2002-01-18 2007-06-05 Bea Systems, Inc. Systems and methods for application deployment
US8271974B2 (en) * 2008-10-08 2012-09-18 Kaavo Inc. Cloud computing lifecycle management for N-tier applications
US20100095266A1 (en) * 2008-10-10 2010-04-15 Hewlett-Packard Development Company L.P. system and method for a policy-based management of a software service component
CN101521608A (zh) * 2009-01-22 2009-09-02 厦门东南融通系统工程有限公司 一种测试用例的版本管理方法
CN101635640B (zh) * 2009-09-04 2011-09-21 江苏天智互联科技有限公司 Web网站系统服务器终端程序的版本自动发布方法
US8627426B2 (en) * 2010-04-26 2014-01-07 Vmware, Inc. Cloud platform architecture
US8595715B2 (en) 2010-12-31 2013-11-26 International Business Machines Corporation Dynamic software version selection
EP2482148B1 (de) 2011-01-26 2018-06-13 Siemens Aktiengesellschaft Verfahren für die Projektierung und/oder Programmierung einer multifunktionalen Komponente einer industriellen Automatisierungsanordnung
US10678602B2 (en) 2011-02-09 2020-06-09 Cisco Technology, Inc. Apparatus, systems and methods for dynamic adaptive metrics based application deployment on distributed infrastructures
US9507643B2 (en) * 2011-03-02 2016-11-29 Radware, Ltd. Techniques for virtualization of application delivery controllers
US9645628B1 (en) * 2011-05-09 2017-05-09 EMC IP Holding Company LLC Combined data storage and computing appliance that provides scalable storage in a clustered computing environment
US9251033B2 (en) * 2011-07-07 2016-02-02 Vce Company, Llc Automatic monitoring and just-in-time resource provisioning system
BR112014006446B1 (pt) 2011-09-19 2021-09-21 Tata Consultancy Service Limited Plataforma de computação para desenvolvimento e implantação de aplicações e serviços de dados baseados em sensor
US9519520B2 (en) * 2011-10-25 2016-12-13 Viasat, Inc. Federated, policy-driven service meshes for distributed software systems
US10140106B2 (en) * 2012-01-13 2018-11-27 Siemens Aktiengesellschaft Method, computer readable medium and system for deploying and merging release independent applications
US9225604B2 (en) 2012-04-05 2015-12-29 International Business Machines Corporation Mapping requirements to a system topology in a networked computing environment
US20150199197A1 (en) 2012-06-08 2015-07-16 Stephane H. Maes Version management for applications
US8874704B2 (en) * 2012-07-11 2014-10-28 Bmc Software, Inc. Semi-automatic discovery and generation of useful service blueprints
US9092445B2 (en) * 2012-09-06 2015-07-28 Advanced Micro Devices, Inc. Predictive information topology modeling and visualization
WO2014062405A1 (en) 2012-10-16 2014-04-24 Citrix Systems, Inc. Systems and methods for bridging between public and private clouds through multi-level api integration
EP2760160A1 (en) 2013-01-25 2014-07-30 Alcatel Lucent Provision of adapted information on a topology of a communication network
US9354865B2 (en) * 2013-02-18 2016-05-31 Software Ag System and method for controlling the development of a software application
US9383984B2 (en) * 2014-01-13 2016-07-05 International Business Machines Corporation Seal-based regulation for software deployment management

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200106124A (ko) * 2019-02-28 2020-09-11 한국정보통신기술협회 빅데이터 분석용 dbms를 위한 테스트 자동화 프레임워크 및 테스트 자동화 방법
KR102464740B1 (ko) * 2019-02-28 2022-11-08 한국정보통신기술협회 빅데이터 분석용 dbms를 위한 테스트 자동화 프레임워크 및 테스트 자동화 방법
WO2021192268A1 (ja) * 2020-03-27 2021-09-30 日本電信電話株式会社 リソース管理装置、リソース管理方法、および、リソース管理プログラム
WO2021192267A1 (ja) * 2020-03-27 2021-09-30 日本電信電話株式会社 リソース管理装置、リソース管理方法、および、リソース管理プログラム
WO2021192266A1 (ja) * 2020-03-27 2021-09-30 日本電信電話株式会社 リソース管理装置、リソース管理方法、および、リソース管理プログラム
JPWO2021192266A1 (ja) * 2020-03-27 2021-09-30
JPWO2021192267A1 (ja) * 2020-03-27 2021-09-30
JPWO2021192268A1 (ja) * 2020-03-27 2021-09-30
JP7405241B2 (ja) 2020-03-27 2023-12-26 日本電信電話株式会社 リソース管理装置、リソース管理方法、および、リソース管理プログラム
JP7405242B2 (ja) 2020-03-27 2023-12-26 日本電信電話株式会社 リソース管理装置、リソース管理方法、および、リソース管理プログラム
JP7439904B2 (ja) 2020-03-27 2024-02-28 日本電信電話株式会社 リソース管理装置、リソース管理方法、および、リソース管理プログラム

Also Published As

Publication number Publication date
CN107005421B (zh) 2021-06-01
US20170302532A1 (en) 2017-10-19
US11228497B2 (en) 2022-01-18
CN107005421A (zh) 2017-08-01
EP3202084A4 (en) 2018-06-13
EP3202084A1 (en) 2017-08-09
WO2016053301A1 (en) 2016-04-07

Similar Documents

Publication Publication Date Title
US10887179B2 (en) Management of the lifecycle of a cloud service modeled as a topology
US10819578B2 (en) Managing the lifecycle of a cloud service modeled as topology decorated by a number of policies
US11228497B2 (en) Topology based management with stage and version policies
US11722376B2 (en) Execution of a topology
US11159385B2 (en) Topology based management of second day operations
US10447538B2 (en) Facilitating autonomous computing within a cloud service
US11245588B2 (en) Modifying realized topologies
US10212051B2 (en) Stitching an application model to an infrastructure template
EP3063661B1 (en) Topology remediation
EP3063657B1 (en) Monitoring a cloud service modeled as a topology
US10164986B2 (en) Realized topology system management database
US20170302531A1 (en) Topology based management with compliance policies
US20160241444A1 (en) Management of the lifecycle of a cloud service modeled as a topology

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180410

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20181030

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20190213