JP2018523248A - アプリケーションの展開のためのカスタム通信チャネル - Google Patents

アプリケーションの展開のためのカスタム通信チャネル Download PDF

Info

Publication number
JP2018523248A
JP2018523248A JP2018511367A JP2018511367A JP2018523248A JP 2018523248 A JP2018523248 A JP 2018523248A JP 2018511367 A JP2018511367 A JP 2018511367A JP 2018511367 A JP2018511367 A JP 2018511367A JP 2018523248 A JP2018523248 A JP 2018523248A
Authority
JP
Japan
Prior art keywords
deployment
application
message
endpoint
service
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.)
Granted
Application number
JP2018511367A
Other languages
English (en)
Other versions
JP6411698B2 (ja
Inventor
カピラ,ダンヴィ・ハーシャ
Original Assignee
アマゾン・テクノロジーズ・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アマゾン・テクノロジーズ・インコーポレーテッド filed Critical アマゾン・テクノロジーズ・インコーポレーテッド
Publication of JP2018523248A publication Critical patent/JP2018523248A/ja
Application granted granted Critical
Publication of JP6411698B2 publication Critical patent/JP6411698B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

アプリケーション展開サービス(ADS)コンポーネントは、アプリケーションと関連付けられた展開アーチファクトを提出するために、クライアントに対する通信チャネルを確立する要求を受信する。エンドポイントのセットは、チャネルに対して作成される。エンドポイントのうちの1つを介してメッセージを受信したことに応答して、ADSは、メッセージで示される展開タスクを実行することができる前に、追加のセキュリティ確認オペレーションが実行されることになると決定する。セキュリティ確認オペレーションが完了した後、タスクが実施される。【選択図】図1

Description

多くの会社及び他の組織が、それらの運用をサポートするために、多数のコンピューティングシステムを、同一場所に配置され(例えば、ローカルネットワークの一部として)または代わりに、複数の別個の地理的位置に配置されている(例えば、1つもしくは複数のプライベートもしくはパブリック仲介ネットワークを介して接続される)コンピューティングシステムなどと相互接続するコンピュータネットワークを運用する。例えば、単一の組織によって、及び単一の組織の代わりに運用されるプライベートデータセンタ、ならびにコンピューティングリソースを顧客に提供するビジネスとしてのエンティティによって運用されるパブリックデータセンタなど、かなりの数の相互接続されたコンピューティングシステムを収容するデータセンタが普通になっている。いくつかのパブリックデータセンタのオペレータは、種々の顧客によって保有されるハードウェアのために、ネットワークアクセス、電力、及びセキュアなインストール設備を提供しつつ、その他のパブリックデータセンタのオペレータは、それらの顧客による使用のために利用可能とされるハードウェアリソースをも含む「完全なサービス」設備を提供する。
いくつかの大規模なクラウドベースのプロバイダネットワークは、様々なアプリケーションを実施するために使用することができる仮想コンピューティングサービスを含む、いくつかのネットワークアクセス可能なサービスを実施する。例えば、仮想コンピューティングサービスの顧客は、指定された性能能力を有するいくつかの数のゲスト仮想マシン(計算インスタンスとしても知られる)の割り当てを要求することがあり、多層ウェブべースのアプリケーションをセットアップするために、ゲスト仮想マシンを、ウェブサーバ、アプリケーションサーバ、及びデータベースサーバなどとして構成することがある。データベースサービス及びストレージサービスなどの、プロバイダネットワークのいくつかの追加サービスは、複合アプリケーションの種々のコンポーネントに対して利用されることがある。
プロバイダネットワークのいくつかのサービスは、共通に使用されるパターンまたは一連のタスクを達成するために他のサービスのコンポーネントを利用することがある。例えば、或るタイプのアプリケーション(Ruby、PHP、またはJava(商標)などの一般的な言語で記述されたウェブベースのアプリケーションなど)について、アプリケーションの展開ワークフローは、プロバイダネットワークの展開サービスを使用して、大いに、または完全に自動化されることがある。展開サービスの顧客が十分な構成メタデータ及びソースファイルまたは実行可能ファイルの集合を提供する場合、展開サービスは、アプリケーションをオンラインにするのに必要なコンピューティング、ストレージ、及びネットワーキングサービスの適切なリソースを割り当て、構成することが可能な場合がある。いくつかのケースでは、サービスはまた、アプリケーションの性能を監視し、負荷の変化に基づいて必要に応じてリソースを追加または削除することが可能な場合がある。しかしながら、アプリケーションの開発者の観点からは、アプリケーション展開サービスと通信するのに一般的に利用可能な機構のうちのいくつかは、ある程度は重荷となることがある。特に、即時的なコード開発の速さ及び大多数の開発者を有するアジャイルソフトウェア開発の組織では、展開サービスの通信機構が時に、時に生産性を制限することがある。
少なくともいくつかの実施形態に従った、アプリケーション展開サービスのために、カスタマイズされた通信チャネルをオンデマンドで確立することができる実施例のシステム環境を示す。 少なくともいくつかの実施形態に従った、クライアントとアプリケーション展開サービスの制御プレーンコンポーネントとの間の実施例のやり取りを示す。 少なくともいくつかの実施形態に従った、アプリケーション展開サービスのカスタム通信チャネルに対して記憶することができる実施例のメタデータ要素を示す。 少なくともいくつかの実施形態に従った、アプリケーション展開サービスのカスタム通信チャネルエンドポイントを介して提出することができる要求の実施例を総合的に示す。 少なくともいくつかの実施形態に従った、アプリケーション展開サービスのカスタム通信チャネルエンドポイントを介して提出することができる要求の実施例を総合的に示す。 少なくともいくつかの実施形態に従った、アプリケーション展開サービスのカスタム通信チャネルエンドポイントを介して提出することができる要求の実施例を総合的に示す。 少なくともいくつかの実施形態に従った、アプリケーション展開サービスのカスタム通信チャネルエンドポイントを介して提出することができる要求の実施例を総合的に示す。 少なくともいくつかの実施形態に従った、アプリケーション展開サービスのカスタム通信チャネルエンドポイントを介して提出することができる要求の実施例を総合的に示す。 少なくともいくつかの実施形態に従った、アプリケーション展開ワークフローを実施するために使用することができるプロバイダネットワークサービスの実施例を示す。 少なくともいくつかの実施形態に従った、展開関連アーチファクトを送信するためのカスタム通信チャネルを構成及び使用するように実行することができるオペレーションの態様を示すフローチャートである。 少なくともいくつかの実施形態で使用することができる実施例のコンピューティングデバイスを示すブロック図である。
本明細書では、実施形態がいくつかの実施形態及び例示的な図面についての例として説明されるが、当業者は、実施形態が説明される実施形態または図面に限定されないことを認識するであろう。図面及びその詳細な説明は、実施形態を開示される特定の形式に限定することを意図しておらず、逆に、その意図は、添付の特許請求の範囲によって定義される精神及び範囲に含まれる全ての変形、均等物及び代替物に及ぶことを理解するべきである。本明細書で使用される表題は、構成的な目的で使用されているにすぎず、詳細な説明及び特許請求の範囲の範囲を限定するために使用することを意図していない。本出願を通じて使用されるように、単語「may」は、必須の意味(すなわち、mustを意味する)ではなく、許容的な意味(すなわち、having the potential toを意味する)で使用される。同様に、単語「include」、「including」、及び「includes」は、including,but not limited to、を意味する。
クライアントとプロバイダネットワークのアプリケーション展開サービスとの間の通信のためのカスタマイズされたセキュア通信チャネルをサポートする方法及び装置の種々の実施形態が説明される。インターネット及び/または他のネットワークを介してアクセス可能な1つまたは複数のサービス(種々のタイプの複数テナント及び/または単一テナントのクラウドベースのコンピューティングまたはストレージサービスなど)をクライアントまたは顧客の分散されたセットに提供する会社または公的部門組織などのエンティティによってセットアップされるネットワークは、本明細書ではプロバイダネットワークと呼ばれても良い。プロバイダネットワークはまた、「パブリッククラウド」環境と称されても良い。プロバイダネットワークのサービスのうちの少なくともいくつか(よって、アプリケーション開発及び展開のために使用されるリソースのうちのいくつか)は、いくつかの実施形態では、仮想化に依存することがあり、例えば、仮想マシンは、コンピューティングサービスのクライアントに割り当てられたコンピューティングの装置として使用されることがあり、仮想化された記憶装置は、ストレージサービスのクライアントに提供されることがある。プロバイダネットワークのいくつかのサービスは、他のサービスのコンポーネントを使用して構築されることがあり、例えば、データベースサービスは、仮想コンピューティングサービスの仮想マシンを下層処理エンジンとして使用することがあり、データベースコンテンツを1つまたは複数のストレージ関連サービスの記憶装置に記憶することがある。
少なくともいくつかの実施形態に従って、プロバイダネットワークは、或るタイプのアプリケーションのいくつかの異なるカテゴリの展開タスクを簡易化及び自動化することを意図されたアプリケーション展開サービス(ADS)を含むことができる。ADSのクライアントは、例えば、指定されたルールに従って、所与のアプリケーションの実行可能なバージョンをアップロードすることができ、次いで、ADSは、クライアントが使用されているリソースの詳細を気にする必要なく、能力のプロビジョニング、負荷分散、スケーリング、及びアプリケーションのヘルスモニタリングなどの詳細に対処することができる。いくつかの実施形態では、ADSは、例えば、仮想コンピューティングサービス、1つまたは複数のストレージサービス、1つまたは複数のデータベースサービス、通知サービス、ヘルスモニタリングサービス、負荷分散サービス、自動スケーリングサービス、及び1つまたは複数のデータキャッシュサービスを含む、プロバイダネットワークのいくつかの他のサービスを使用することができる。少なくともいくつかの実施形態では、ADSは、ウェブベースのコンソールなどの1つまたは複数のプログラムインタフェースを、デフォルトの機構として実施またはサポートすることができ、当該デフォルトの機構によって、アプリケーション開発者またはマネージャは、展開のために事前にパッケージ化されたアプリケーション(例えば、Java(商標)ベースのアプリケーションについての.jarファイルまたは.warファイルの形式にある)をアップロードすることができる。
種々の実施形態では、ADSはまた、開発者またはアプリケーションアドミニストレータの選択されたグループが展開アーチファクトをADSに提出することを可能にする電子メールチャネルまたはメッセージングアプリケーションチャネルなどのカスタム(例えば、アプリケーション特有のまたは顧客特有の)セキュア通信チャネルの作成をサポートすることができる。所与のカスタムチャネルに対する要求された特性に応じて、チャネルは、個々のソースコードファイル、コンパイルされた実行可能ファイル、インタープリット可能なスクリプトファイル、アプリケーションのパッケージ化されたバージョン、または構成ファイルなど、1つまたは複数のカテゴリの展開アーチファクトを送信するために使用されても良い。少なくともいくつかの実施形態では、ADSは、クライアントがカスタマイズされた通信チャネルを作成するための要求を提出することを可能にするプログラムインタフェースを提供することができる。例えば、ソフトウェア開発チームのマネージャまたはアドミニストレータなどの認可されたパーティによって提出することができる要求は、要求される通信のタイプ(例えば、電子メール、FTP(ファイル転送プロトコル)もしくは同様のデータ転送アプリケーションのうちの1つもしくは複数の変形、SMS(ショートメッセージサービス)、または他のメッセージングアプリケーション)、チャネルを使用するために許可されることになるクライアント側エンティティまたはデバイスのセット、セキュリティの詳細、及び以下でさらに詳細に説明されるようなチャネルの種々の他の特性を示すことができる。
アプリケーションに対してカスタムチャネルをセットアップする要求を受信したことに応答して、ADSのコンポーネントは最初に、例えば、顧客データベースにおける要求者のレコードを検索することによって、要求が認可されたパーティからであること、及び遂行されるべきかを確認することができる。要求が受理可能である場合、ADSは、要求されたチャネルに対する通信エンドポイントのセットをセットアップするために、電子メールサービス、メッセージングサービスもしくはファイル転送サービスなどの1つもしくは複数の他のサービスとプロバイダネットワーク内で内部的に通信することができ、及び/または外部通信サービスと通信することができる。電子メール通信が要求される1つの実施形態では、例えば、電子メールアドレスのセットが、特にアプリケーションに対するエンドポイントとして確立されても良く、SMSが好ましい通信機構であるシナリオでは、SMSの宛先番号のセットが、エンドポイントとして作成されても良い。エンドポイントのリストは、例えば、エンドポイントを使用するために許可されることになるソフトウェア開発者または他のクライアントのグループの間での分散のために、カスタムチャネルの要求者に提供されても良い。いくつかの実施形態では、ADSまたは要求者のうちのいずれかは、エンドポイントのセットを、例えば、ソースコードファイルの提出のために使用されることになる1つのサブグループ、構成変更の提出のためのもう一方のサブグループ、及び実行可能ファイルの提出のための3つ目のサブグループを有するサブグループに分割することができる。少なくとも1つの実施態様では、異なるエンドポイントは、例えば、アーチファクトが認可された提出者によって送信されたことを保証するために、セットアップされた追加のセキュリティ確認要件のそれぞれのセットを有することができ、多段階及び/もしくは多者認証プロトコルが使用されても良く、または提出者の識別子のいくつかの他の証拠が要求されても良い。多段階認証プロトコルでは、ADSは、1つまたは複数の追加確認メッセージが受信されるまで(例えば、ADSからのチャレンジに応答して提出者から)、受信されたアーチファクトの特定のセットに基づいてアプリケーションの展開へのいかなる変更も実施しないことがある。多段階多者認証プロトコルでは、アーチファクトの送信者が少なくともカスタムチャネルを使用して受信されるタイプのメッセージを提出することを認可されることの確認は、例えば、ADSによって送信される確認クエリに応答して、ADSにおいていくつかの他の信頼できるパーティから取得される必要がある場合がある。いくつかの実施形態では、事前承認された送信者エンドポイント(及び/または受信者エンドポイント)のそれぞれの「ホワイトリスト」は、ADSによって維持されても良く、展開アーチファクトを含む所与のメッセージがホワイトリスト化された送信者エンドポイントのうちの1人から受信されることを確認することは、セキュリティの確認のために十分となることがある。1つの実施形態では、信頼できる第三者パーティのホワイトリストはさらに、またはその代わりに、多者認証の目的で、ADSにおいて維持されても良い(または、他に記憶され、ADSからアクセスされても良い)。
エンドポイント情報がADSの開発者及び/または他のクライアントに伝播された後、クライアントはそれらのアーチファクトを提出することを開始することができる。メッセージが所与のアプリケーションに対してセットアップされたカスタムチャネルエンドポイントのうちの1つにおいて受信されるとき、ADSのコンポーネントは、メッセージの内容を構文解析し、展開関連のペイロードを抽出することができる。ペイロードに含まれるアーチファクトの性質、及び/またはチャネルもしくはエンドポイントに対して前にセットアップされたセキュリティルールに応じて、ADSは最初に、1つまたは複数の追加のセキュリティ確認オペレーションを実行する必要がある場合がある。いずれかのそのような追加確認が要求され、対応するオペレーションの完了が成功する場合、ADSは、アーチファクトを使用して1つまたは複数の展開タスクを実施することができる。例えば、アーチファクトが実行可能なパッケージである場合、パッケージは、実行プラットフォームの適切なセットに送信され、使用されているプログラミング環境のルールに従って展開されても良く、例えば、アプリケーションサーバ処理またはウェブサーバ処理は、いくつかのケースで再開されても良い。アーチファクトがソースコードファイルまたはソースコードファイルのセットである場合、いくつかの実施形態では、ADSは、アプリケーションのソースコードの階層においてソースコードがどこに配置されるかを正確に決定し、受信されたソースコードを使用してアプリケーションの新たなバージョンをコンパイルし、アプリケーションの新たなバージョンを展開することができる。アーチファクトが構成変更を含む場合、いくつかの実施形態では、ADSは、例えば、1つの構成ファイルを別のものに置き換え、追加のリソースをアプリケーションの展開ターゲットのフリートの一部として獲得し、1つもしくは複数のリソースをフリートから除去し、またはいくつかの他の手段によって、変更がどのように適用されるかを決定し、次いで、要求された変更が実行可能であるとみなされる場合に変更を適用することができる。よってADSは、アクションの異なるセットを実行することによって、異なる提出に応答することができる。少なくともいくつかの実施形態では、ADSは、アプリケーションの状態を修正する前に、アプリケーションの完全に機能している状態のスナップショット(例えば、ソース及び/または実行可能ファイル)がリポジトリに記憶されることを保証することができる。保存された状態は、新たに提出される変更が成功しない場合にADSによって復元されても良い。
先に述べたように、ADSのクライアントの異なるセット(例えば、アプリケーションコードの種々の部分について作業するソフトウェア開発者、及びアプリケーション構成の専門家など)は、施行されているそれぞれのセキュリティ関連ルールで、いくつかの実施形態におけるカスタムチャネルエンドポイントのそれぞれのセットを使用する許可が付与されても良い。電子メールまたはSMSなどの使用が容易な機構をセットアップすることによって、クライアントが変更をアプリケーションに提出することが、全てのクライアントがインタフェースのADSのデフォルトのセットを使用する必要がある場合よりもはるかに容易になることがある。結果として、少なくともいくつかのケースでは、ソフトウェア開発処理は、対応するアプリケーションに対して加速化されることがある。種々の実施形態では、カスタムチャネルは、或るクライアントに対する開発処理の或る段階の間に終了または閉鎖されることがあり、例えば、ADSは、必要に応じてカスタムチャネルまたはチャネルエンドポイントのサブセットを無効にするために使用することができるオプトアウトインタフェースをサポートすることができる。いくつかの実施形態では、作成された各エンドポイントは、関連する有効期間を有することがあり、その有効期間の後に、エンドポイントは更新されない限りもはや使用されないことがある。カスタム通信チャネルがアプリケーション展開サービスにおいてセットアップ及び使用することができる方式の種々の他の態様が、以下でさらに詳細に説明される。
実施例のシステム環境
図1は、少なくともいくつかの実施形態に従った、アプリケーション展開サービスのために、カスタマイズされた通信チャネルをオンデマンドで確立することができる実施例のシステム環境を示す。示されるように、システム100は、アプリケーション展開サービス(ADS)110が実施されるプロバイダネットワーク102を含む。ADS110は、クライアントが種々のアプリケーションを展開及び管理する処理を簡易化することを可能にし得る。例えば、ADS110によってサポートされるデフォルトの通信チャネルまたはカスタム通信チャネルのいずれかを使用して、クライアントは、アプリケーションコンテンツ及び構成設定を提供することができ、次いで、ADSは、アプリケーションに対して必要なリソースの状態を獲得、構成、及び管理する義務を引き継ぐことができる。記述される実施形態では、ADS110の展開コントローラコンポーネント120が1つのアプリケーション(「App1」をリソースの第1のセット152Aに、第2のアプリケーション(「App2」)をリソースの第2のセット152Bに展開している。各リソースセット152は、詳述される実施例では、コンピューティングプラットフォームのセット153(例えば、App1及びApp2それぞれに対するコンピューティングプラットフォーム153A及び153B)、ならびにストレージプラットフォームのセット154(例えば、App1及びApp2それぞれに対する154A及び154B)を含む。異なるアプリケーションに対して使用されるリソースセット152は、いくつかの実施形態では、プロバイダネットワークのサービスの複数テナントの性質に起因して、重なり合うことがある。
示されるように、ADS110は、アプリケーション構成メタデータリポジトリ112及びアプリケーションソースリポジトリ114を含む。アプリケーション構成メタデータリポジトリ112は、アプリケーションに対して必要とされるリソースの種別を示す、管理対象アプリケーションごとの(App1及びApp2など)それぞれのレコード、リソースが相互接続されることになる方式、アプリケーションにおいてリソースによって行われるロール(例えば、「ウェブサーバ」対「アプリケーションサーバ」対「データベースサーバ」)、ならびにアプリケーションのリソースセットにリソースを追加し、またはそれらからリソースを削除するために使用されることになるルールなどを含むことができる。アプリケーションソースリポジトリ114は、記述される実施形態では、管理対象アプリケーションごとのソースコード(及び/または対応する実行可能コードモジュール)のうちの1つまたは複数の階層を含むことができる。少なくともいくつかの実施形態では、ソースコード及び/または構成メタデータは、プロバイダネットワークのうちの1つまたは複数のストレージサービスに物理的に記憶されても良く、ADSは、ソースコード及び構成メタデータが配置される位置へのポインタを含んでも良い。
ADSは、記述される実施形態では、認可されたクライアントが、ソースもしくは実行可能ファイル、全実行可能プログラム、及び/または種々のタイプの構成設定などの展開関連アーチファクトを提出するために使用されることになるカスタム通信チャネルをセットアップする要求を含む、種々のタイプの要求を提出することを可能にする、1つまたは複数の制御プレーンまたは管理プログラムインタフェース124を実施することができる。インタフェース124を介して受信されるカスタム通信チャネルをセットアップする要求に応答して、ADSは、EP1〜EPnなどの1つまたは複数のカスタム通信チャネルエンドポイント122の確立を開始することができる。例えば、EP1〜EPnは、それぞれの電子メールアドレス、SMS/テキスティング宛先アドレス、FTPに類似した転送のために使用されることになるIP(インターネットプロトコル)アドレス及びポート、またはそのような異なるタイプのエンドポイントの組み合わせを含むことができる。EPの詳細は、アプリケーション開発者及び/または他のタイプのクライアントへのさらなる伝播のために、ADSによって要求パーティに提供されていることがある。記述される実施形態では、例えば、EP1がApp1の開発者に対してセットアップされており、EPnがApp2の開発者に対してセットアップされている(例えば、App1及びApp2のアドミニストレータまたは所有者から受信されるそれぞれのチャネルセットアップ要求に応答して)。いくつかの実施形態では、所与のアプリケーションは、それに対してセットアップされた様々な異なるカスタムチャネルエンドポイント、例えば、いくつかの数の電子メールアドレス、及びいくつかの数のテキスティング宛先などを含むことができる。カスタムチャネルエンドポイントは、電子メールサービスコンポーネント及びメッセージングサービスコンポーネントなど、いくつかの実施形態における1つまたは複数の他のエンティティによってADSの要求において作成されても良い。カスタムチャネルなしで、またはそれに加えて、ADSのクライアントは、種々のタイプの展開関連アーチファクトを提出するために、デフォルトの通信チャネルエンドポイント123(ウェブベースの管理コンソール、アプリケーションプログラミングインタフェース、カスタムGUIインタフェース、及びコマンドラインツールなどに対するエンドポイントまたはアドレスなど)を使用することができる。少なくとも1つの実施形態では、カスタムチャネル作成要求はまた、デフォルトの通信チャネルエンドポイント123を介して提出されても良い。
App1またはApp2などの所与のアプリケーションに対して要求されるカスタムチャネルエンドポイントがセットアップされた後、アプリケーションに対する種々のタイプの展開アーチファクトを含むメッセージは、例えば、170Aまたは170Bなどのアプリケーション開発者デバイス170からエンドポイントに提出されても良い。例えば、サーバと、デスクトップパーソナルコンピュータ、ラップトップ、タブレット、スマートフォンなどのワークステーションとを含む、様々なコンピューティングデバイスが、異なる実施形態におけるアプリケーション開発者デバイス170として使用されても良い。記述される実施形態では、各開発者デバイス170は、ADSのデフォルトの通信チャネルに対して使用可能なそれぞれの電子メールクライアント155(例えば、155A及び155B)、それぞれのSMS/テキスティングアプリケーションクライアント156(例えば、156A及び156B)、ならびにそれぞれのコンソールアプリケーション(例えば、ウェブブラウザ)157を含むものとして示される。デバイス170Aの電子メールクライアント155Aは、App1の展開アーチファクトをEP1に提出するために使用されても良く、SMS/テキスティングアプリケーション156Bは、App2の展開アーチファクトをEPnに提出するために使用されても良い。いくつかの実施態様では、電子メールクライアント及びSMS/テキスティングアプリケーションなどのクライアント側コンポーネントのうちのいくつかまたは全ては、統合された開発環境(IDE)及び/または他のソフトウェア開発ツールに対するプラグインまたはアドオンとして実施されても良い。
デバイス170からの特定のメッセージがエンドポイント122において受信されるとき、それは、含まれる展開アーチファクトを抽出するために構文解析されても良い(例えば、展開コントローラ120によって、またはその代わりに)。エンドポイントにおいて受信されるメッセージの内容は、本明細書では、「ペイロード」と称されることがある。メッセージに含まれる展開アーチファクトの種別は、いくつかの実施形態では、開始されることになる展開アクションまたはタスクを示し、または推定するように使用されても良い。例えば、Java(商標)のバージョンへの互換性を有する.warまたは.jarファイルがメッセージに含まれる場合、展開コントローラ120は、ファイルが展開のためのリソースセット150(例えば、App1のリソースセット152AまたはApp2のリソースセット152B)のうちの1つまたは複数の宛先リソースに複製されることになると推測することができ、構成ファイルがメッセージに含まれる場合、展開コントローラは構成設定をリポジトリ112に保存し、次いで、構成設定を適用することができる。いくつかのケースでは、App1及び/またはApp2に対する使用でのアプリケーション実行環境の種別に応じて、EP1またはEPnを介した所与の提出が、コードリポジトリ114及び実行リソースセット152における変更をもたらすことがある。少なくともいくつかの実施形態では、アプリケーションのセキュリティ設定、使用される通信チャネルまたはエンドポイントなどの種々の要因に応じて、いずれかの変更がなされる前に追加のセキュリティ確認段階が展開コントローラ120によって実行または開始されても良い。確認段階は、例えば、多段階認証手順を含むことができ、その手順では、第2のメッセージが提出者に再度送信され、第2のメッセージへの時宜を得た応答が送信者の識別子を認証するために使用される。別のアプローチでは、多者確認機構が使用されても良く、その機構では、カスタムチャネルエンドポイントを介して受信される少なくともいくつかのタイプの提出について、提出された変更に対する承認要求が送信者とは異なるパーティ(例えば、「ピア」の開発者または信頼できる権限者)に送信されることがあり、要求された変更が承認されるまで受理されないことがある。そのような確認段階が失敗する場合、対応するアーチファクトを含むメッセージは、種々の実施形態では、例えば、静穏に、またはエラーの指示が送信者に提供された後のいずれかで破棄されても良い。
カスタムチャネルセットアップの概要
図2は、少なくともいくつかの実施形態に従った、クライアントとアプリケーション展開サービスの制御プレーンコンポーネントとの間の実施例の対話を示す。示されるように、特定の管理対象アプリケーション「Appk」に対する信頼できるチャネル要求者210は、カスタム通信チャネルに対するセットアップ要求230をアプリケーション展開サービス(ADS)の制御プレーンコンポーネント220に送信することができる。信頼できる要求者は、例えば、それに対してAppkの展開に関する管理特権がADSによって付与されているユーザ識別子を有することができる。セットアップ要求は、カスタムチャネルを介してADSにおいて受信される通信に必要な別個のエンドポイントの数及び/または必要とされる追加のセキュリティ確認段階(ある場合)の数など、要求される通信チャネルの種別(例えば、電子メール対SMS)及びチャネルの種々の所望の特性を示すことができる。ウェブベースコンソール、アプリケーションプログラミングインタフェース(API)、コマンドラインツール、及びスタンドアロングラフィカルユーザインタフェースなど、いくつかの異なるプログラムインタフェースは、種々の実施形態におけるセットアップ要求230及び/またはADSと関連付けられた他のタイプの管理要求に対してサポートされることがある。
セットアップ要求を認証し、要求が認可されたパーティ及び信頼できるパーティからであることを確認した後、ADSコンポーネント220は、特性の指定されたセットを有するカスタムチャネルが要求者210の代わりに作成されることになることを示す内部要求232を、記述される実施形態におけるプロバイダネットワークの通信サービス225のコンポーネントに送信することができる。通信サービス225は、Appkに対するカスタム通信チャネルに対して使用されることになるエンドポイントのセット272(Appk−EP1、Appk−EP2、Appk−EP3、Appk−EP4など)を確立するために必要なオペレーションを実行することができ、例えば、電子メールアドレスまたはSMS宛先アドレスの新たなセットが作成されても良く、アドレスの事前に割り当てられたプールからのアドレスのセットがエンドポイントセット272に対して選択されても良く、新たなチャネルを介して予想されるメッセージを取り扱うためのコンピューティング及び/またはネットワーキングリソースが割り当てられても良い、などである。通信サービス225は、記述される実施形態では、エンドポイントセット272を示す応答234Aを、ADSコンポーネント220に送信することができる。いくつかの実施形態では、ADSコンポーネントは、例えば、内部要求232をプロバイダネットワークの通信サービス225に送信する代わりに、またはそれに加えて、カスタムチャネルの構成に対する要求を、プロバイダネットワークの外部の第三者パーティ通信サービスなどのエンティティに送信する必要がある場合がある。例えば、1つの実施形態では、電気通信サービスプロバイダ及び/または外部DNSサーバは、カスタムチャネルの構成を支援するように連絡されても良い。
次いで、エンドポイントセット272に関する情報を示す応答234Bは、記述される実施形態では、信頼できるチャネル要求者210に渡されても良い。エンドポイント情報のそれぞれのサブセットは、例えば、クライアントデバイス252A及び252Bのそれぞれに送信されるメッセージ235A及び235Bを介して、Appkの伝播または検証に関与する種々の開発者または他のクライアントに提供されても良い。いくつかの実施形態では、例えば、エンドポイントのセット272は、対応するクライアントのロールに基づいて分割されても良く、いくつかの開発者は、エンドポイントの1つのサブセットへのアクセスが付与されても良く、他の開発者は、異なるサブセットへのアクセスが付与されても良い。種々の実施形態では、いくつかのエンドポイントは、ソースコードまたは実行可能コードに対して具体的に指定されても良く、その他は、構成変更要求に対して指定されても良い。記述される実施例では、クライアントデバイス252Aに由来するソースコードまたは実行可能パッケージ240Aは、Appk−EP1に向けられても良く、クライアントデバイス252Bに由来するソースコードまたは実行可能パッケージ240Bは、Appk−EP3に向けられても良い。Appkの展開のためのそれぞれの構成変更を示す構成ファイルセット241A及び241Bは、Appk−EP2に(クライアントデバイス252Aから)及びAppk−EP4に(クライアントデバイス252Bから)送信されても良い。
各々のケースでは、メッセージがセットのエンドポイント272においてクライアントデバイスから受信された後、ADSは、メッセージに含まれる展開アーチファクトが対応するタスクまたはワークフローに適用または使用される前に、前に説明されたようなセキュリティ確認の追加段階が適用されることになるかを決定することができる。いくつかのケースでは、通信チャネルの要求される構成に応じて、追加のセキュリティチェックが要求されないことがある。少なくとも1つの実施形態では、カスタム通信チャネルをセットアップする要求は、別個の信頼できるチャネル要求者から送信される代わりに、クライアントデバイス252から送信されても良い。1つの実施形態では、カスタムチャネルに対する要求は、Appkの展開に関してADSに送信される初期構成メッセージに含まれても良く、そのケースでは、別個のセットアップ要求が後に要求されないことがある。いくつかの実施形態では、エンドポイントは、異なるアプリケーションの間で共有されても良く、例えば、ADSの所与の顧客が、ADSによって管理されている2つの別個のアプリケーションAppk及びAppjを有する場合、単一の電子メールアドレスがAppj及びAppkの両方に対してセットアップされても良い。
少なくともいくつかの実施形態では、信頼できるチャネル要求者などの認可されたパーティはまた、セットアップ要求230のために使用されるものと同様のプログラムインタフェースを使用して1つまたは複数のカスタムチャネルの無効化または削除を要求することがある。インタフェースはまた、カスタムチャネルを使用し、またはカスタムチャネルのエンドポイントの特定のセットを使用するために、1つまたは複数のクライアントエンティティの権利を取り消すために使用されても良い。例えば、特定のアプリケーションが製造環境に配置された後、前にセットアップされた1つまたは複数のカスタムチャネルを介して展開アーチファクトを提出する種々の開発者及びテスタの権利は抑制されても良い。クライアントの提出権利が取り消しされた後にメッセージがエンドポイントのうちの1つにおいて受信される場合、ADSは、いくつかの実施形態では、メッセージを破棄し、及び/またはエラーメッセージを生成することができる。もちろん、エンドポイントまたはチャネルが全体として無効にされた後、メッセージを提出する試みが成功しないことがある。
カスタムチャネルメタデータ
図3は、少なくともいくつかの実施形態に従った、アプリケーション展開サービスのカスタム通信チャネルに対して記憶することができる実施例のメタデータ要素を示す。示されるように、アプリケーション展開サービスの1つまたは複数の顧客の代わりにセットアップされたカスタム通信チャネルに対するメタデータレコード310は、他の要素の中で、種々の実施形態におけるチャネルタイプ要素312、管理対象アプリケーションセットインジケータ313、ホワイトリスト化提出者識別子要素314、多者認証のための信頼できるパーティのリスト315、提出者ロール要素316、受信者エンドポイントセット318、受信者ロール要素320、拡張セキュリティ確認ルールのセット322、タイミング制約のセット324、及び/またはデータ転送制約要素326を含むことができる。チャネルタイプ312は、電子メール、テキスティング/SMS、及びFTPなど、チャネルに対して使用されることになる特定の通信機構を示すことができる。管理対象アプリケーションセット313は、それに対してチャネルが使用されることになるアプリケーションのセットを示すことができる。先に述べたように、いくつかのケースでは、その展開がADSによって管理される複数のアプリケーションは共有カスタム通信チャネルを割り当てられても良く、他の実施形態では、1つの管理対象アプリケーションだけに対して所与のカスタム通信チャネルが使用されても良い。
承認された提出者識別子のホワイトリスト314(例えば、それから電子メールまたはファイル転送が受理可能な電子メールアドレス、IPアドレス、またはテキスティングソースアドレスなど)は、いくつかの実施形態におけるカスタム通信チャネルに対して記憶されたメタデータに含まれても良い。そのようなホワイトリストは、いくつかの実施形態における少なくとも第1のセキュリティ検証を実行するために使用されても良く、例えば、ソースコードファイルがホワイトリストにないソースから受信される場合、そのソースコードファイルの提出は、ADSによって拒絶されることがある。いくつかの実施形態では、ホワイトリストに対応するそれぞれの提出者ロール315はまた、例えば、各々のホワイトリスト化された提出者から受理可能な提出の種別を示すチャネルメタデータレコード310に含まれても良い。いくつかの提出者は、例えば、管理対象アプリケーションの構成設定を変更することが受理されることがあり、その他はそうでないことがあり、ロール情報は、種々の提出者により許可可能な展開関連の提出の種別を制限することができる。1つの実施形態では、多者認証を目的に問い合わせされることになる信頼できるパーティのリスト316も含まれても良い。
種々の実施形態では、メタデータレコード310はまた、カスタムチャネルに対して確立される受信者エンドポイントのセット318、及びそれぞれの受信者エンドポイントと関連付けられた特定のロール(ある場合)320を含むことができる。例えば、1つの実施形態では、1つの電子メールアドレスは、ソースコードファイルを管理対象アプリケーション(複数可)の開発者から受信するためにエンドポイントとして確立されても良く、第2の電子メールアドレスは、構成変更を受信するために確立されても良い。それぞれのロールが受信者エンドポイントに割り当てられる実施形態では、ロールは、展開アーチファクトがそれらに指定されるそれらのエンドポイントにのみ提出されることを確認するために使用されても良く、例えば、構成変更ファイルに対して指定されるエンドポイントに送信されるソースコードファイルは拒絶されることがある。
いくつかの拡張されたセキュリティ確認ルール322のうちのいずれかは、カスタム通信チャネルに対して指定されても良い。いくつかのルールは、チャネルを介して受信される全てのメッセージに適用可能となることがあり、その他は、特定のタイプのメッセージ、提出者のサブセット、及び/またはエンドポイントのサブセットのみに適用可能となることがある。1つの実施形態では、少なくともいくつかのタイプの提出される展開アーチファクトについて、多段階認証プロトコルに従っても良い。そのようなシナリオでは、ADSは、ADSによって前に提供されたセキュリティトークンで、または送信者の識別子のいくつかの追加の証拠で、送信者が応答することを要求する提出に対し第1の応答を送信することができる。いくつかの実施形態では、ADSは、特定のメッセージの内容を構文解析及び分析した後に、追加セキュリティ確認段階が要求されるかを決定することができる。ルール322に従って、メッセージが些細な変更(例えば、ソースコードファイルへのコメントの追加)を示す場合、ADSは、提出されるアーチファクトを受理することができ、さらなる大きな変更のために追加のセキュリティ確認オペレーションが実行されても良い。いくつかの実施形態では、所与のカスタム通信チャネルは、それに関連付けられた1つまたは複数のタイミング制約324を有することができ、例えば、チャネルは、その後にそれがシャットダウンすることになり、またはチャネルが単に就業日の間の或る期間に使用できないことがある有効期間を有することができる。例えば、1つの組織では、開発者は、通常の業務時間の間に特定の通信チャネルを、通常の業務時間の後に異なる通信チャネルを使用することが予想されることがある。1つの実施形態では、例えば、展開アーチファクトの提出のために使用される帯域幅、または所与の時間期間の間に許可される提出の数を制限する、データ転送制約326は、カスタム通信チャネルに対して指定されても良い。所与のメッセージがデータ転送制約に違反し、またはその展開タスクがデータ転送制約の違反をもたらすアーチファクトを含む場合、少なくともいくつかの実施形態では、メッセージが拒絶されることがある。いくつかのケースでは、プロバイダネットワークにおいて実施されるアプリケーション展開サービスは、データ転送制約326、タイミング制約324、及び/またはセキュリティルール322を施行するために、プロバイダネットワークの他のサービス(例えば、図5に示されたものと同様のサービス)、またはプロバイダネットワークの外部のサービスを利用することができる。図3に示されたメタデータ要素の少なくともいくつかの内容は、チャネルに対するセットアップ要求から導出されても良く、例えば、確立される受信者エンドポイントの数、提出者のホワイトリスト、及び/またはセキュリティ確認ルールなどがセットアップ要求で示されても良い。種々の実施形態では、図3に示されたメタデータ要素の種別のうちの1つまたは複数が使用されても良く、他の実施形態では、図3に示されていない追加の要素が、図3に示されたものの代わりに、またはそれに加えて記憶されても良い。
カスタムチャネルを使用して実行される展開タスクの実施例
図4a〜図4eは、少なくともいくつかの実施形態に従った、アプリケーション展開サービス(ADS)のカスタム通信チャネルエンドポイントを介して提出することができる要求の実施例を総合的に示す。いくつかの実施形態に従って、特定の管理対象アプリケーションがADSを使用して展開される前に、構成及び環境情報のセットがADSに提供される必要がある場合がある。図4aに示されるように、いくつかの実施形態において、アプリケーションのために作成されるカスタムチャネルは、プリケーションAppkの第1の展開の必要条件として、必要とされる構成情報を提出するために使用することができる。Appk構成ファイル435は、クライアントデバイス452AからカスタムチャネルのエンドポイントAppk−EPに送信されても良い。ADSコンポーネント420(任意選択のセキュリティ確認者コンポーネント444を含むことができる)は、構成ファイル435を受信し、要求されるいずれかのセキュリティチェックを実行し、セキュリティチェックが成功した場合、構成ファイル435をAppkに対するエントリ437として記述される実施形態におけるアプリケーション構成メタデータリポジトリ112に記憶することができる。エントリ437は、記述される実施形態では、Appkが実際に展開される場合、及び展開されるときに使用されても良く、すなわち、Appkに対するリソースは、まさに構成ファイル435が提出されているので、割り当てられる必要がないことがある。(図4aに示される実施形態では、カスタムチャネルは、Appk−EPの使用を要求しないプログラムインタフェースを介して受信される別個の要求に応答してセットアップされていることがある。)
図4bでは、初期Appk展開パッケージ447は、異なるクライアントデバイス452BからAppk−EPに提出されても良い。Appkのプログラミング言語及び実行環境に応じて、展開パッケージ447は、単一の実行可能ファイル、実行可能ファイルの集合、またはソースファイル及び実行可能ファイルのいくつかの組み合わせのみを含むことができる。いくつかのケースでは、ソースファイルは、コンパイルされる必要があることがあり、他のケースでは、ファイルは、コンパイルではなくインタープリットされることがある。展開パッケージ447を受信したことに応答して、図4bの実施例のシナリオでは、ADSコンポーネント420は、Appk構成エントリ437をリポジトリ112から取り出し、Appkのサブコンポーネントが展開されることになるリソースのセットを獲得することができる。Appkに対する初期展開リソースセット466は、例えば、LB434などの1つまたは複数の負荷分散装置、WS 436A、WS 436B、及びWS 436Cなどの複数のウェブサーバ、ならびにAS 438A及び AS 438Bなどの複数のアプリケーションサーバを含むことができる。いくつかの実施形態では、それらのリソースのうちのいくつかまたは全ては、プロバイダネットワークのコンピューティングサービスの仮想マシンを含むことができる。他のプロバイダネットワークサービスはさらに、またはその代わりに、図5に関して以下でさらに詳細に議論されるように、種々の実施形態では、ADSによって管理対象アプリケーションの展開及び構成のために使用されても良い。いくつかの実施形態では、初期展開パッケージ447は、例えば、カスタムチャネルエンドポイントAppk−EPに提出される単一のメッセージ内で、構成ファイル435とともに提出されても良く、すなわち、図4a及び4bに示されるタイプのアーチファクトは、必ずしもADSコンポーネント420に別個に送信される必要がない。
図4cは、Appk−EPを介してクライアントデバイス452CからADSへのウェブサーバレイヤに対するファイルセット441(例えば、1つまたは複数のHTMLまたはJavascriptファイルを含む)の提出を示す。このシナリオでは、ADSコンポーネント420は、ファイルセット441を含むメッセージの内容を構文解析し、ファイルセットがAppk展開リソースセット466のウェブサーバのうちの1つまたは複数に複製されることになると決定することができる(要求されるいずれかの追加のセキュリティまたは正確性チェックが実行された後)。したがって、ファイルセット441の複製は、WS 436A、436B及び436Cに送信されても良い。Appkリソースセット466の他のリソースは、記述される実施形態では、ファイルセット441の提出によっては影響を受けないことがある。
図4dでは、クライアントは、Appkのアプリケーションサーバレイヤに向けて、ソースファイルのセット442をクライアントデバイス452DからAppk−EPに提出することができる。ADSコンポーネント420は、クライアントデバイス452Dから受信されるメッセージの内容を検査し、コンパイルされる必要があるソースファイルをメッセージが含むと決定し、ファイルの実行可能なバージョンを取得するためにコンパイラ448を利用することができる。次いで、実行可能なバージョンは、アプリケーションサーバAS 438A及び438Bに展開されても良い。少なくともいくつかの実施形態では、ADSコンポーネントは、最初に、エラーなしにアプリケーションをコンパイルするためにファイルが配置されることになるソースコードの階層内の位置を決定する必要がある場合がある(例えば、ソースファイルの名前を検査し、またはソースファイルの内容を構文解析することによって)。いくつかのそのようなシナリオでは、ADSコンポーネントは、正確な位置を識別し、ファイルのより古いバージョンを保存し(そのようなより古いバージョンが存在する場合)、新たに提出されたファイルを当該位置に記憶し、次いで、実行可能なアプリケーションの新たなバージョンを取得するためにコンパイラまたは同様のツールを呼び出すことができる。次いで、実行可能アプリケーションの新たなバージョンは、1つまたは複数のプラットフォームで実行されても良い。他のシナリオでは、ADSは単純に、ソースコードの階層内で、新たに提出されるファイルをそれに対して決定された位置に配置し、明確なコンパイルが要求されないことがある(例えば、ソースファイルがコンパイルではなくインタープリットされることになるスクリプトコードである場合)。
図4eでは、Appkに対する構成変更要求449は、Appk−EPを介してクライアントデバイス452EからADSコンポーネント420に提出されても良い。ADSコンポーネント420は、そのような変更に必要とされるいずれかの追加のセキュリティ確認手順を実行し、アプリケーション構成メタデータリポジトリ112に記憶されたエントリ437を修正することができる。構成変更要求の性質に応じて、Appkの展開のために割り当てられたリソースのうちのいくつかも修正されても良い。例えば、示されるように、追加のアプリケーションサーバリソース(AS 438C)は、構成変更要求を遂行するために採用されても良い。ADSコンポーネント420は、クライアントとのいずれの追加の対話を必要とすることなく、構成変更のために必要なアクション(例えば、AS 438Cに対するコンピューティングプラットフォームの獲得、AS 438Cへの必要なファイルの複製、及びウェブサーバレイヤにおいて必要とされる構成変更など)を開始することができる。いくつかの異なるカテゴリの構成関連展開サービスタスクは、種々の実施形態では、カスタムチャネルを使用して受信されるメッセージに応答して実行されても良い。いくつかの構成タスクは、アプリケーションに対して展開されるリソースへの変更を含むことができ、その他は、アプリケーションのリソースフットプリントへの変更を要求しないことがある。例えば、アプリケーションのスレッドプールにおける最大数のスレッドなどのパラメータに対する設定は、カスタムチャネルを介してメッセージで提出されても良く、または新たなソフトウェアモジュールもしくは拡張を展開する要求が提出されても良い。そのようなシナリオでは、メッセージに応答して実行されるタスクは、アプリケーションに対して使用されるリソースのセットへの変更をもたらさないことがある。図4a〜4eに示されるように、様々な異なるタイプの展開関連アーチファクトは、1つまたは複数の管理対象アプリケーションに対してADSにおいてセットアップされたカスタムチャネルセットを使用して提出されても良く、ADSは、提出されるアーチファクトのタイプに基づいて、アクションの異なるセットをとることができる。種々の実施形態では、他のタイプの展開タスク(種々のリソースのヘルスステータスが監視される方式への変更など)はまた、カスタムチャネルを使用して要求されることがある。ADSに提出される要求が、図4a〜4eでは異なるクライアントデバイス452A〜452Eに由来し、同一のADSコンポーネント420によって取り扱われるとして示されるが、カスタム通信チャネルの使用を含む要求は概して、種々の実施形態では、いずれかの適切なクライアントデバイスに由来することがあり、いくつかのADSコンポーネントのうちのいずれかによって取り扱われることがある。
他のプロバイダネットワークサービスを使用したアプリケーションの展開
いくつかの実施形態では、先に述べたように、カスタム通信チャネルのエンドポイントを介して受信された要求に応答してADSにおいて実行される展開タスクは、プロバイダネットワークの1つまたは複数の他のサービスの使用を含むことができる。図5は、少なくともいくつかの実施形態に従った、アプリケーション展開ワークフローを実施するために使用することができるプロバイダネットワークサービスの実施例を示す。記述される実施形態では、プロバイダネットワークのサービスポートフォリオ500は、コンピュテーションサービス504、ストレージサービス506、データベースサービス510、ネットワーキングサービス550、及び汎用ユーティリティサービス540のグループを含むことができる。(アプリケーション展開サービス540Fは、汎用ユーティリティサービスのグループに含まれる。)コンピュテーションサービス504は、例えば、仮想コンピューティングサービス504A(例えば、ADS 540Fによって管理される種々のアプリケーションを展開するために、それから種々のタイプの汎用仮想マシンへのアクセスを取得することができるサービス)、分散/並列コンピューティングサービス504B(高度の並列度を有するアプリケーションに対して設計される特殊ハードウェア/ソフトウェアコンポーネントを有する)、展開されるアプリケーションに対して割り当てられるリソースを適切にスケールアップまたはスケールダウンするために使用することができる自動負荷ベースのプロビジョニングサービス504C、及び種々の展開されるアプリケーションに対して使用されるコンピュテーションリソースのグループの中で負荷を分散するための負荷分散サービス504Dを含むことができる。例えば、図4b〜図4eでは、負荷分散装置LB 434は、負荷分散サービス504Dを使用して実施されても良く、WS及びASリソースは、仮想コンピューティングサービス504Aを使用して実施されても良い。
組織化されていないストレージオブジェクトへのウェブサービスベースのアクセスを提供するオブジェクトストレージサービス506A、またはストレージボリュームへのブロックデバイスレベルのアクセスを提供するボリュームサービス506Bなど、いくつかの異なるタイプのストレージ関連サービスがいくつかのプロバイダネットワークにおいて実施されても良い。いくつかの実施形態では、関係データベースサービス510A、非関係(例えば、「非SQL」)データベースサービス510B、またはデータベースキャッシュサービス510Cなど、いくつかの異なるデータベース関連サービスが実施されても良い。
記述される実施形態では、分離された仮想ネットワーク(IVN)サービス550Aなどの種々のネットワーキング関連サービスがプロバイダネットワークにおいてサポートされても良い。IVNサービス及び仮想コンピューティングサービス404Aの組み合わせを使用して、多数の仮想マシン及び/または他のデバイスは、顧客に必要な(up for)分離された仮想ネットワークの一部として構成されても良く、顧客は、IVNに対する十分なネットワーキング構成の柔軟性を付与されても良い。例えば、顧客は、そのネットワーク構成設定が顧客所有の設備において選択される方法と非常に類似した方式で、分離された仮想ネットワーク、セットアップされたサブネット及びルートなどの中でそれらの選択のIPアドレスを割り当てることができる。IVNは、いくつかの実施形態では、「仮想プライベートクラウド」とも称されることがある。直接接続サービス550B(顧客が専用物理リンクもしくは「直接接続」リンクを介して外部ネットワークをプロバイダネットワークに接続することを可能にする)、または仮想ネットワークインタフェースサービス550C(論理ネットワークインタフェースが、物理ネットワークインタフェースカードの再構成を必要とすることなく、仮想マシンにプログラムでアタッチされることを可能にする)である。
ADSに加えて、汎用ユーティリティサービスカテゴリは、例えば、他のサービスのコンポーネントの間の対話を含むワークフローを実施するために使用することができるワークフローサービス540A、ユーザ/グループ認証のための識別子管理サービス540B、永続的なメッセージングアプリケーションに対する待ち行列メッセージサービス540C、電子メール/SMS管理サービス540D、及び種々のタイプのイベント通知をスケジューリングするための通知サービス540Eを含むことができる。いくつかの実施形態では、展開されるアプリケーションに対するヘルスモニタリングサービスも実施されても良く、種々の実施形態では、ADSによって管理される1つまたは複数のアプリケーションを監視するそのようなサービスのエージェントの構成を変更する要求も、カスタムチャネルを介して提出されても良い。異なる実施形態では、他のサービスがプロバイダネットワークにおいて実施されても良く、図5に示されたタイプのサービスのうちのいくつかが実施されなくても良い。
図5に示されたサービスの種々の組み合わせは、異なる実施形態では、ADSの展開関連タスクのために使用されても良い。カスタム通信チャネルが電子メールまたはSMSを使用する実施形態では、サービス540Dは、チャネルを確立及び管理するために使用されても良い。いくつかの実施形態では、データベースまたはストレージサービスは、それに対して、仮想コンピューティングサービス504Aの仮想マシンにおいてローカルに利用可能なストレージが不十分である管理対象アプリケーションに対して採用されても良い。1つの実施形態では、アプリケーションは、サービス550Aを使用して確立されるIVN内で展開されても良い。他の実施形態では、ADSの開発者またはクライアントは、IVNを利用することができ、すなわち、展開アーチファクトがIVN内のデバイスからADSに提出されても良い。少なくとも1つの実施形態では、カスタム通信チャネルは、指定されたIVN内から由来する提出のみが受理されることになるセキュリティ要件を有することがある。通知及びメッセージングサービスは、種々の実施形態では、アプリケーション間通信のため、及び特定の展開タスクがADSによって完了されるときを顧客に通知するために使用されても良い。図5に示されたサービスの各々は、複数のサービスによって共有されているリソースのうちのいくつかを有する、ハードウェア及び/またはソフトウェアリソースのいくつかのセットを使用して実施されても良い。
アプリケーションの展開のためにカスタム通信チャネルを使用する方法
図6は、少なくともいくつかの実施形態に従った、展開関連アーチファクトを送信するためのカスタムセキュア通信チャネルを構成及び使用するように実行することができるオペレーションの態様を示すフローチャートである。要素601で示されるように、1つまたは複数の管理対象アプリケーションの展開関連アーチファクトを送信するために使用されることになるセキュアなカスタマイズされた通信チャネルをセットアップする要求は、プロバイダネットワークの展開サービスの制御プレーンコンポーネントにおいて受信されても良い。セットアップ要求は、使用されることになる通信機構のタイプ、セットアップされることになるエンドポイントの数、及びエンドポイントを介して受信されるメッセージに応答して実行されることになる外部セキュリティ確認段階(ある場合)など、チャネルの種々の特性を示すことができる。
ADS制御プレーンコンポーネントは、記述される実施形態では、受信されるセットアップ要求に関して1つまたは複数の認証及び/または認可チェックを実行することができ、また、受理されることになる要求に対して十分なリソースが利用可能であることを確認することができる。要求が実施に対して受理される場合、ADSコンポーネントは、電子メールサービスまたはSMS/テキスティングサービスなどのプロバイダネットワーク内で、及び/またはその外部で、1つまたは複数の他のサービスまたはプロバイダとの要求されたチャネルの確立を調整することができる(要素604)。図3に示されたものと同様の内容を有するメタデータレコードは、種々の実施形態では、ADSによって、またはその代わりに作成及び記憶されても良い。例えば、承認された提出者のホワイトリストを表すエントリ、種々のエンドポイントに対するセキュリティルール、提出者及び受信者のロールなどは、ADS及び/またはチャネルをセットアップもしくは管理することに関与する他のエンティティのメタデータリポジトリに記憶されても良い。
1つまたは複数のエンドポイントのセット(例えば、ファイル転送のために使用されることになる電子メールアドレス、IPアドレス及びポートの組み合わせ、またはSMS/テキスティング宛先など)は、チャネルの要求者に提供されても良い(要素607)。いくつかの実施形態では、エンドポイントのセットは、分割されても良く、例えば、エンドポイントの1つのグループは、ホワイトリスト化された提出者の1つのグループに対して指定されても良く、エンドポイントの異なるグループは、ホワイトリスト化された提出者の別のグループに対して指定されても良い。エンドポイントはさらに、または代わりに、いくつかの実施形態では、それらの意図された使用または機能に基づいて、例えば、エンドポイントを介して受信されるメッセージに応答して実行される必要がある場合がある展開タスクのカテゴリに基づいて分割されても良い。例えば、いくつかのエンドポイントは、ソースコードの提出に対して唯一指定されても良く、その他は、構成関連アーチファクトの提出に対して指定されても良い。ソースコードの提出について(アプリケーションのプログラミング言語及び/またはランタイム環境に応じて)、いくつかの実施形態では、展開タスクは、提出されるファイルのバージョンをリポジトリに複製/記憶すること、ファイルをコンパイルすること、及び/または提出されるファイルの実行可能なバージョンを実行プラットフォームのセットに複製することを含むことができる。構成関連の提出について、展開タスクは、構成ファイルまたはアプリケーションメタデータレコードを更新すること、1つまたは複数の処理を再開すること、及びリソースを割り当て、または廃止(de−commissioning)することなどを含むことができる。
カスタム通信チャネルのセットアップ段階が完了した後、クライアントは、チャネルのエンドポイントを介して展開関連アーチファクトを提出していることがある。1つまたは複数のアーチファクトを含む特定のメッセージは、エンドポイントにおいて受信されても良い(要素610)。アーチファクトの種別は、管理対象アプリケーションの言語及びランタイムの特徴に基づいて異なることがある。例えば、いくつかのアプリケーションについて、アプリケーションを全体として表す実行可能ファイル(例えば、.jarファイルもしくは.warファイルの形式にある)、アプリケーションの一部を形成する1つもしくは複数の実行可能モジュール、展開の前にコンパイルされる必要がある場合がある1つもしくは複数のソースコードファイル、コンパイルが必要でない1つもしくは複数のソースファイル、アプリケーションの調節可能なパラメータを統制する構成ファイル、及び/またはアプリケーションに対するリソースの割り当てを制御する構成ファイルは全て、正当な種別のアーチファクトであると考えられても良い。他のアプリケーションについて、それらのタイプの展開関連アーチファクトのサブセットのみが、カスタムチャネルを介して送信可能であっても良く、例えば、アプリケーションの開発者がチャネルを介していくつかのタイプのソースコードの変更を提出することを許可されても良く、大規模な構成変更が許可されなくても良い。
メッセージを受信するADSコンポーネントは、その内容を構文解析し、展開関連アーチファクトを抽出及び分析し、どの展開タスクがメッセージにおけるアーチファクトの種別に基づいて実行されることになるかを決定することができる。いくつかの実施形態では、メッセージは、提出されるアーチファクトを使用して実行されることになる展開ワークフローまたはタスクを示すADSへの明確な指示を含むことができる。ADSコンポーネントは任意選択で、アーチファクト(または、メッセージに対応するタスク)がチャネルまたはエンドポイントと関連付けられることがあるいかなるデータ転送制約にも違反しないことを保証することができる(要素613)。記述される実施形態では、ADSコンポーネントはまた、任意選択で、メッセージの内容に基づいて、展開タスクが開始される前に任意の追加のセキュリティ確認オペレーション(多者または多段階認証など)が実行されることになるかを決定することができる(要素613でも示されるように)。多段階認証技術では、ADSは、1つまたは複数の追加の確認メッセージが受信されるまで(例えば、ADSからのチャレンジに応答して提出者から)、メッセージの内容に基づいてアプリケーション展開へのいかなる変更も実施しないことがある。多段階多者認証プロトコルでは、メッセージの送信者が信頼できることになる(少なくとも、受信されるメッセージで示されるアーチファクトまたはアーチファクト(複数)に関して)確認は、例えば、ADSによって送信される確認の問い合わせに応答して、いくつかの他の信頼できるパーティからADSにおいて取得される必要がある場合がある。いくつかの実施形態では、実行されるセキュリティオペレーションは、アーチファクトの内容またはタイプに基づいて異なることがあり、例えば、重要な構成変更を示すいくつかのアーチファクトは、ファイルにコメントを追加し、またはファイルへの僅かな変更を行うにすぎないことがある他のアーチファクトよりもさらに厳格なセキュリティチェックを要求することがある。提出されるメッセージが指定された基準を満たすとADSコンポーネントが決定する場合、提出されるメッセージと関連付けられた展開タスクは、種々の実施形態では、追加のセキュリティチェックなしに開始されても良い。いくつかの実施形態では、実行されることになるセキュリティチェックは、提出者の識別子に少なくとも部分的に基づいて決定されても良く、例えば、特定の開発者のソースコードへの変更は、追加のセキュリティ確認なしに受理されても良い。
いずれかの要求される追加のセキュリティ段階が完了した後(または、そのようなオペレーションが必要とされない場合)、要求されるワークフローが開始されても良い(要素616)。上述したように、ワークフローの一部として実行される展開タスクは、例えば、アーチファクトのバージョンをリポジトリに保存すること、1つまたは複数のファイルに対するコードの階層内の適切な位置を決定し、決定された位置にファイルを記憶すること、1つまたは複数のファイルをコンパイルすること、1つまたは複数の処理を再開すること、展開されるアプリケーションに対する追加のリソースを割り当て及び構成すること、ならびに展開されるアプリケーションに対する1つまたは複数の前に割り当てられたリソースを廃止することなどを含むことができる。要素610、613及び616に対応するオペレーションは、カスタムチャネルのエンドポイントを介して受信されるメッセージごとに繰り返されても良い。
種々の実施形態では、図6に示された種別のオペレーションのうちのいくつかは、示されたものとは異なる順序で実施されても良く、または順番にではなく並列に実行されても良い(例えば、連続して)ことに留意されたい。例えば、カスタムチャネルのエンドポイントを介して提出されるいくつかの異なるメッセージを処理することが並列して実行されても良い。いくつかの実施形態では、図6に示されたオペレーションのうちのいくつかは、実施されなくても良く、または示されない追加のオペレーションが実行されても良い。
ユースケース
アーチファクトをアプリケーション展開サービスに提出するためのカスタマイズされた通信チャネルを確立する上記説明された技術は、様々なシナリオで有用となることがある。大規模なソフトウェア開発及び品質保証チームは、複合的なソフトウェアプログラムを記述し、その検証を開始するために多くの異なるタイプのコンピューティングデバイスを使用して、世界中に分散された従業員を含むことが多々ある。そのようなチームは、拡張可能なインフラストラクチャを活用し、リソース割り当て及びリソースのヘルス管理の責任を移譲するためにプロバイダネットワークのアプリケーション展開サービスの機能を利用することが多々ある。管理コンソールなどのデフォルトのチャネルの使用を含む硬直的な提出プロトコルに従う全ての提出を必要とする代わりに、展開サービスがソースコード及び/または構成変更の提出のための様々なカスタマイズ可能なチャネルの確立をサポートする場合、これは、開発及び品質保証チームの生産性を高めることができる。
例示的なコンピュータシステム
少なくともいくつかの実施形態では、展開サービス(展開サービスの種々の制御プレーン及び/もしくはデータプレーンコンポーネントならびに/または管理対象アプリケーションを展開及び実行するために使用されるリソースを含む)へのアーチファクトの提出のためのカスタム通信チャネルの確立及び使用をサポートする上記説明された技術のうちの1つまたは複数を実施するサーバは、1つまたは複数のコンピュータアクセス可能媒体を含み、またはそれにアクセスするように構成された汎用コンピュータシステムを含むことができる。図7は、そのような汎用コンピューティングデバイス9000を示す。示される実施形態では、コンピューティングデバイス9000は、入力/出力(I/O)インタフェース9030を介してシステムメモリ9020(不揮発性メモリモジュール及び揮発性メモリモジュールの両方を含むことができる)に結合された1つまたは複数のプロセッサ9010を含む。コンピューティングデバイス9000はさらに、I/Oインタフェース9030に結合されたネットワークインタフェース9040を含む。
種々の実施形態では、コンピューティングデバイス9000は、1つのプロセッサ9010を含むユニプロセッサシステム、またはいくつかのプロセッサ9010(例えば、2つ、4つ、8つ、もしくは別の適切な数)を含むマルチプロセッサシステムであっても良い。プロセッサ9010は、命令を実行することが可能ないずれかの適切なプロセッサであっても良い。例えば、種々の実施形態では、プロセッサ9010は、様々な命令セットアーキテクチャ(ISA)、例えば、x86、PowerPC、SPARC、もしくはMIPS ISA、またはいずれかの他の適切なISAなどのうちのいずれかを実施する汎用または組み込みプロセッサであっても良い。マルチプロセッサシステムでは、プロセッサ9010の各々は、通常、同一のISAを実施するが必ずしもそうではない。いくつかの実施態様では、従来のプロセッサの代わりに、またはそれに加えてグラフィックプロセシングユニット(GPU)が使用されても良い。
システムメモリ9020は、プロセッサ(複数可)9010によってアクセス可能な命令及びデータを記憶するように構成されても良い。少なくともいくつかの実施形態では、システムメモリ9020は、揮発性及び不揮発性の部分の両方を含むことができ、他の実施形態では、揮発性メモリのみが使用されても良い。種々の実施形態では、システムメモリ9020の揮発性の部分は、スタティックランダムアクセスメモリ(SRAM)、シンクロナスダイナミックRAM、またはいずれかの他のタイプのメモリなどのいずれかの適切なメモリ技術を使用して実施されても良い。システムメモリの不揮発性の部分(例えば、1つまたは複数のNVDIMMを含むことができる)について、いくつかの実施形態では、NANDフラッシュデバイスを含むフラッシュベースのメモリデバイスが使用されても良い。少なくともいくつかの実施形態では、システムメモリの不揮発性の部分は、超コンデンサまたは他の電力貯蔵デバイス(例えば、バッテリ)などの電源を含むことができる。種々の実施形態では、メモリスタベースの抵抗変化型メモリ(ReRAM)、3次元NAND技術、Ferroelectric RAM、磁気抵抗RAM(MRAM)、または種々のタイプの相変化メモリ(PCM)のうちのいずれかが、少なくともシステムメモリの不揮発性の部分に対して使用されても良い。示される実施形態では、上記説明されたそれらの方法、技術、及びデータなどの1つまたは複数の所望の機能を実施するプログラム命令及びデータは、コード9025及びデータ9026としてシステムメモリ9020内に記憶されるように示される。
1つの実施形態では、I/Oインタフェース9030は、プロセッサ9010、システムメモリ9020、ネットワークインタフェース9040、または種々のタイプの永続的及び揮発性記憶装置などの他の周辺インタフェースの間のI/Oトラフィックを調整するように構成されても良い。いくつかの実施形態では、I/Oインタフェース9030は、データ信号を1つのコンポーネント(例えば、システムメモリ9020)から別のコンポーネント(例えば、プロセッサ9010)による使用に適切な形式に変換するためのいずれかの必要なプロトコル、タイミング、または他のデータ変換を実行することができる。いくつかの実施形態では、I/Oインタフェース9030は、例えば、Low Pin Count(LPC)バス、ペリフェラルコンポーネントインターコネクト(PCI)バス標準またはユニバーサルシリアルバス(USB)標準の変形型などの種々のタイプの周辺バスを通じて取り付けられたデバイスに対するサポートを含むことができる。いくつかの実施形態では、I/Oインタフェース9030の機能は、例えば、ノースブリッジ及びサウスブリッジなどの2つ以上の別個のコンポーネントに分離されても良い。さらに、いくつかの実施形態では、システムメモリ9020へのインタフェースなどのI/Oインタフェース9030の機能のうちのいくつかまたは全ては、プロセッサ9010に直接組み込まれても良い。
ネットワークインタフェース9040は、コンピューティングデバイス9000と、例えば、図1乃至図6に示されたような他のコンピュータシステムまたはデバイスなど、ネットワークまたはネットワーク(複数)9050に接続された他のデバイス9060との間でデータが交換されることを可能にするように構成されても良い。種々の実施形態では、ネットワークインタフェース9040は、例えば、イーサネット(登録商標)ネットワークのタイプなどのいずれかの適切な有線または無線汎用データネットワークを介した通信をサポートすることができる。加えて、ネットワークインタフェース9040は、アナログ音声ネットワークもしくはデジタルファイバ通信ネットワークなどの電気通信/電話ネットワークを介して、ファイバチャネルSANなどのストレージエリアネットワークを介して、またはいずれかの他の適切なタイプのネットワーク及び/もしくはプロトコルを介した通信をサポートすることができる。
いくつかの実施形態では、システムメモリ9020は、対応する方法及び装置の実施形態を実施するための図1乃至図6について上記説明されたようなプログラム命令及びデータを記憶するように構成されたコンピュータアクセス可能媒体の1つの実施形態とすることができる。しかしながら、他の実施形態では、プログラム命令及び/またはデータは、異なるタイプのコンピュータアクセス可能媒体上で受信、送信、または記憶されても良い。一般的に言うと、コンピュータアクセス可能媒体は、I/Oインタフェース9030を介してコンピューティングデバイス9000に結合された磁気または光学媒体、例えば、ディスクまたはDVD/CDなどの非一時的記憶媒体またはメモリ媒体を含むことができる。非一時的コンピュータアクセス可能記憶媒体はまた、システムメモリ9020または別のタイプのメモリとしてコンピューティングデバイス9000のいくつかの実施形態に含めることができる、RAM(例えば、SDRAM、DDR、SDRAM、RDRAM、SRAMなど)、ROMなどのいずれかの揮発性または不揮発性媒体を含むことができる。さらに、コンピュータアクセス可能媒体は、ネットワークインタフェース9040を介して実施することができるネットワーク及び/または無線リンクなどの通信媒体を介して搬送される、電気、電磁気、またはデジタル信号などの伝送媒体または信号を含むことができる。図7に示されたような複数のコンピューティングデバイスのうちの一部または全ては、種々の実施形態における説明された機能を実施するために使用されても良く、例えば、様々な異なるデバイス及びサーバ上で稼働するソフトウェアコンポーネントは、機能を提供するために協働することができる。いくつかの実施形態では、説明された機能の一部は、汎用コンピュータシステムを使用して実施されることに加えて、またはその代わりに、記憶装置、ネットワークデバイス、または特殊目的コンピュータシステムを使用して実施されても良い。本明細書で使用されるように、用語「コンピューティングデバイス」は、少なくとも全てのそれらのタイプのデバイスを指し、それらのタイプのデバイスに限定されない。
結論
種々の実施形態はさらに、上述の説明に従って実施される命令及び/またはデータをコンピュータアクセス可能媒体上で受信すること、送信すること、及び/または記憶することを含むことができる。一般的に言うと、コンピュータアクセス可能媒体は、磁気または光学媒体、例えば、ディスクまたはDVD/CD−ROM、RAM(例えば、SDRAM、DDR、RDRAM、SRAMなど)、ROMなどの揮発性または不揮発性媒体とともに、ネットワーク及び/または無線リンクなどの通信媒体を介して搬送される、電気、電磁気、またはデジタル信号などの伝送媒体または信号を含むことができる。
上述したことは、以下の条項を考慮してより良く理解することができる。
1.プロバイダネットワークの複数のコンピューティングデバイスにおいて実施されるアプリケーション展開サービスの1つまたは複数のコンポーネントを備え、
前記1つまたは複数のコンポーネントは、
前記プロバイダネットワークの1つまたは複数の実行プラットフォームにおいて実行されることになる特定のアプリケーションの1つまたは複数の展開アーチファクトを送信するために1つまたは複数のクライアントによって使用されることになる通信チャネルに対する第1の要求を受信し、
前記1つまたは複数のクライアントと関連付けられた少なくとも1つの宛先に、通信チャネルの特定のエンドポイントの指示を送信し、前記特定のエンドポイントは、前記特定のアプリケーションと関連付けられた複数の展開タスクカテゴリのうちの少なくとも第1の展開タスクカテゴリと関連付けられた展開アーチファクトを送信するために使用されることになり、
前記1つまたは複数のクライアントの特定のクライアントによって前記特定のエンドポイントに向けられたメッセージからペイロードを抽出し、
前記ペイロードの検査に少なくとも部分的に基づいて、1つまたは複数のセキュリティ確認オペレーションが前記第1の展開タスクカテゴリの展開タスクの実施の前に実行されることになると決定し、
前記1つまたは複数のセキュリティ確認オペレーションが成功したと決定したことに応答して、前記展開タスクを実施し、前記展開タスクは、前記ペイロードで示される展開アーチファクトのバージョンをリポジトリに記憶することを含む、
ように構成される、システム。
2.前記1つまたは複数のコンポーネントは、
前記特定のエンドポイントにメッセージを提出することが認可される1つまたは複数の提出者のうちの第1のセットの表示、及び前記通信チャネルに対して確立される異なるエンドポイントにメッセージを提出することが認可される1つまたは複数の提出者のうちの第2のセットの表示を記憶するように構成される、条項1に記載のシステム。
3.前記1つまたは複数のコンポーネントは、
前記通信チャネルの第2のエンドポイントの確立を開始するように構成され、前記第2のエンドポイントは、前記複数の展開タスクカテゴリのうちの少なくとも第2の展開タスクカテゴリと関連付けられた展開アーチファクトを送信するために使用されることになる、条項1に記載のシステム。
4.前記1つまたは複数のセキュリティ確認オペレーションは、
(a)多段階認証プロトコルまたは(b)多者認証プロトコルのうちの1つまたは複数の使用を含む、条項1に記載のシステム。
5.前記複数の展開タスクカテゴリは、
(a)ソースコードを更新すること、(b)実行可能パッケージを展開すること、(c)アプリケーション構成設定を修正すること、または(d)アプリケーションを実行するために使用されるリソースセットを修正すること、のうちの1つまたは複数を含む、条項1に記載のシステム。
6.プロバイダネットワークの1つまたは複数のコンピューティングデバイスにおいて実施されるアプリケーション展開サービスにおいて、
特定のアプリケーションの1つまたは複数の展開アーチファクトを送信するために1つまたは複数のクライアントによって使用されることになる通信チャネルに対する第1の要求を受信することと、
前記1つまたは複数のクライアントと関連付けられた少なくとも1つの宛先に、通信チャネルの特定のエンドポイントの指示を送信することと、
前記特定のエンドポイントを介して受信される第1のメッセージに応答して、前記メッセージ及び前記特定のアプリケーションに対応する第1の展開タスクの実施の前に、1つまたは複数のセキュリティ確認オペレーションが実行されることになると決定することと、
前記1つまたは複数のセキュリティ確認オペレーションを完了したことに応答して、前記第1のメッセージで示される少なくとも第1のアーチファクトを使用して前記第1の展開タスクを実施することと、
を実行すること、を備える、方法。
7.前記特定のエンドポイントの前記指示は、
(a)電子メールアドレス、(b)ショートメッセージサービス(SMS)宛先アドレス、または(c)ファイル転送宛先アドレスのうちの1つを含む、条項6に記載の方法。
8.前記アプリケーション展開サービスによって、
前記特定のエンドポイントにメッセージを提出することが認可される1つまたは複数の提出者のうちの第1のセットの表示、及び前記通信チャネルに対して確立される異なるエンドポイントにメッセージを提出することが認可される1つまたは複数の提出者のうちの第2のセットの表示を記憶すること、を実行することをさらに備える、条項6に記載の方法。
9.前記第1の展開は、前記特定のアプリケーションの複数の展開タスクカテゴリの第1の展開タスクカテゴリに属し、前記アプリケーション展開サービスによって、
前記通信チャネルの第2のエンドポイントの確立を開始すること、を実行することをさらに備え、前記第2のエンドポイントは、前記複数の展開タスクカテゴリの少なくとも第2の展開タスクカテゴリと関連付けられた展開アーチファクトを送信するために使用されることになる、条項6に記載の方法。
10.前記複数の展開タスクカテゴリは、
(a)ソースコードを更新すること、(b)実行可能パッケージを展開すること、(c)アプリケーション構成設定を修正すること、または(d)アプリケーションを実行するために使用されるリソースセットを修正すること、のうちの1つまたは複数を含む、条項9に記載の方法。
11.前記1つまたは複数のセキュリティ確認オペレーションは、
(a)多段階認証プロトコル、または(b)多者認証プロトコル、のうちの1つまたは複数の使用を含む、条項6に記載の方法。
12.前記第1の展開タスクを前記実施することは、
前記第1のメッセージに含まれる特定のソースコードファイルが記憶されることになるソースコードの階層内の特定の位置を決定することと、
前記特定のソースコードファイルを前記特定の位置に記憶することと、
前記特定のソースコードファイルを使用して、前記特定のアプリケーションの実行可能バージョンを生成することと、
前記実行可能バージョンを使用して、1つまたは複数の実行プラットフォームにおいて前記特定のアプリケーションの実行をインスタンス化することと、を含む、条項6に記載の方法。
13.前記アプリケーション展開サービスによって、
前記特定のエンドポイントにおいて第2のメッセージを受信することに応答して、前記第2のメッセージで示される第2の展開タスクを実施する前に、スケジュールされることになる追加のセキュリティ確認オペレーションがないと決定すること、を実行することをさらに備える、条項6に記載の方法。
14.前記アプリケーション展開サービスによって、
プログラムインタフェースを介して、前記特定のアプリケーションと関連付けられた認可されたエンティティが、前記通信チャネルを介して展開アーチファクトを提出する前記1つまたは複数のクライアントの権利を取り消したことの指示を受信することと、
前記特定のエンドポイントにおいて前記指示に続く第2のメッセージを受信したことに応答して、前記第2のメッセージを破棄することと、を実行することをさらに備える、条項6に記載の方法。
15.前記アプリケーション展開サービスによって、
前記第2のメッセージが、前記特定のエンドポイントと関連付けられた1つまたは複数のデータ転送制約に違反すると決定したことに少なくとも部分的に基づいて、前記特定のエンドポイントに向けられた第2のメッセージを拒否すること、を実行することをさらに備える、条項6に記載の方法。
16.1つまたは複数のプロセッサ上で実行されるときに、アプリケーション展開サービスの1つまたは複数のコンポーネントを実施するプログラム命令を記憶する、非一時的コンピュータアクセス可能記憶媒体であって、
特定のアプリケーションの1つまたは複数の展開アーチファクトを送信するために1つまたは複数のクライアントによって使用されることになる通信チャネルに対する第1の要求を受信し、
前記1つまたは複数のクライアントと関連付けられた少なくとも1つの宛先に、通信チャネルの特定のエンドポイントの指示を送信し、
前記特定のエンドポイントを介して受信される第1のメッセージに応答して、前記メッセージ及び前記特定のアプリケーションに対応する第1の展開タスクの実施の前に、1つまたは複数のセキュリティ確認オペレーションが実行されることになると決定し、
前記1つまたは複数のセキュリティ確認オペレーションが完了したことに応答して、前記第1のメッセージで示される少なくとも第1のアーチファクトを使用して前記第1の展開タスクを実施する、
前記非一時的コンピュータアクセス可能記憶媒体。
17.前記特定のエンドポイントの前記指示は、
(a)電子メールアドレス、(b)ショートメッセージサービス(SMS)宛先アドレス、または(c)ファイル転送宛先アドレスのうちの1つを含む、条項16に記載の非一時的コンピュータアクセス可能記憶媒体。
18.前記アプリケーション展開サービスの前記1つまたは複数のコンポーネントは、
前記特定のエンドポイントにメッセージを提出することが認可される1つまたは複数の提出者のうちの第1のセットの表示、及び前記通信チャネルに対して確立される異なるエンドポイントにメッセージを提出することが認可される1つまたは複数の提出者のうちの第2のセットの表示、を記憶するようにさらに構成される、条項16に記載の非一時的コンピュータアクセス可能記憶媒体。
19.前記第1の展開タスクは、前記特定のアプリケーションの複数の展開タスクカテゴリの第1の展開タスクカテゴリに属し、前記アプリケーション展開サービスの前記1つまたは複数のコンポーネントは、
前記通信チャネルの第2のエンドポイントの確立を開始するようにさらに構成され、前記第2のエンドポイントは、前記複数の展開タスクカテゴリの少なくとも第2の展開タスクカテゴリと関連付けられた展開アーチファクトを送信するために使用されることになる、条項16に記載の非一時的コンピュータアクセス可能記憶媒体。
20.前記複数の展開タスクカテゴリは、
(a)ソースコードを更新すること、(b)実行可能パッケージを展開すること、(c)アプリケーション構成設定を修正すること、または(d)アプリケーションを実行するために使用されるリソースセットを修正することのうちの1つまたは複数を含む、条項19に記載の非一時的コンピュータアクセス可能記憶媒体。
図面で示され、本明細書で説明された種々の方法は、方法の例示的な実施形態を表している。方法は、ソフトウェア、ハードウェア、またはそれらの組み合わせで実施されても良い。方法の順序は変更されても良く、種々の要素が追加、再順序付け、結合、省略、修正などがされても良い。
この開示の利点を有することが当業者に明白であるので、種々の修正及び変更がなされても良い。全てのそのような修正及び変更を含むことを意図しており、したがって、上記説明が限定的な意味ではなく、例示的であると考えられることになる。

Claims (15)

  1. プロバイダネットワークの複数のコンピューティングデバイスにおいて実施されるアプリケーション展開サービスの1つまたは複数のコンポーネントを備え、
    前記1つまたは複数のコンポーネントは、
    前記プロバイダネットワークの1つまたは複数の実行プラットフォームにおいて実行されることになる特定のアプリケーションの1つまたは複数の展開アーチファクトを送信するために1つまたは複数のクライアントによって使用されることになる通信チャネルに対する第1の要求を受信し、
    前記1つまたは複数のクライアントと関連付けられた少なくとも1つの宛先に、通信チャネルの特定のエンドポイントの指示を送信し、前記特定のエンドポイントは、前記特定のアプリケーションと関連付けられた複数の展開タスクカテゴリのうちの少なくとも第1の展開タスクカテゴリと関連付けられた展開アーチファクトを送信するために使用されることになり、
    前記1つまたは複数のクライアントの特定のクライアントによって前記特定のエンドポイントに向けられたメッセージからペイロードを抽出し、
    前記ペイロードの検査に少なくとも部分的に基づいて、1つまたは複数のセキュリティ確認オペレーションが前記第1の展開タスクカテゴリの展開タスクの実施の前に実行されることになると決定し、
    前記1つまたは複数のセキュリティ確認オペレーションが成功したと決定したことに応答して、前記展開タスクを実施し、前記展開タスクは、前記ペイロードで示される展開アーチファクトのバージョンをリポジトリに記憶することを含む
    ように構成される、システム。
  2. 前記1つまたは複数のコンポーネントは、
    前記特定のエンドポイントにメッセージを提出することが認可される1つまたは複数の提出者のうちの第1のセットの表示、及び前記通信チャネルに対して確立される異なるエンドポイントにメッセージを提出することが認可される1つまたは複数の提出者のうちの第2のセットの表示を記憶するように構成される、請求項1に記載のシステム。
  3. 前記1つまたは複数のコンポーネントは、
    前記通信チャネルの第2のエンドポイントの確立を開始するように構成され、前記第2のエンドポイントは、前記複数の展開タスクカテゴリのうちの少なくとも第2の展開タスクカテゴリと関連付けられた展開アーチファクトを送信するために使用されることになる、請求項1に記載のシステム。
  4. 前記1つまたは複数のセキュリティ確認オペレーションは、
    (a)多段階認証プロトコルまたは(b)多者認証プロトコルのうちの1つまたは複数の使用を含む、請求項1に記載のシステム。
  5. 前記複数の展開タスクカテゴリは、
    (a)ソースコードを更新すること、(b)実行可能パッケージを展開すること、(c)アプリケーション構成設定を修正すること、または(d)アプリケーションを実行するために使用されるリソースセットを修正すること、のうちの1つまたは複数を含む、請求項1に記載のシステム。
  6. プロバイダネットワークの1つまたは複数のコンピューティングデバイスにおいて実施されるアプリケーション展開サービスにおいて、
    特定のアプリケーションの1つまたは複数の展開アーチファクトを送信するために1つまたは複数のクライアントによって使用されることになる通信チャネルに対する第1の要求を受信することと、
    前記1つまたは複数のクライアントと関連付けられた少なくとも1つの宛先に、通信チャネルの特定のエンドポイントの指示を送信することと、
    前記特定のエンドポイントを介して受信される第1のメッセージに応答して、前記第1のメッセージ及び前記特定のアプリケーションに対応する第1の展開タスクの実施の前に、1つまたは複数のセキュリティ確認オペレーションが実行されることになると決定することと、
    前記1つまたは複数のセキュリティ確認オペレーションを完了したことに応答して、前記第1のメッセージで示される少なくとも第1のアーチファクトを使用して前記第1の展開タスクを実施することと、
    を実行すること、を備える、方法。
  7. 前記特定のエンドポイントの前記指示は、
    (a)電子メールアドレス、(b)ショートメッセージサービス(SMS)宛先アドレス、または(c)ファイル転送宛先アドレスのうちの1つを含む、請求項6に記載の方法。
  8. 前記アプリケーション展開サービスによって、
    前記特定のエンドポイントにメッセージを提出することが認可される1つまたは複数の提出者のうちの第1のセットの表示、及び前記通信チャネルに対して確立される異なるエンドポイントにメッセージを提出することが認可される1つまたは複数の提出者のうちの第2のセットの表示を記憶すること、を実行することをさらに備える、請求項6に記載の方法。
  9. 前記第1の展開タスクは、前記特定のアプリケーションの複数の展開タスクカテゴリの第1の展開タスクカテゴリに属し、前記アプリケーション展開サービスによって、
    前記通信チャネルの第2のエンドポイントの確立を開始すること、を実行することををさらに備え、前記第2のエンドポイントは、前記複数の展開タスクカテゴリの少なくとも第2の展開タスクカテゴリと関連付けられた展開アーチファクトを送信するために使用されることになる、請求項6に記載の方法。
  10. 前記1つまたは複数のセキュリティ確認オペレーションは、
    (a)多段階認証プロトコル、または(b)多者認証プロトコル、のうちの1つまたは複数の使用を含む、請求項6に記載の方法。
  11. 前記第1の展開タスクを前記実施することは、
    前記第1のメッセージに含まれる特定のソースコードファイルが記憶されることになるソースコードの階層内の特定の位置を決定することと、
    前記特定のソースコードファイルを前記特定の位置に記憶することと、
    前記特定のソースコードファイルを使用して、前記特定のアプリケーションの実行可能バージョンを生成することと、
    前記実行可能バージョンを使用して、1つまたは複数の実行プラットフォームにおいて前記特定のアプリケーションの実行をインスタンス化することと、を含む、請求項6に記載の方法。
  12. 前記アプリケーション展開サービスによって、
    前記特定のエンドポイントにおいて第2のメッセージを受信したことに応答して、前記第2のメッセージで示される第2の展開タスクを実施する前に、スケジュールされることになる追加のセキュリティ確認オペレーションがないと決定すること、を実行することをさらに備える、請求項6に記載の方法。
  13. 前記アプリケーション展開サービスによって、
    プログラムインタフェースを介して、前記特定のアプリケーションと関連付けられた認可されたエンティティが、前記通信チャネルを介して展開アーチファクトを提出する前記1つまたは複数のクライアントの権利を取り消したことの指示を受信することと、
    前記特定のエンドポイントにおいて前記指示に続く第2のメッセージを受信したことに応答して、前記第2のメッセージを破棄することと、を実行することをさらに備える、請求項6に記載の方法。
  14. 前記アプリケーション展開サービスによって、
    第2のメッセージが前記特定のエンドポイントと関連付けられた1つまたは複数のデータ転送制約に違反すると決定したことに少なくとも部分的に基づいて、前記特定のエンドポイントに向けられた前記第2のメッセージを拒否すること、を実行することをさらに備える、請求項6に記載の方法。
  15. 1つまたは複数のプロセッサと、
    1つまたは複数のメモリと、を備え、
    前記1つまたは複数のメモリは、前記1つまたは複数のプロセッサ上で実行されるときに、
    特定のアプリケーションの1つまたは複数の展開アーチファクトを送信するために1つまたは複数のクライアントによって使用されることになる通信チャネルに対する第1の要求を受信し、
    前記1つまたは複数のクライアントと関連付けられた少なくとも1つの宛先に、通信チャネルの特定のエンドポイントの指示を送信し、
    前記特定のエンドポイントを介して受信される第1のメッセージに応答して、前記第1のメッセージ及び前記特定のアプリケーションに対応する第1の展開タスクの実施の前に、1つまたは複数のセキュリティ確認オペレーションが実行されることになると決定し、
    前記1つまたは複数のセキュリティ確認オペレーションが完了したことに応答して、前記第1のメッセージで示される少なくとも第1のアーチファクトを使用して前記第1の展開タスクを実施する、
    ように構成される、アプリケーション展開サービスの1つまたは複数のコンポーネントを実施するプログラム命令を記憶する、システム。
JP2018511367A 2015-05-19 2016-05-19 アプリケーションの展開のためのカスタム通信チャネル Active JP6411698B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/716,700 US10749985B2 (en) 2015-05-19 2015-05-19 Custom communication channels for application deployment
US14/716,700 2015-05-19
PCT/US2016/033319 WO2016187450A1 (en) 2015-05-19 2016-05-19 Custom communication channels for application deployment

Publications (2)

Publication Number Publication Date
JP2018523248A true JP2018523248A (ja) 2018-08-16
JP6411698B2 JP6411698B2 (ja) 2018-10-24

Family

ID=56119753

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018511367A Active JP6411698B2 (ja) 2015-05-19 2016-05-19 アプリケーションの展開のためのカスタム通信チャネル

Country Status (8)

Country Link
US (1) US10749985B2 (ja)
EP (1) EP3298757B1 (ja)
JP (1) JP6411698B2 (ja)
KR (1) KR102045136B1 (ja)
CN (1) CN107637042B (ja)
AU (1) AU2016264496C1 (ja)
CA (1) CA2986230C (ja)
WO (1) WO2016187450A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9882968B1 (en) 2014-12-09 2018-01-30 Amazon Technologies, Inc. Virtual network interface multiplexing
US10749808B1 (en) 2015-06-10 2020-08-18 Amazon Technologies, Inc. Network flow management for isolated virtual networks
US9910652B2 (en) * 2015-11-30 2018-03-06 International Business Machines Corporation Deploying applications
US10157215B2 (en) * 2016-01-13 2018-12-18 American Express Travel Related Services Company, Inc. System and method for managing data and updates to a database structure
US10158727B1 (en) 2016-03-16 2018-12-18 Equinix, Inc. Service overlay model for a co-location facility
US10348556B2 (en) * 2016-06-02 2019-07-09 Alibaba Group Holding Limited Method and network infrastructure for a direct public traffic connection within a datacenter
US20180189054A1 (en) * 2016-12-29 2018-07-05 Arvind Varma Kalidindi Automated platform re-creation system
CN108287723B (zh) * 2016-12-30 2022-07-12 华为技术有限公司 一种应用交互方法、装置、物理机及系统
US10809989B2 (en) * 2017-05-05 2020-10-20 Servicenow, Inc. Service release tool
US10812974B2 (en) * 2017-05-06 2020-10-20 Vmware, Inc. Virtual desktop client connection continuity
US10142222B1 (en) * 2017-06-13 2018-11-27 Uber Technologies, Inc. Customized communications for network systems
US10530632B1 (en) 2017-09-29 2020-01-07 Equinix, Inc. Inter-metro service chaining
US11188355B2 (en) * 2017-10-11 2021-11-30 Barefoot Networks, Inc. Data plane program verification
US11082338B1 (en) 2018-04-17 2021-08-03 Amazon Technologies, Inc. Distributed connection state tracking for large-volume network flows
US11010150B2 (en) * 2018-04-18 2021-05-18 Verizon Media Inc. System and method for performing device updates
US10834044B2 (en) 2018-09-19 2020-11-10 Amazon Technologies, Inc. Domain name system operations implemented using scalable virtual traffic hub
CN115277816B (zh) * 2019-04-16 2023-10-20 创新先进技术有限公司 服务适配方法、设备、系统以及计算机可读介质
US11088944B2 (en) 2019-06-24 2021-08-10 Amazon Technologies, Inc. Serverless packet processing service with isolated virtual network integration
US11296981B2 (en) 2019-06-24 2022-04-05 Amazon Technologies, Inc. Serverless packet processing service with configurable exception paths
US10848418B1 (en) 2019-06-24 2020-11-24 Amazon Technologies, Inc. Packet processing service extensions at remote premises
US11936638B2 (en) * 2019-06-28 2024-03-19 Salesforce Inc. Link protocol agents for inter-application communications
CN112579099A (zh) * 2019-09-30 2021-03-30 北京国双科技有限公司 代码的部署方法、装置、存储介质及电子设备
US11194601B2 (en) * 2019-12-31 2021-12-07 Microsoft Technology Licensing, Llc Dynamic integration checklist for development platform
US11153195B1 (en) 2020-06-08 2021-10-19 Amazon Techologies, Inc. Packet processing service configuration change propagation management
US11689473B2 (en) * 2020-07-24 2023-06-27 Oracle International Corporation Pre-allocating resources with hierarchy-based constraints
CN114003346A (zh) * 2021-11-12 2022-02-01 深圳前海微众银行股份有限公司 任务处理方法、设备、存储介质及程序产品
CN116527406B (zh) * 2023-07-03 2023-09-12 北京左江科技股份有限公司 一种基于fpga的多主机的安全系统和通信方法
CN116760913B (zh) * 2023-08-18 2023-12-01 明阳时创(北京)科技有限公司 k8s集群协议转换平台配置下发方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217342A (ja) * 2008-03-07 2009-09-24 Nec Corp ソフトウェアのインストールシステム及びその方法
JP2011529211A (ja) * 2008-05-05 2011-12-01 アップル インコーポレイテッド ネットワーク配信のためのアプリケーション・プログラムの電子申請

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6754709B1 (en) * 2000-03-29 2004-06-22 Microsoft Corporation Application programming interface and generalized network address translator for intelligent transparent application gateway processes
US20070192863A1 (en) 2005-07-01 2007-08-16 Harsh Kapoor Systems and methods for processing data flows
US6901446B2 (en) * 2001-02-28 2005-05-31 Microsoft Corp. System and method for describing and automatically managing resources
US20020178254A1 (en) 2001-05-23 2002-11-28 International Business Machines Corporation Dynamic deployment of services in a computing network
US20070061277A1 (en) 2003-09-05 2007-03-15 International Business Machines Corporation Method, system, and storage medium for providing dynamic deployment of grid services over a computer network
US7660879B2 (en) 2004-05-20 2010-02-09 Ananthan Bala Srinivasan System and method for application deployment service
US7735097B2 (en) 2004-05-24 2010-06-08 Sap Ag Method and system to implement a deploy service to perform deployment services to extend and enhance functionalities of deployed applications
US7950010B2 (en) 2005-01-21 2011-05-24 Sap Ag Software deployment system
US8745583B2 (en) * 2006-03-31 2014-06-03 Sap Ag Method and system for managing development components
US20080096507A1 (en) * 2006-10-24 2008-04-24 Esa Erola System, apparatus and method for creating service accounts and configuring devices for use therewith
US8032528B2 (en) * 2007-01-12 2011-10-04 About Inc. Method and system for managing content submission and publication of content
WO2008116137A2 (en) * 2007-03-22 2008-09-25 Nielsen Media Research, Inc. Digital rights management and audience measurement systems and methods
WO2009032710A2 (en) * 2007-08-29 2009-03-12 Nirvanix, Inc. Filing system and method for data files stored in a distributed communications network
US8893141B2 (en) * 2008-01-28 2014-11-18 Microsoft Corporation System and method for describing applications for manageability and efficient scale-up deployment
EP2365677B1 (en) * 2010-03-03 2020-04-08 BlackBerry Limited Method, system and apparatus for configuring a device for interaction with a server
CN103947140B (zh) 2011-09-20 2017-09-29 以太杰作有限责任公司 用于位置无关软件的需求驱动的部署的系统和方法
WO2013044138A1 (en) * 2011-09-21 2013-03-28 Twilio, Inc. System and method for authorizing and connecting application developers and users
US8984162B1 (en) 2011-11-02 2015-03-17 Amazon Technologies, Inc. Optimizing performance for routing operations
US8726264B1 (en) 2011-11-02 2014-05-13 Amazon Technologies, Inc. Architecture for incremental deployment
CN104854558B (zh) 2012-12-14 2018-10-23 瑞典爱立信有限公司 用于使用编译和部署服务进行软件构建和负载处理的系统、方法和计算机程序产品
US9189285B2 (en) 2012-12-14 2015-11-17 Microsoft Technology Licensing, Llc Scalable services deployment
US20150066919A1 (en) * 2013-08-27 2015-03-05 Objectvideo, Inc. Systems and methods for processing crowd-sourced multimedia items
US9311076B2 (en) * 2014-01-22 2016-04-12 Linkedin Corporation Systems and methods for enforcing code reviews
US9135458B1 (en) * 2014-02-23 2015-09-15 Aitheras, LLC. Secure file transfer systems and methods
US9886254B2 (en) * 2015-01-06 2018-02-06 Oracle International Corporation Incremental provisioning of cloud-based modules

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217342A (ja) * 2008-03-07 2009-09-24 Nec Corp ソフトウェアのインストールシステム及びその方法
JP2011529211A (ja) * 2008-05-05 2011-12-01 アップル インコーポレイテッド ネットワーク配信のためのアプリケーション・プログラムの電子申請

Also Published As

Publication number Publication date
CN107637042A (zh) 2018-01-26
AU2016264496B2 (en) 2018-11-29
US20160344798A1 (en) 2016-11-24
JP6411698B2 (ja) 2018-10-24
CN107637042B (zh) 2020-09-29
KR102045136B1 (ko) 2019-12-02
AU2016264496A1 (en) 2017-12-07
WO2016187450A1 (en) 2016-11-24
US10749985B2 (en) 2020-08-18
AU2016264496C1 (en) 2019-04-04
CA2986230C (en) 2021-08-10
KR20180004802A (ko) 2018-01-12
CA2986230A1 (en) 2016-11-24
EP3298757A1 (en) 2018-03-28
EP3298757B1 (en) 2022-04-27

Similar Documents

Publication Publication Date Title
JP6411698B2 (ja) アプリケーションの展開のためのカスタム通信チャネル
US11023301B1 (en) Unified API platform
JP7203444B2 (ja) 代替サーバ名を使用する相互トランスポート層セキュリティを選択的に提供すること
US11240241B2 (en) Discovery and mapping of a cloud-based authentication, authorization, and user management service
Calcote et al. Istio: Up and running: Using a service mesh to connect, secure, control, and observe
US10333901B1 (en) Policy based data aggregation
US20150379259A1 (en) Dynamic database and api-accessible credentials data store
US11948005B2 (en) Managed integration of constituent services of multi-service applications
US20210406039A1 (en) Managed control plane service
EP4172773A1 (en) Managed control plane service
US20230254287A1 (en) Techniques for a virtual bootstrap environment in a distributed virtual private network
US20220300611A1 (en) Run-time communications protocol parameter adjustment in containerized applications
US20160232251A1 (en) Continuously blocking query result data for a remote query
EP4307636A1 (en) Rapid error detection through command validation
US20240061941A1 (en) Distribution of Secure Data for Networked Transactions
US11861409B2 (en) Distributed decomposition of string-automated reasoning using predicates
US20240069981A1 (en) Managing events for services of a cloud platform in a hybrid cloud environment
US10884832B2 (en) Aggregation messaging within an integration environment
Bischoff Design and implementation of a framework for validating kubernetes policies through automatic test generation
De Paz et al. Cloud analytics and security automation with Ansible
Montalbano Definition of a Microservices-based Management and Monitoring System for Oracle Cloud
WO2023154681A1 (en) Techniques for a virtual bootstrap environment in a distributed virtual private network
JP2023024961A (ja) コンテナ内のデータのための自動認証システム
Jorba Brosa Study and Development of an OpenStack solution
Krum et al. Getting Started with Puppet

Legal Events

Date Code Title Description
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: 20180828

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180926

R150 Certificate of patent or registration of utility model

Ref document number: 6411698

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250