CN107408046B - 用于跨异构计算环境供应云服务的系统和方法 - Google Patents
用于跨异构计算环境供应云服务的系统和方法 Download PDFInfo
- Publication number
- CN107408046B CN107408046B CN201680014248.0A CN201680014248A CN107408046B CN 107408046 B CN107408046 B CN 107408046B CN 201680014248 A CN201680014248 A CN 201680014248A CN 107408046 B CN107408046 B CN 107408046B
- Authority
- CN
- China
- Prior art keywords
- provisioning
- instructions
- build
- computing environments
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
根据实施例,本文描述了用于跨异构计算环境供应云服务的系统和方法。存储在配置管理服务器上的多条供应指令可以被划分到多个范围中。连接至配置管理服务器的多个客户端节点可以被配置成多个组,每个组在一个或多个虚拟机上提供一个或多个计算环境,以用于托管云服务。特定组中的每个计算环境可以与指定特定范围的供应指令的供应指令启动器相关联。当特定组中的虚拟机重新启动时,该虚拟机上的计算环境搜索与该特定组对应的范围中的最新供应指令。
Description
版权通知
本专利文档的公开内容的一部分包含受版权保护的资料。版权所有人不反对任何人对本专利文档或本专利公开内容按照它在专利商标局专利文件或记录中出现的那样进行传真复制,但是除此之外在任何情况下都保留所有版权权利。
技术领域
本发明的实施例一般涉及软件应用的连续集成和交付,并且具体而言涉及用于跨异构环境供应云服务的系统和方法。
背景技术
在软件开发领域,从利用整体发布的瀑布式方法到利用增量发布的敏捷方法的范式转移已经改变了管理应用生命周期的方式。例如,开发者倾向于在早期并且更加频繁地进行集成,以减少集成故障。为了适应构建、测试和部署的频率增加的要求,对于软件开发过程中的多个参与者而言,诸如配置管理工具之类的多种工具可以被用于对多个机器/客户端节点进行配置管理。
这些工具可以为了不同目的而使用多条供应指令来配置客户端节点。然而,存储在配置管理服务器上的多条供应指令可能使客户端节点检索到它并不旨在检索的供应指令。
发明内容
根据实施例,本文描述了用于跨异构计算环境供应云服务的系统和方法。存储在配置管理服务器上的多条供应指令可以被划分到多个范围中。连接到配置管理服务器的多个客户端节点可以被配置成多个组,每个组在一个或多个虚拟机上提供一个或多个计算环境以用于托管云服务。特定组中的每个计算环境可以与指定特定范围的供应指令的供应指令启动器相关联。当特定组中的虚拟机重新启动时,该虚拟机上的计算环境搜索与该特定组对应的范围中的最新的供应指令。
附图说明
图1示出了根据实施例的配置管理工具。
图2示出了根据实施例的用于跨异构计算环境供应云服务的系统。
图3进一步示出了根据实施例的用于跨异构计算环境供应云服务的系统。
图4示出了根据实施例的通过划分供应指令的版本编号来跨异构环境供应云服务的流程图。
图5示出了根据实施例的用于跨异构计算环境供应云服务的方法。
具体实施方式
配置管理工具(例如,Chef)可以为了不同的目的而配置不同类型的客户端节点。例如,一种类型的客户端节点可以是为开发者配置的,另一种类型的客户端节点可以是为测试者配置的。对于使用连续集成和连续交付实践的开发团队而言,不同类型的客户端节点可以包括同样的服务器组件集合以及处于开发中的软件应用的一个或多个不同版本。
然而,这样的配置管理工具经常使用配置管理服务器来存储供应指令,这可能使一个类型的客户端节点检索到旨在用于另一种类型的客户端节点的供应指令。
此外,被集中存储在配置管理服务器上的多条供应指令倾向于为特定类型的计算环境提供配置信息。然而,可以要求软件开发过程中的不同参与者使用异构计算环境。例如,可以要求开发者使用Windows环境进行开发,同时可以要求测试者使用Linux环境进行测试。
针对上述问题的现有解决方案包括创建不同的服务器来存储用于不同类型的客户端节点的供应指令。但是,多服务器方法不适用于连续集成和连续交付。
根据实施例,本文描述了用于跨异构计算环境供应云服务的系统和方法。存储在配置管理服务器上的多条供应指令可以被划分到多个范围中。连接到配置管理服务器的多个客户端节点可以被配置成多个组,每个组在一个或多个虚拟机上提供一个或多个计算环境以用于托管云服务。特定组中的每个计算环境可以与指定特定范围的供应指令的供应指令启动器相关联。当特定组中的虚拟机重新启动时,该虚拟机上的计算环境搜索与该特定组对应的范围中的最新的供应指令。
图1示出了根据实施例的配置管理工具。
如图1所示,系统可以包括多个客户端节点(例如,客户端节点A 115和客户端节点B 117)以及向多个客户端节点提供供应指令123的配置管理服务器(例如,Chef服务器或Puppet服务器)111。
根据实施例,供应指令(例如,针对Chef的一组码本(cookbook))可以充当配置管理服务器用来使客户端节点进入特定状态的配置和策略细节的基本单元。例如,暂时指令可以被用于安装web服务器和数据库服务器,以及改变不同计算环境中的配置文件,以用于在这些计算环境中供应云服务。
根据实施例,客户端节点可以是物理服务器或者专有云或公共云中的虚拟机。每个客户端节点可以包括代理(例如,代理A 125和代理B 129),该代理取出供应指令,并且执行该供应指令以配置该客户端节点。
根据实施例,每个代理可以针对最新近的供应指令以规律的间隔来轮询配置管理服务器,并且如果客户端节点不符合由该供应指令定义的状态,则使用该供应指令来使客户端节点成为最新的。
根据实施例,供应指令可以包括一组文件(例如,码本文件)和用于存储这些文件的版本的元数据。供应指令可以具有唯一的版本编号,该唯一的版本编号可以表示与该版本所基于的供应指令不同的一组功能。
例如,供应指令版本编号可以采取X.Y.Z.的形式,其中X.Y.Z.是被用于表示主要(X)版本、次要(Y)版本和补丁(Z)版本的十进制数。
如图1还示出的,代码储存库137(例如,与源控制应用/系统相关联的数据库)可以被用于存储用于软件应用的不同版本的源代码以及用于配置客户端节点以供在开发、测试或部署软件应用时使用的供应指令。
根据实施例,构建服务器(例如,Jenkins)119可以检索软件的源代码的最新变化,并且要么以规律的间隔(例如,每晚),要么在每当检测到代码变化时执行自动化的构建以生成多个构建(build)。构建服务器可以取得构建,并且使用由每个客户端节点上的代理调用的部署过程以在该客户端节点上部署一个或多个构建。
根据实施例,不同版本的软件应用可以被部署以供在每个节点上执行。例如,服务A 127和服务B 131中的每一个可以代表不同版本的软件应用。指派给每个客户端节点的供应指令可以被用于使该客户端节点进入用于执行特定版本的软件应用的期望的状态。
如图1所示,代码储存库可以被连接139至构建服务器,该构建服务器又可以被连接141至配置管理服务器。每当代码储存库中有代码变化时,在构建服务器或配置管理服务器中的一个或多个自动化过程可以被触发,以在客户端节点上安装构建中的代码包。
根据实施例,多个客户端节点可以被配置为由在软件开发过程中具有不同角色的用户使用。每个客户端节点,不管其为开发节点还是测试节点,都可以使用相同的计算环境,在该计算环境中用于云服务的不同版本的软件应用可以被供应。为了如上文所描述地配置客户端节点,可以使用供应指令的多个版本,其中每个版本定义相同的服务器状态和软件应用的不同版本。
然而,当具有任何类型的客户端节点重新启动时,它可以搜索供应指令的最新版本。例如,如果供应指令已经被更新,以适应开发者已经做出的变化,那么即使测试者可能尚未准备好测试软件应用的最新版本,测试客户端节点也可以检索供应指令的最新版本。
供应指令的版本编号划分
图2示出了根据实施例的用于跨异构计算环境供应云服务的系统。
更具体而言,图2示出了可以被用于通过将供应指令的版本编号划分到不同的范围中而解决上文描述的问题的系统,其中每个范围被指派给具有特定类型的一个或多个客户端节点,例如,一个或多个测试客户端节点或者一个或多个开发客户端节点。
根据实施例,每种类型的客户端节点可以在软件开发过程中由具有特定角色的用户使用,并且可以被划分到不同的组中。例如,为了容易识别,开发客户端节点可以在一个组中,测试客户端节点可以在不同的组中。
如图2所示,构建服务器219可以被配置为使用来自代码储存库237的源代码239按照规律的间隔(例如,每小时或者每晚)自动生成多个构建221。每个构建可以具有构建标签,该构建标签包括四个部分:标签名、日期、时间和构建编号。
例如,在构建标签“SOACLOUD_MAIN_GENERIC_141017_1145_0219”中,“SOACLOUD_MAIN_GENERIC”是标签名,数值指示构建是在2014年10月17日的下午11:45生成的,“0219”是构建编号。
根据实施例,每个构建可以与从存储在代码储存库中的供应指令241中检索到的供应指令相关联。供应指令的版本编号可以被划分到多个范围中。每个范围可以包括用于配置具有特定类型的一个或多个客户端节点的一条或多条供应指令。
根据实施例,范围可以通过类别指示符识别,该类别指示符可以是供应指令的版本编号中的用于主要版本的数值。
作为说明性示例,供应指令的版本编号可以被划分成用于开发者的范围和用于测试者的范围。用于开发者的范围可以包括版本编号小于2.0.0并且大于1.0.0的任何供应指令。
根据实施例,可以利用来自构建标签的日期和时间信息来更新与构建相关联的供应指令的版本编号,以使构建与供应指令匹配。
作为说明性示例,从代码储存库中检索到的供应指令可以具有版本编号“1.1.1”,其中第一个“1”是类别指示符,该类别指示符表示供应指令的该版本是为了供开发节点使用而创建的,中间的“1”是次要版本,最后的“1”是补丁版本。
根据实施例,构建服务器可以修改用于存储供应指令的版本编号的元数据,以分别利用从构建标签提取的日期和时间来代替次要版本和构建编号。
例如,在更新之后,供应指令的版本编号成为“1.141017.1145”,该版本编号包括原始类别指示符以及从构建标签“SOACLOUD_MAIN_GENERIC_141017_1145_0219”中提取的日期和时间。
如图2所示,供应指令222可以根据上文描述的方法通过使用来自多个构建的时间戳225而从代码储存库中的多条供应指令创建。被划分到不同范围中的供应指令可以从构建服务器被上传243到配置管理服务器211,其中供应指令223可以包括范围A 216和范围B218中的版本编号。
交付点(POD)
根据实施例,构建服务器可以包括用于创建多个交付点(POD)的多个文件226,每个POD表示用于使(render)一个或多个构建成为云服务的计算环境。
如本文中所使用的,POD可以是可以在其上安装服务(例如,云服务)的可部署或托管单元。例如,POD可以包括一个或多个应用容器、用于容器的共享存储装置以及关于如何运行容器的选择。POD可以是虚拟机或者可以从虚拟机创建。
如图2进一步所示,可以向构建服务器上的多个文件中的每个文件指派供应指令的更新后的版本编号作为后缀。随后,可以将该多个文件与构建中的每个构建一起上传到大文件服务器224。
根据实施例,可以从多个文件创建多个POD并且可以将该多个POD上传到多个客户端节点(例如,客户端节点A 215和客户端节点B 217)。
例如,POD A 245可以被上传至客户端节点A,POD B 249可以被上传至客户端节点B。
根据实施例,每个POD可以包括映射文件(例如,映射文件A 247或映射文件B251),并且每个映射文件可以指定供应指令启动器(例如,供应指令启动器A 246和供应指令启动器B 248)。每个供应指令启动器可以是由客户端节点中的代理用来启动特定范围内的最新供应指令的文件(例如,码本文件)。
例如,供应指令启动器A可以被用于启动范围A内的最新供应指令,供应指令启动器B可以被用于启动范围B内的最新供应指令。
根据实施例,每当特定客户端节点被重新启动时,客户端节点上的供应指令启动器可以利用特定范围搜索具有最高(最新)版本编号的供应指令。
根据实施例,通过将供应指令的版本编号划分到不同的范围中,并且每个范围被绑定到特定类型的客户端节点,系统允许配置管理服务器存储用于多个客户端节点的供应指令,以供在软件开发过程中具有不同角色的用户使用。
根据可替代实施例,在POD的创建期间,POD的映射文件可以被用于确定供应指令的具体版本。例如,映射文件可以显式地指定将使用供应指令的哪个版本。当停止或重启POD时,即使较新或较旧的版本在配置管理服务器上可用,也可以搜索供应指令的指定版本。如果指定版本不可用,那么可以生成错误。
图3进一步示出了根据实施例的用于跨异构计算环境供应云服务的系统。
更具体而言,图3示出了由一个客户端节点或者多个客户端节点提供的不同类型的计算环境。
根据实施例,在开发和测试云服务时,开发团队可以对于给定的POD使用特定版本的软件应用。每个POD可以与包括硬件和操作系统的不同计算环境相关联。虚拟化解决方案(例如,Vagrant Box)允许用户使用客户端节点上的虚拟化来模拟不同的计算环境。
如图3所示,客户端节点C 315可以提供Vagrant箱环境,在该Vagrant箱环境中可以安装多个POD,例如,用于Windows的POD X 319、用于Linux的POD Y 321以及用于Ubuntu的POD Z 323。每个POD可以是虚拟机(例如,Vagrant箱),并且可以包括常见的供应供应启动器,例如,POD中的供应启动器A 325、327或329。
根据实施例,多个POD允许开发者使用相同的供应指令在多个计算环境中开发或测试云服务。
根据实施例,存储在配置管理服务器上的每个范围的供应指令可以与元数据(例如,元数据A 309和元数据B 311)相关联。元数据可以被用于配置或定制相同的供应指令以供一个客户端节点上的多个不同计算环境或者跨多个客户端节点的多个不同计算环境使用。
根据实施例,范围A中的供应指令可以被用于使客户端节点C上的多个计算环境中的每个计算环境进入由供应指令定义的期望的状态。元数据A可以包括用于定制供应指令以满足客户端节点C上的每个计算环境的具体要求的信息。
类似地,元数据B可以提供用于定制范围B中的供应指令以满足具有特定类型的不同客户端节点(例如,客户端节点D 317和客户端节点E 334)上的多个不同计算环境中的每个计算环境的具体要求的信息。
根据实施例,当客户端节点C上的POD重新启动时,它可以调用供应指令启动器A来搜索范围A内的最新供应指令。当客户端节点D和客户端节点E中的每个客户端节点重新启动时,它可以调用同一供应指令启动器(例如,供应指令启动器B 337或339)来搜索范围B中的最新供应指令。
图4示出了根据实施例的通过划分供应指令的版本编号来跨异构环境供应云服务的流程图。
根据实施例,在步骤411处,开发者创建具有版本编号的供应指令,该版本编号包括表示该供应指令将由具有特定类型的客户端节点(例如,开发节点)使用的类别指示符。
作为步骤413,构建服务器检测用于创建云服务的软件应用的代码变化,并且创建具有构建标签的构建,该构建标签包括构建编号以及生成该构建的日期和时间。
在步骤415处,构建服务器在不改变类别指示符的情况下,利用来自构建标签的日期和时间来更新供应指令的版本编号。
在步骤417处,为被提供以用于创建在其中部署云服务的交付点(POD)的多个文件中的每个文件附加供应指令的更新后的版本编号作为后缀。
在步骤419处,构建和多个文件被上传至大文件服务器。
在步骤421处,从多个文件创建POD,并且POD被配置为具有映射文件,该映射文件定义用于在启动由类别指示符指定的范围中的最新供应指令时使用的供应指令启动器。
在步骤423处,POD被安装在由类别指示符指示的具有特定类型的一个或多个客户端节点上。
在步骤425处,当新构建被生成时,利用来自每个构建的标签的日期和时间来更新供应指令的版本编号。
在步骤427处,POD使用供应指令启动器搜索该范围内的供应指令的最新版本。
图5示出了根据实施例的用于跨异构计算环境供应云服务的方法。
如图5所示,在步骤511处,在连接至多个客户端节点的配置管理服务器上提供被划分到多个范围中的多条供应指令。
在步骤513处,多个客户端节点被配置成多个组,每个组提供用于托管云服务的一个或多个计算环境。
在步骤515处,使特定组中的每个计算环境与指定特定范围的供应指令的供应指令启动器相关联。
在步骤517处,当重新启动时,特定组中的计算环境搜索与该特定组对应的范围中的最新供应指令。
可以使用包括根据本公开的教导编程的一个或多个处理器、存储器和/或计算机可读存储介质的一个或多个常规的通用或专用数字计算机、计算设备、机器或微处理器来方便地实现本发明的实施例。如对于软件领域的技术人员明显的,熟练的程序员可以基于本公开的教导容易地准备适当的软件编码。
在一些实施例中,本发明包括计算机程序产品,该计算机程序产品是具有存储在其上/其中的指令的非暂态存储介质或计算机可读介质(媒介),这些指令可以被用于对计算机编程,以执行本发明的过程中的任何过程。存储介质的示例可以包括但不限于任何类型的盘(包括软盘、光盘、DVD、CD-ROM、微硬盘和磁光盘)、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪存存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC)或者适于存储指令和/或数据的任何类型的介质或设备。
对本发明的实施例的上述描述出于说明和描述的目的被提供。它并不旨在是详尽的,或者将本发明限制为所公开的精确形式。许多修改和变型对于本领域技术人员而言将是明显的。这些修改和变型包括所公开的特征的任何相关组合。选择和描述实施例以便最佳地解释本发明的原理及其实践应用,由此使得本领域其他技术人员能够对于各种实施例以及利用适于预期的特定使用的各种修改来理解本发明。
Claims (22)
1.一种用于跨异构计算环境供应云服务的系统,包括:
包括一个或多个微处理器的计算机;
在所述计算机上执行的配置管理服务器,所述配置管理服务器存储被划分到多个范围中的多条供应指令;以及
多个客户端节点,所述多个客户端节点被配置成多个组,每个组在一个或多个虚拟机上提供一个或多个计算环境以用于托管云服务;
其中,每个组与供应指令启动器相关联,所述供应指令启动器指定用于在配置该组中的计算环境时使用的特定范围的供应指令;以及
其中,当特定组中的虚拟机重启时,所述虚拟机上的计算环境搜索与所述特定组相关联的供应指令启动器所指定的范围中的最新供应指令。
2.根据权利要求1所述的系统,其中,所述多条供应指令基于它们的版本编号被划分。
3.根据权利要求1或2所述的系统,还包括
构建服务器,所述构建服务器被配置为生成多个构建,每个构建包括构建标签并且与供应指令相关联;以及
多个交付点,每个交付点包括虚拟机并且被安装在用于供应云服务的特定计算环境中。
4.根据权利要求3所述的系统,其中,与每个构建相关联的供应指令包括版本编号,所述版本编号包含类别指示符,所述类别指示符指定所述供应指令是为了供特定组的客户端节点使用而提供的。
5.根据权利要求4所述的系统,其中利用来自构建的构建标签的日期和时间来更新所述供应指令的版本编号。
6.根据权利要求5所述的系统,其中更新后的版本编号被上传到所述配置管理服务器。
7.根据权利要求1到2和4到6中的任何一项所述的系统,其中,每个范围的供应指令与用于在针对特定组的客户端节点中的不同计算环境来配置或定制该范围内的供应指令时使用的元数据相关联。
8.根据权利要求1到2和4到6中的任何一项所述的系统,其中,所述配置管理服务器是Chef服务器或Puppet服务器。
9.一种用于跨异构计算环境供应云服务的方法,包括:
在配置管理服务器上提供被划分到多个范围中的多条供应指令;
将连接到所述配置管理服务器的多个客户端节点配置成多个组,每个组提供用于托管云服务的一个或多个计算环境;以及
使每个组与供应指令启动器相关联,所述供应指令启动器指定用于在配置该组中的计算环境时使用的特定范围的供应指令;
其中,当特定组中的虚拟机重启时,所述虚拟机上的计算环境搜索与所述特定组相关联的供应指令启动器所指定的范围中的最新供应指令。
10.根据权利要求9所述的方法,其中,所述多条供应指令基于它们的版本编号被划分。
11.根据权利要求9或10所述的方法,还包括
将构建服务器配置为生成多个构建,其中每个构建包括构建标签并且与供应指令相关联;以及
创建多个交付点,每个交付点包括虚拟机并且被安装在用于供应云服务的特定计算环境中。
12.根据权利要求11所述的方法,其中,与每个构建相关联的供应指令包括版本编号,所述版本编号包含类别指示符,所述类别指示符指定所述供应指令是为了供特定组的客户端节点使用而提供的。
13.根据权利要求12所述的方法,其中,利用来自构建的构建标签的日期和时间来更新所述供应指令的版本编号。
14.根据权利要求13所述的方法,其中,更新后的版本编号被上传到所述配置管理服务器。
15.根据权利要求9到10和12到14中的任何一项所述的方法,其中,每个范围的供应指令与用于针对特定组的客户端节点中的多个不同计算环境来配置或定制该范围内的供应指令的元数据相关联。
16.根据权利要求9到10和12到14中的任何一项所述的方法,其中,所述配置管理服务器是Chef服务器或Puppet服务器。
17.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储用于跨异构计算环境供应云服务的一组指令,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行根据权利要求13到16中的任何一项所述的方法。
18.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储用于跨异构计算环境供应云服务的一组指令,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行步骤,所述步骤包括:
在配置管理服务器上提供被划分到多个范围中的多条供应指令;
将连接到所述配置管理服务器的多个客户端节点配置成多个组,每个组提供用于托管云服务的一个或多个计算环境;以及
使每个组与供应指令启动器相关联,所述供应指令启动器指定用于在配置该组中的计算环境时使用的特定范围的供应指令;
其中,当特定组中的虚拟机重启时,所述虚拟机上的计算环境搜索与所述特定组相关联的供应指令启动器所指定的范围中的最新供应指令。
19.根据权利要求18所述的非暂态计算机可读存储介质,其中,所述多条供应指令基于它们的版本编号被划分。
20.根据权利要求18或19所述的非暂态计算机可读存储介质,还包括:
将构建服务器配置为生成多个构建,每个构建包括构建标签并且与供应指令相关联;以及
创建多个交付点,每个交付点包括虚拟机并且被安装在用于供应云服务的特定计算环境中。
21.根据权利要求18或19所述的非暂态计算机可读存储介质,其中,与每个构建相关联的供应指令包括版本编号,所述版本编号包含类别指示符,所述类别指示符指定所述供应指令是为了供特定组的客户端节点使用而提供的。
22.一种包括用于执行根据权利要求9到16中的任何一项所述的方法的部件的装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562189614P | 2015-07-07 | 2015-07-07 | |
US62/189,614 | 2015-07-07 | ||
US15/171,904 US10305731B2 (en) | 2015-07-07 | 2016-06-02 | System and method for provisioning cloud services across heterogeneous environments using partitioned provisioning instructions stored on a configuration management server |
US15/171,904 | 2016-06-02 | ||
PCT/US2016/035788 WO2017007553A1 (en) | 2015-07-07 | 2016-06-03 | System and method for provisioning cloud services across heterogeneous computing environments |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107408046A CN107408046A (zh) | 2017-11-28 |
CN107408046B true CN107408046B (zh) | 2020-07-28 |
Family
ID=56148679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680014248.0A Active CN107408046B (zh) | 2015-07-07 | 2016-06-03 | 用于跨异构计算环境供应云服务的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10305731B2 (zh) |
EP (1) | EP3320436B1 (zh) |
JP (1) | JP6757735B2 (zh) |
CN (1) | CN107408046B (zh) |
WO (1) | WO2017007553A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10241775B2 (en) | 2016-01-14 | 2019-03-26 | Ca, Inc. | Dynamic release baselines in a continuous delivery environment |
US10409589B2 (en) * | 2016-07-12 | 2019-09-10 | Accenture Global Solutions Limited | Application centric continuous integration and delivery with automated service assurance |
US11194558B2 (en) | 2016-10-14 | 2021-12-07 | Accenture Global Solutions Limited | Application migration system |
JP7529223B2 (ja) | 2017-04-28 | 2024-08-06 | エルゼットラブズ ゲーエムベーハー | モノリシックレガシーアプリケーションに基づくマイクロサービスのコンテナ化展開 |
CN110674024B (zh) * | 2018-07-02 | 2024-10-01 | 北京忆恒创源科技股份有限公司 | 电子设备集成测试系统及其方法 |
US11087232B2 (en) * | 2018-07-18 | 2021-08-10 | IonQ, Inc. | Quantum hybrid computation |
US10942787B2 (en) * | 2018-11-13 | 2021-03-09 | Servicenow, Inc. | Instance mapping engine and tools |
US11237952B1 (en) | 2021-04-07 | 2022-02-01 | State Farm Mutual Automobile Insurance Company | Runtime class recompilation during mutation testing |
US12072790B1 (en) | 2021-04-07 | 2024-08-27 | State Farm Mutual Automobile Insurance Company | Mutation testing within continuous integration systems |
US11163675B1 (en) | 2021-04-07 | 2021-11-02 | State Farm Mutual Automobile Insurance Company | Mutation testing in parallel threads |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103283209A (zh) * | 2011-04-18 | 2013-09-04 | 北京新媒传信科技有限公司 | 一种应用服务平台系统及其实现方法 |
CN104081371A (zh) * | 2012-01-30 | 2014-10-01 | 微软公司 | 云计算戳记的自动化的扩建 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009199360A (ja) * | 2008-02-21 | 2009-09-03 | Fujitsu Fip Corp | サーバ構築方法、同方法用コンピュータソフトウェアおよび記憶媒体 |
JP4852734B1 (ja) * | 2010-09-22 | 2012-01-11 | 株式会社Csk | サービス制御システム |
US9110709B2 (en) | 2010-12-14 | 2015-08-18 | International Business Machines Corporation | Preserving changes to a configuration of a running virtual machine |
US10263854B2 (en) | 2012-06-13 | 2019-04-16 | Oracle International Corporation | System and method for supporting version based routing in a transactional middleware machine environment |
US9357034B2 (en) | 2012-09-07 | 2016-05-31 | Oracle International Corporation | System and method for orchestration of services for use with a cloud computing environment |
JP5544029B1 (ja) * | 2013-02-20 | 2014-07-09 | 三菱電機インフォメーションシステムズ株式会社 | 環境構築装置および環境構築プログラム |
US9110699B2 (en) | 2013-09-19 | 2015-08-18 | International Business Machines Corporation | Determining optimal methods for creating virtual machines |
US9825881B2 (en) * | 2014-09-30 | 2017-11-21 | Sony Interactive Entertainment America Llc | Methods and systems for portably deploying applications on one or more cloud systems |
-
2016
- 2016-06-02 US US15/171,904 patent/US10305731B2/en active Active
- 2016-06-03 EP EP16730618.2A patent/EP3320436B1/en active Active
- 2016-06-03 CN CN201680014248.0A patent/CN107408046B/zh active Active
- 2016-06-03 WO PCT/US2016/035788 patent/WO2017007553A1/en unknown
- 2016-06-03 JP JP2017546863A patent/JP6757735B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103283209A (zh) * | 2011-04-18 | 2013-09-04 | 北京新媒传信科技有限公司 | 一种应用服务平台系统及其实现方法 |
CN104081371A (zh) * | 2012-01-30 | 2014-10-01 | 微软公司 | 云计算戳记的自动化的扩建 |
Also Published As
Publication number | Publication date |
---|---|
US20170012819A1 (en) | 2017-01-12 |
WO2017007553A1 (en) | 2017-01-12 |
CN107408046A (zh) | 2017-11-28 |
JP6757735B2 (ja) | 2020-09-23 |
US10305731B2 (en) | 2019-05-28 |
EP3320436A1 (en) | 2018-05-16 |
EP3320436B1 (en) | 2024-09-18 |
JP2018519556A (ja) | 2018-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107408046B (zh) | 用于跨异构计算环境供应云服务的系统和方法 | |
US20220004381A1 (en) | Integration of containers with external elements | |
US10983775B2 (en) | System and method for creating and deploying a release package | |
US9959108B2 (en) | Fast deployment across cloud platforms | |
US10922067B1 (en) | System and method for installing, updating and uninstalling applications | |
US20160179499A1 (en) | System and method for cloud provisioning and application deployment | |
US9405630B2 (en) | Methods and apparatus to perform site recovery of a virtual data center | |
US10795688B2 (en) | System and method for performing an image-based update | |
US9652220B2 (en) | Zero down-time deployment of new application versions | |
US10338910B2 (en) | Multi-tenant upgrading | |
US11900089B2 (en) | Automatically configuring and deploying a software operator in a distributed computing environment from a package | |
US11656864B2 (en) | Automatic application of software updates to container images based on dependencies | |
US11893367B2 (en) | Source code conversion from application program interface to policy document | |
CN115480801A (zh) | 一种基于Vue框架的多项目开发部署运行方法和系统 | |
WO2019099008A1 (en) | Software builds using a cloud system | |
US10552148B2 (en) | Building dynamic documentation based on installed services | |
US12086579B2 (en) | Deriving a container from a package set | |
US11281444B2 (en) | Application update monitoring computer systems | |
US10509647B1 (en) | Building dynamic documentation based on installed services | |
US11900091B2 (en) | Extensible upgrade and modification as a service | |
US11954469B2 (en) | Bases for pattern-based cloud computing | |
US20230393876A1 (en) | Landing zones for pattern-based cloud computing | |
CN118860577A (zh) | 更新状态指示信息的方法、装置、设备、介质及产品 | |
CN117608601A (zh) | 一种erp软件应用程序部署方法、装置、设备及介质 | |
CN117591136A (zh) | 存储镜像生成方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |