用于应用程序部署的自定义通信信道制造技术

技术编号:17145779 阅读:31 留言:0更新日期:2018-01-27 17:13
一种应用程序部署服务(ADS)部件接收建立通信信道以供客户端提交与应用程序相关联的部署工件的请求。针对所述信道创建端点集。响应于经由所述端点中的一个接收消息,所述ADS确定另外的安全性验证操作将在可执行所述消息中所指示的部署任务之前执行。在完成所述安全性验证操作之后,实施所述任务。

A custom communication channel for application deployment

An application deployment service (ADS) component receives a communication channel for the client to submit a request for the deployment of the deployment artifacts associated with the application. An endpoint set is created for the channel. In response to a receiving message in the endpoint, the ADS determines another security verification operation will be executed before the deployment task indicated in the executable message. After the security verification operation is completed, the task is implemented.

【技术实现步骤摘要】
【国外来华专利技术】用于应用程序部署的自定义通信信道
技术介绍
许多公司和其它组织操作互连众多计算系统以支持其操作的计算机网络,例如其中计算系统位于同一地点(例如,作为本地网络的一部分)或替代地位于多个不同的地理位置(例如,经由一个或多个专用或公用中间网络连接)。例如,容纳大量互连的计算系统的数据中心已变得常见,例如通过单一组织操作且代表单一组织操作的专用数据中心,以及通过企业实体操作以向客户提供计算资源的公用数据中心。一些公用数据中心运营商为各种客户所拥有的硬件提供网络接入、电源以及安全安装设施,而其它公用数据中心运营商提供“全方位服务”设施,所述设施还包含可供其客户使用的硬件资源。一些较大的基于云的提供商网络实施多个网络可访问服务,包含可用于实施多种应用程序的虚拟计算服务。例如,虚拟计算服务的客户可请求具有指定性能容量的某一数目的客虚拟机(也称为计算实例)的分配,并将所述客虚拟机配置为web服务器、应用程序服务器、数据库服务器及类似者以建立多层基于web的应用程序。提供商网络的多个另外的服务可用于复杂应用程序的各种部件,例如数据库服务、存储服务及类似者。提供商网络的一些服务可利用其它服务的部件来实现常用任务模式或序列。例如,对于某些类型的应用程序(例如,以例如Ruby、PHP或JavaTM等流行语言编写的基于web的应用程序),应用程序部署工作流可使用提供商网络的部署服务来较大程度地或完全地自动化。如果部署服务的客户提供足够的配置元数据和一系列源文件或可执行文件,那么部署服务可能能够分配并配置使所述应用程序联网所需的计算、存储以及联网服务的合适的资源。在一些情况下,所述服务还可能能够监控应用程序的性能,并基于工作量变化而按需要添加或去除资源。然而,从应用程序开发者的角度来看,通常可用于与应用程序部署服务通信的机制中的一些可为略繁琐的。尤其是在具有较快的代码开发速率和大量开发者的敏捷软件开发组织中,开发服务的通信机制有时可限制生产力。附图说明图1示出根据至少一些实施方案的示例系统环境,其中可针对应用程序部署服务按需要建立自定义通信信道。图2示出根据至少一些实施方案的在客户端与应用程序部署服务的控制平面部件之间的示例交互。图3示出根据至少一些实施方案的可被存储用于应用程序部署服务的自定义通信信道的示例元数据元素。图4a至图4e共同地示出根据至少一些实施方案的可经由应用程序部署服务的自定义通信信道端点提交的请求的示例。图5示出根据至少一些实施方案的可用于实施应用程序部署工作流的提供商网络服务的示例。图6是示出根据至少一些实施方案的可经执行以配置并使用自定义通信信道以用于发送部署相关的工件的操作的方面的流程图。图7是示出可在至少一些实施方案中使用的示例计算装置的方框图。虽然在本文中通过若干实施方案和说明性图式的示例描述实施方案,但所属领域的技术人员应认识到,实施方案并不限于所描述的实施方案或图式。应理解,图式及其详细描述并不意图将实施方案限制为所公开的特定形式,相反,意图是涵盖落入如通过随附的权利要求书所界定的精神和范围内的所有修改、等效物以及替代方案。在本文中使用的标题是仅出于组织目的,而非意图用于限制说明书或权利要求书的范围。如贯穿此申请所使用,词语“可”以许可性意义使用(即,意味着具有做某事的可能),而非以强制性意义是使用(即,意味着必须)。类似地,词语“包括”、“包含”以及“含有”意指包括但不限于。具体实施方式本专利技术描述用于支持用于在客户端与提供商网络的应用程序部署服务之间的通信的自定义安全通信信道的方法和设备的各种实施方案。通过例如公司或公共部门组织等实体建立以将可经由互联网和/或其它网络访问的一个或多个服务(例如各种类型的多租户和/或单租户的基于云的计算或存储装置)提供到某一集合的分布式客户端或客户的网络可在此文档中被称为提供商网络。提供商网络还可被称为“公共云”环境。提供商网络的服务中的至少一些(以及因此,用于应用程序开发和部署的资源中的一些)可在一些实施方案中依赖于虚拟化,例如,可用作指配给计算服务的客户端的计算单元的虚拟机,且虚拟化存储装置可被提供到存储装置的客户端。提供商网络的一些服务可使用其它服务的部件来构建,例如,数据库服务可将虚拟计算服务的虚拟机用作底层处理引擎,并将数据库内容存储在一个或多个存储相关的服务的存储装置处。根据至少一些实施方案,提供商网络可包含应用程序部署服务(ADS),所述应用程序部署服务意图简化并自动化某些类型的应用程序的多个不同类别的部署任务。ADS的客户端可例如根据指定规则上传给定应用程序的可执行版本,且ADS随后可处理容量分配、负载均衡、扩展、应用程序健康监控及类似者的细节,而不必使客户端关注正被使用的资源的细节。在一些实施方案中,ADS可使用提供商网络的多个其它服务,包含例如虚拟计算服务、一个或多个存储装置、一个或多个数据库服务、通知服务、健康监测服务、负载均衡服务、自动扩展服务以及一个或多个数据高速缓存服务。在至少一些实施方案中,ADS可实施或支持一个或多个编程接口以作为默认机制,例如基于web的控制台,应用程序开发者或管理者可通过所述默认机制上传预打包的应用程序(例如,以用于基于JavaTM的应用程序的.jar文件或.war文件的形式)以用于开发。在各种实施方案中,ADS还可支持自定义(例如,应用程序特定的或客户特定的)安全通信信道的创建,例如电子邮件信道或消息传送应用程序信道,所述信道使得选定群组的开发者或应用程序管理员能够将部署工件提交到ADS。依据给定自定义信道的所请求性质,所述信道可用于发送一个或多个类别的部署工件,例如单独的源代码文件、编译后的可执行文件、可解译脚本文件、应用程序的打包版本或配置文件。在至少一些实施方案中,ADS可提供编程接口,所述编程接口使得客户端能够提交针对创建自定义通信信道的请求。请求(所述请求可例如通过例如软件开发团队的管理者或管理员等授权方提交)可指示所请求的通信的类型(例如,电子邮件、FTP(文件传输协议)或类似的数据传输应用程序的一个或多个变化型式、SMS(短消息服务)或其它消息传送应用程序)、将被准许使用信道的客户端侧实体或装置的集合、安全细节,以及信道的各种其它特性,如下文进一步详细描述。响应于接收到建立用于应用程序的自定义信道的请求,ADS的部件可首先验证所述请求是来自授权方且应被满足,例如,通过查找客户数据库中的请求者的记录。如果请求为可接受的,那么ADS可在提供商网络内在内部与一个或多个其它服务通信,例如电子邮件服务、消息传送服务或文件传输服务,和/或与外部通信服务通信,以针对所请求的信道建立通信端点集。在其中请求电子邮件通信的一个实施方案中,例如,可建立电子邮件地址集以作为专门用于应用程序的端点,而在其中SMS为优选通信机制的情境下,可创建SMS目的地号码集以作为端点。可将端点的列表提供给自定义信道的请求者,例如,用于分布在某一群组的软件开发者或将被准许使用端点的其它客户端当中。在一些实施方案中,ADS或请求者可将端点集分成子群组,例如,其中一个子群组将用于源代码文件提交,另一子群组用于配置变化提交,且第三子群组用于可执行文件提交。在至少一个实施方案中,不同的端点可具有另外的安全性验证需要的相应集合(所述集本文档来自技高网...
用于应用程序部署的自定义通信信道

【技术保护点】
一种系统,所述系统包括:在提供商网络的多个计算装置处实施的应用程序部署服务的一个或多个部件;其中所述一个或多个部件被配置来:接收针对通信信道的第一请求,所述通信信道将被一个或多个客户端用于发送将在所述提供商网络的一个或多个执行平台处执行的特定应用程序的一个或多个部署工件;将通信信道的特定端点的指示发送到与所述一个或多个客户端相关联的至少一个目的地,其中所述特定端点将被用于发送与多个部署任务类别中的至少第一部署任务类别相关联的部署工件,所述多个部署任务类别与所述特定应用程序相关联;通过所述一个或多个客户端中的特定客户端从引导至所述特定端点的消息提取有效负载;至少部分基于对所述有效负载的检查,确定一个或多个安全性验证操作将在所述第一部署任务类别的部署任务的实施之前执行;以及响应于确定所述一个或多个安全性验证操作成功来实施所述部署任务,其中所述部署任务包括将在所述有效负载中指示的部署工件的版本存储在存储库内。

【技术特征摘要】
【国外来华专利技术】2015.05.19 US 14/716,7001.一种系统,所述系统包括:在提供商网络的多个计算装置处实施的应用程序部署服务的一个或多个部件;其中所述一个或多个部件被配置来:接收针对通信信道的第一请求,所述通信信道将被一个或多个客户端用于发送将在所述提供商网络的一个或多个执行平台处执行的特定应用程序的一个或多个部署工件;将通信信道的特定端点的指示发送到与所述一个或多个客户端相关联的至少一个目的地,其中所述特定端点将被用于发送与多个部署任务类别中的至少第一部署任务类别相关联的部署工件,所述多个部署任务类别与所述特定应用程序相关联;通过所述一个或多个客户端中的特定客户端从引导至所述特定端点的消息提取有效负载;至少部分基于对所述有效负载的检查,确定一个或多个安全性验证操作将在所述第一部署任务类别的部署任务的实施之前执行;以及响应于确定所述一个或多个安全性验证操作成功来实施所述部署任务,其中所述部署任务包括将在所述有效负载中指示的部署工件的版本存储在存储库内。2.根据权利要求1所述的系统,其中所述一个或多个部件被配置来:存储经授权以将消息提交到所述特定端点的一个或多个提交者的第一集合的表示,以及经授权以将消息提交到建立用于所述通信信道的不同端点的一个或多个提交者的第二集合的表示。3.根据权利要求1所述的系统,其中所述一个或多个部件被配置来:起始所述通信信道的第二端点的建立,其中所述第二端点将用于发送与所述多个部署任务类别中的至少第二部署任务类别相关联的部署工件。4.根据权利要求1所述的系统,其中所述一个或多个安全性验证操作包含对以下各项中的一个或多个的使用:(a)多步骤认证协议或(b)多方认证协议。5.根据权利要求1所述的系统,其中所述多个部署任务类别包含以下各项中的一个或多个:(a)更新源代码、(b)部署可执行包、(c)修改应用程序配置设置、或(d)修改用于执行应用程序的资源集。6.一种方法,所述方法包括:在于提供商网络的一个或多个计算装置处实施的应用程序部署服务处执行:接收针对通信信道的第一请求,所述通信信道将被一个或多个客户端用于发送特定应用程序的一个或多个部署工件;将通信信道的特定端点的指示发送到与所述一个或多个客户端相关联的至少一个目的地;响应于经由所述特定端点接收到的第一消息,确定一个或多个安全性验证操作将在对应于所述消息和所述特定应用程序的第一部署任务的实施之前执行;以及响应于完成所述一个或多个安全性验证操作,使用在所述第一消息中指示的至少第一工件来实施所述第一部署任务。7.根据权利要求6所述的方法,其中所述特定端点的所述指示包括以下各项中的一个:(a)电子邮件地址、(b)短消息服务(SMS)目的地地...

【专利技术属性】
技术研发人员:D·H·卡皮拉
申请(专利权)人:亚马逊科技公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1