CN109791484A - 用于动态服务实例部署的短暂基础设施的扩建和拆除 - Google Patents

用于动态服务实例部署的短暂基础设施的扩建和拆除 Download PDF

Info

Publication number
CN109791484A
CN109791484A CN201780061400.5A CN201780061400A CN109791484A CN 109791484 A CN109791484 A CN 109791484A CN 201780061400 A CN201780061400 A CN 201780061400A CN 109791484 A CN109791484 A CN 109791484A
Authority
CN
China
Prior art keywords
service
resource
computing resource
computing
service instance
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.)
Withdrawn
Application number
CN201780061400.5A
Other languages
English (en)
Inventor
J·豪博尔德
R·B·瓦卢利斯
S·坎迪耶
S·沃克
M·吴
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN109791484A publication Critical patent/CN109791484A/zh
Withdrawn legal-status Critical Current

Links

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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0846Configuration by using pre-existing information, e.g. using templates or copying from other elements based on copy from other elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • 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/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play

Abstract

本文描述的技术有助于动态构建和拆除短暂基础设施,以使用可替换的计算资源来部署服务实例。在其他功能中,描述了一种资源管理结构,它使用描述大规模生产Web或数据服务的复杂服务定义以及一组可替换的弹性计算资源来动态构建符合服务定义的要求的服务或应用的实例。可以生成描述已部署服务实例的短暂基础设施的操作环境。有价值地,所生成的操作环境基本上与应用或服务的真实的生产实例是相同的环境,例如,具有相同的设置、配置和网络布局。

Description

用于动态服务实例部署的短暂基础设施的扩建和拆除
背景技术
大规模生产web和数据应用或服务通常需要多个机器执行各种不同的软件配置,这些软件配置彼此结合构建以便正常运行。为了在验证和测试阶段期间部署这些应用或服务,开发人员必须明确地维护和提供有关各种机器的信息,例如机器名称、系统、软件、甚至网络布局基础设施或拓扑。
遗憾的是,维护这些配置和设置对于开发人员来说可能是非常困难和耗时的。因此,开发人员可能会尝试利用具有专用计算资源的静态配置和设置的专用环境来执行功能测试。然而,在每种情况下,缺乏关于一个或多个配置或设置的明确知识导致未在与应用或服务的真实的生产实例相同的环境(例如,具有相同的设置、配置和网络布局)中执行功能测试。
总的来说,本文中一些现有或相关系统的示例及其相关限制旨在是说明性的而非排他性的。在阅读以下内容后,现有或在先系统的其他限制对于本领域技术人员而言将变得显而易见。
发明内容
这里讨论的示例涉及用于使用可替换计算资源来部署服务实例的短暂基础设施的动态构建和拆除。在一种实现方式中,公开了一种用于操作管理结构以动态地构建短暂基础设施以使用可替换计算资源来部署服务实例的方法。该方法包括接收资源分配请求,该资源分配请求包括标识用于供应服务实例的服务参数并且确定可替换计算资源的可用性的服务定义。该方法还包括当足够的计算资源可用时,根据服务定义动态地针对服务实例生成操作环境。操作环境识别资源上下文信息,包括可替换计算资源的一组计算资源以及与服务实例相关联的网络布局参数。
提供本概述是为了以简化的形式介绍一些概念,这些概念将在下面的技术公开中进一步描述。可以理解,该概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
附图说明
为了描述可以获得上述和其他优点和特征的方式,提出了更具体的描述,并且将通过参考在附图中示出的其具体示例来呈现。应理解,这些附图仅描绘了典型示例,因此不应认为是对其范围的限制,将通过使用附图以附加的特征和细节来描述和解释实现方式。
图1描绘了示出根据一些实施例的用于动态构建用于使用计算结构140的可替换计算资源来部署服务实例的短暂基础设施的示例操作架构的框图。
图2描绘了根据一些实施例的web服务和工作流管理系统的示例组件。
图3描绘了根据一些实施例的服务管理和映像系统的示例组件。
图4描绘了示出根据一些实施例的用于将至少一部分资源上下文信息传送到自动测试系统以便验证服务实例的操作的示例操作场景的流程图。
图5描绘了示出根据一些实施例的用于根据标识用于供应新服务的服务参数的服务定义来针对新服务实例生成操作环境的示例操作场景的流程图。
图6描绘了根据一些实施例的用于动态构建短暂基础设施以用于使用可替换计算资源来部署服务实例,测试服务实例然后拆除基础设施的示例操作架构的操作。
图7描绘了根据一些实施例的用于动态构建短暂基础设施以用于使用可替换计算资源来部署服务实例,测试服务实例然后拆除基础设施的示例操作架构的操作,其中服务实例是服务管理和映像系统的新实例。
图8是示出适合于实现本文公开的基于范围的证书部署技术的计算系统的框图,包括图中所示和下面在技术公开中讨论的任何应用、架构、元素、过程和操作场景和序列。
具体实施方式
以下详细讨论实施例。虽然讨论了具体实现方式,但应该理解,这仅出于说明目的而完成。相关领域的技术人员将认识到,可以使用其他组件和配置而不脱离本公开的主题的精神和范围。实现方式可以是机器实现的方法、计算设备或计算机可读介质。
本文描述的技术有助于动态构建和拆除短暂基础设施以用于使用可替换计算资源来部署服务实例。在其他功能中,描述了一种资源管理结构,它使用描述大规模生产Web或数据服务的复杂服务定义和一组可替换的弹性计算资源来动态构建符合服务定义要求的服务或应用的实例。可以生成描述已部署的服务实例的短暂基础设施的操作环境。生成的操作环境基本上是与应用或服务的真实生产实例相同的环境,例如,具有相同的设置、配置和网络布局。
在一些实施例中,可以将包括资源上下文信息的操作环境提供给自动测试系统。自动测试系统可以使用由应用开发人员(直接或通过资源管理结构)提供的测试负载来对服务实例执行功能测试。可以聚合测试结果并将其提供给应用开发人员。一旦完成后,短暂基础设施将被动态拆除。
这里讨论的至少一个技术效果是开发人员能够动态地确保功能测试在与被测试的应用或服务的真实的生产实例相同的环境中执行,例如,具有相同的设置、配置和网络布局。此外,动态短暂基础设施构建和拆解提供了允许由多个开发人员或开发人员组根据需要而利用可替换计算资源池的额外的技术效果。
图1描绘了示出根据一些实施例的用于动态构建用于使用计算结构140的可替换计算资源来部署服务实例143的短暂基础设施的示例操作架构100的框图。示例操作架构100包括终端用户(或开发人员)112操作工作站114、web服务和工作流管理系统120、服务管理和映像系统130、计算结构140和自动测试系统160。
Web服务和工作流管理系统120表示前端服务或服务集合,其被配置为在终端用户(或开发人员)112、操作工作站114、服务管理和映像系统130与自动测试系统160之间接合以使用计算结构140的可替换计算资源来促进服务实例(或大规模应用)143的动态部署。更具体地,web服务和工作流管理系统120被配置为接收服务清单,服务清单包括标识用于供应新的服务实例的服务参数的服务定义。Web服务和工作流管理系统120处理服务定义并响应地请求动态短暂基础设施(计算资源)部署,例如资源分配请求。在一些实施例中,服务清单使用标记语言(例如,可扩展标记语言(XML))来标识服务定义和/或参数。
响应于该请求,web服务和工作流管理系统120接收指示资源上下文信息的操作环境,该资源上下文信息将与服务实例相关联的计算资源和网络布局参数标识为动态部署的。然后,web服务和工作流管理系统120可以将资源上下文信息提供给自动测试系统160。以这种方式,终端用户(或开发人员)112可以使用测试负载(由web服务和工作流管理系统120提供或经由工作站114从终端用户112引导,导致在与应用或服务的真实生产实例相同的环境中(例如,具有相同的设置,配置和网络布局)对服务实例(例如,服务实例143)执行功能测试。
web服务和工作流管理系统120可以包括服务器计算机、刀片服务器、机架服务器,以及适合于在终端用户(或开发人员)112操作工作站114、服务管理和映像系统130以及自动测试系统160之间执行或接合的任何其他类型的计算系统(或其集合)。web服务和工作流管理系统120可以包括在PC、移动电话设备、web服务器或甚至其他应用服务器上运行的GUI(图形用户界面)。这样的系统可以在图8的计算系统801所代表的支持增强的组协作的上下文中使用一个或多个虚拟机、容器或任何其他类型的虚拟计算资源。参考图2更详细地示出和讨论了web服务和工作流管理系统120的示例组件。同样,描述了示例操作场景400,其中至少一部分资源上下文信息被传送到自动测试系统160。参考图4更详细地描述示例操作场景400。
服务管理和映像系统130表示服务或服务集合,其被配置为维持或确定关于后端计算结构140的状态信息以及其他功能。更具体地,响应于资源分配请求,服务管理和映像系统130引导计算结构140动态地构建和拆除用于使用弹性的可替换计算资源150来部署服务实例143的短暂基础设施。
服务管理和映像系统130被配置为确定可替换计算资源150的可用性,并且当足够的计算资源可用时,根据服务定义生成服务实例143的操作环境。操作环境识别资源上下文信息,其包括与服务实例143相关联的一组计算资源和网络布局参数。然后,将至少包括资源上下文信息的操作环境信息提供回web服务和工作流管理系统120。
如本文所讨论的,计算结构140包括多个计算资源150。每个计算资源150可以包括服务器计算机、刀片服务器、机架服务器和任何其他类型的计算系统(或其集合)。在一些实施例中,计算资源可以是使用默认软件配置预先供应的、使得它们成为可替换的弹性系统虚拟机。一些服务定义可以是这些默认配置之上的迭代。因此,默认配置可以在避免重新映像虚拟机或必须安装标准的基本软件集方面。服务管理和映像系统130可以管理短暂环境内的虚拟机和托管虚拟机的物理机器。这意味着在主机物理机器上发生硬件故障的情况下,服务管理和映像系统130可以应对(account for)相关联的虚拟机的丢失并避免尝试将它们用于任何尝试的工作流(例如,功能测试)。此外,当检测到硬件再次健康时,服务管理和映像系统130将自动重新供应虚拟机并使其可用。
服务管理和映像系统130可以包括服务器计算机、刀片服务器、机架服务器,以及适合于与web服务和工作流管理系统120以及计算结构140接合并且更具体地用于引导计算结构动态地构建和拆除用于使用计算结构140的可替换计算资源150来部署服务实例143的短暂基础设施的任何其他类型的计算系统(或其集合)。这样的系统可以使用一个或多个虚拟机、容器或在图8的计算系统801所代表的支持增强组协作的上下文中的任何其他类型的虚拟计算资源。参考图3更详细地示出和讨论了服务管理和映像系统130的示例组件。同样,描述了根据服务定义生成服务实例的操作环境的示例操作场景500。参考图5更详细地描述示例操作场景500。
自动测试系统160被配置为接收关于所生成的操作环境和测试负载(例如,功能测试)的信息,并将功能测试应用于在动态短暂基础设施中部署的服务实例。如本文所讨论的,资源上下文信息可以至少标识与动态部署的服务实例相关联的计算资源和网络布局参数。另外,自动测试系统160可以聚合测试结果并将测试结果提供给终端用户(开发人员)。
图2描绘了根据一些实施例的web服务和工作流管理系统200的示例组件。web服务和工作流管理系统200可以是图1的web服务和工作流管理系统120,但是替代配置是可能的。由参考图2描述的组件、模块和/或引擎表示的功能可以部分地或全部地以硬件、软件或硬件和软件的组合的方式单独地或以其任何组合来实现。
如图2的示例中所示,web服务和工作流管理系统200包括用户接口210、服务管理系统接口引擎220、一个或多个服务清单230、测试系统接口引擎240和资源上下文信息250。其他系统、数据库和/或组件也是可能的。在一些实施例中,可以省略一些或所有组件。
用户接口210被配置为向经由工作站114访问web服务和工作流管理系统120的终端用户112提供图形界面。
服务管理系统接口引擎220被配置为与服务管理和映像系统130接合。例如,服务管理系统接口引擎220可以向服务管理和映像系统130提供资源分配请求,并接收与已部署服务实例相关联的资源上下文信息。
一个或多个服务清单230可以包括标识用于供应特定短暂服务实例的服务参数的服务定义。如本文所讨论的,服务清单可以由终端用户112经由工作站114提供并且由web服务和工作流管理系统120存储。
测试系统接口引擎240被配置为与自动测试系统160接合。例如,资源上下文信息可以用于访问适当系统以进行功能测试。
图3描绘了根据一些实施例的服务管理和映像系统300的示例组件。服务管理和映像系统300可以是图1的服务管理和映像系统130,但是替代配置是可能的。由参考图3描述的组件、模块和/或引擎所表示的功能可以部分或全部地以硬件、软件或硬件和软件的组合来单独实现或以其任何组合实现。
如图3的示例中所示,服务管理和映像系统300包括机器元数据引擎310、一个或多个服务定义文件320、状态机330、软件安装和映像引擎340,以及修复和警报引擎350。其他系统、数据库和/或组件也是可能的。在一些实施例中,可以省略一些或所有组件。
机器元数据引擎310被配置为管理,处理和维护与计算资源150相关联的元数据。元数据可以包括关于软件安装、利用、机器健康等的信息。
一个或多个服务定义文件320对应于每个服务实例,并且更具体地,映射到管理结构的控制下的特定该组计算资源合150。安装在计算资源150上的管理客户端(未示出)可以收集关于与计算资源150相关联的软件和硬件的健康状况、状态等的数据。该信息可以由例如状态机330使用来进行可用性确定、修复确定、状态确定等。
状态机330被配置为总体上管理计算结构140的状态,并利用各种引擎和文件来管理用于动态部署服务实例的一组计算资源的短暂构建和拆除。
软件安装和映像引擎340被配置为管理计算资源150上的软件的安装。该过程可以包括软件的映像,重新映像,安装,重新安装和反转或回滚。
修复和警报引擎350被配置为自动修复硬件和软件并提供关于硬件和软件的警报。
图4描绘了示出根据一些实施例的用于将至少一部分资源上下文信息传送到自动测试系统160以便验证服务实例143的操作的操作场景400的示例的流程图。示例性操作400可以在各种实施例中由web服务和工作流管理系统(例如,图1的web服务和工作流管理系统120)或者管理结构的一个或多个处理器、模块、引擎、组件或工具来执行。
首先,在401处,web服务和工作流管理系统接收服务清单,该服务清单包括标识用于供应服务实例的服务参数的服务定义。在一些实施例中,服务定义可以进一步标识用于供应服务实例的一个或多个应用组件引用,并且可以包括用于供应服务实例的一个或多个软件安装和网络布局参数。
在403处,web服务和工作流管理系统识别用于分配计算资源的服务管理系统。在405处,响应于向服务管理系统发送资源分配请求,web服务和工作流管理系统接收根据服务定义针对服务实例而动态生成的操作环境的指示。如本文所讨论的,操作环境识别资源上下文信息,资源上下文信息包括计算资源150的一组计算资源和与服务实例相关联的网络布局参数。
最后,在407处,web服务和工作流管理系统将至少一部分资源上下文信息传送到自动测试系统,以便验证服务实例的操作。
图5描绘了示出根据一些实施例的用于根据标识用于供应新服务的服务参数的服务定义来生成针对新服务实例的操作环境的示例操作场景500的流程图。示例性操作500可以在各种实施例中由服务管理和映像系统(例如,图1的服务管理和映像系统130)或管理结构的一个或多个处理器、模块、引擎、组件或工具来执行。
首先,在501处,服务管理和映像系统接收资源分配请求,该资源分配请求包括标识用于供应新服务实例的服务参数的服务定义。在一些实施例中,服务定义可以进一步标识用于供应服务实例的一个或多个应用组件引用,并且可以包括用于供应服务实例的一个或多个软件安装和网络布局参数。
在503处,服务管理和映像系统确定可替换计算资源的可用性。
最后,在505处,当足够的计算资源可用时,服务管理和映像系统根据服务定义动态地生成针对服务实例的操作环境。如本文所讨论的,操作环境识别资源上下文信息,资源上下文信息包括可替换计算资源的一组计算资源和与服务实例相关联的网络布局参数。生成针对服务实例的操作环境可以包括分配该组计算资源并将该组计算资源移动到操作环境。
为了进一步说明示例性操作架构100的操作,提供了图6和7。图6和7分别示出了序列图600和700。示例性序列图600和700描绘了根据一些实施例的示例性操作架构100的操作,用于动态地构建用于使用可替换计算资源来部署服务实例,测试服务实例并且然后拆除基础设施的短暂基础设施。序列图包括工作站114、web服务和工作流管理系统120、服务管理和映像系统130、计算结构(计算资源)140和自动测试系统160。示例操作架构100的附加或更少组件是可能的。
首先参考图6的示例,最初,操作工作站114的终端用户(未示出)指定各种信息,包括详细服务描述和对一个或多个应用组件的引用。可以经由服务清单将该信息提供给web服务和工作流管理系统120。如本文所讨论的,服务清单可以包括标识用于供应新服务实例的服务参数的服务定义。
响应于接收到服务清单,web服务和工作流管理系统120识别用于分配计算资源的服务管理系统,例如服务管理和映像系统130。工作流管理系统120生成资源分配请求并将其发送到服务管理和映像系统130,以为新服务实例分配计算资源。
服务管理和映像系统130接收资源分配请求并检查或以其他方式检测计算结构140内的可替换计算资源150的可用性。然后,服务管理和映像系统130确定计算结构140是否具有足够的计算容量(例如,可用的计算资源)。如果计算结构140具有足够的计算容量,则服务管理和映像系统130动态地生成一个或多个新环境,例如“EnvironmentA1”等,并且将一组资源移动或以其他方式分配给每个新环境。如图1的示例中所示,为服务实例(或环境)143分配三个计算资源。更新和/或以其他方式存储标识环境和分配给环境的计算资源的资源上下文信息。然后,服务管理和映像系统130将包括至少一部分资源上下文信息的完成信号发送到web服务和工作流管理系统120。
web服务和工作流管理系统120接收完成信号以及至少一部分资源上下文信息,并将软件安装命令发送到服务管理和映像系统130,以在分配给动态生成环境的该组计算资源上安装软件。如本文所讨论的,由经由服务清单提供给web服务和工作流管理系统120的服务定义所标识的软件参数可以包括用于供应服务实例的一个或多个软件安装和网络布局参数。软件安装可以指示需要安装的软件。
服务管理和映像系统130接收软件安装命令并将所标识的软件安装在动态分配的计算资源上。例如,服务管理和映像系统130可以向每个分配的计算资源发送命令以根据服务定义安装软件。一旦在每个计算资源上安装了软件,服务管理和映像系统130就确认每个计算资源的健康状况并向web服务和工作流管理系统120发送确认。web服务和工作流管理系统120随后经由发送到工作站114的完成消息通知终端用户。
另外,一旦web服务和工作流管理系统120意识到服务实例被部署在动态基础设施中,系统就向自动测试系统160发送运行针对新创建的服务实例的功能测试的请求。在一些实施例中,终端用户可以经由工作站114向web服务和工作流管理系统120或直接向自动测试系统160提供测试负载,例如功能测试。web服务和工作流管理系统120可以获得测试结果并经由工作站114将结果提供给终端用户。可选地或另外地,测试结果可以由自动测试系统160经由工作站114直接提供给终端用户。
在测试完成之后,web服务和工作流管理系统120向服务管理和映像系统130发送用于拆除短暂服务实例的命令。响应地,服务管理和映像系统130拆除短暂基础设施。拆除可以包括将计算资源移动到资源被重新映像的清理环境,将虚拟机或快照恢复到先前状态,等等。在一些实施例中,可以在拆除之后发送测试结果。
接下来参考图7,图7的示例类似于图6的示例,除了服务实例是服务管理和映像系统的新实例,例如图1的服务管理和映像系统130。更具体地,在图7的示例中,使用计算结构140的可替换计算资源动态地构建和拆除新的服务管理和映像系统130'。
最初,操作工作站114的终端用户(未示出)指定各种信息,包括详细服务描述和对一个或多个应用组件的引用。可以经由服务清单将信息提供给web服务和工作流管理系统120。如本文所讨论的,服务清单可以包括标识用于供应新服务实例的服务参数的服务定义。在图7的示例中,服务清单包括终端用户想要部署的服务管理和映像系统130的新版本或实例的描述以及应当作为新版本的一部分部署的应用组件的网络路径位置。
响应于接收到服务清单,web服务和工作流管理系统120识别用于分配计算资源的服务管理系统,例如服务管理和映像系统130。工作流管理系统120生成资源分配请求并将其发送到服务管理和映像系统130,以便为服务管理和映像系统的新版本或实例分配计算资源。
服务管理和映像系统130接收资源分配请求并检查或以其他方式检测计算结构140内的可替换计算资源150的可用性。然后,服务管理和映像系统130确定计算结构140是否具有足够的计算容量(例如,可用的计算资源)。如果计算结构140具有足够的计算容量,则服务管理和映像系统130动态地生成一个或多个新环境,例如“EnvironmentA1”等,并且将一组资源移动或以其他方式分配给每个新环境。标识环境和分配给环境的计算资源的资源上下文信息被更新和/或以其他方式存储。然后,服务管理和映像系统130将包括至少一部分资源上下文信息的完成信号发送到web服务和工作流管理系统120。
web服务和工作流管理系统120接收完成信号以及资源上下文信息的至少一部分,并根据服务清单中提供的服务定义发送命令以构建服务管理和映像系统130的新版本或实例。服务管理和映像系统130接收命令并引导分配给动态生成的环境的一组计算资源,以安装用于服务管理和映像系统的新版本或实例的软件。服务管理和映像系统130监视计算资源的进度和健康状况,直到安装完成为止,此时创建服务管理和映像系统的新版本或实例,即服务管理和映像系统130'。
服务管理和映像系统130移动/分配用于服务管理和映像系统130'的附加计算资源,并修改计算资源的许可,以便可以由服务管理和映像系统130'管理。然后,web服务和工作流管理系统120向服务管理和映像系统130'发送用于将虚拟服务部署到由服务管理和映像系统130'管理的分配的计算资源的命令。
web服务和工作流管理系统120变得知道虚拟服务实例被部署在短暂基础设施中并向自动测试系统160发送运行针对新创建的虚拟服务实例的功能测试的请求。在一些实施例中,终端用户可以经由工作站114向web服务和工作流管理系统120提供测试负载,例如功能测试,或者直接向自动测试系统160提供。如图所示,虚拟测试可以应用于虚拟服务实例。web服务和工作流管理系统120可以获得测试结果并经由工作站114将结果提供给终端用户。可替代地或另外地,测试结果可以由自动测试系统160经由工作站114直接提供给终端用户。
在测试完成之后,web服务和工作流管理系统120向服务管理和映像系统130发送用于拆除虚拟服务实例和服务管理和映像系统130'的命令。服务管理和映像系统130'通过恢复许可来放弃对计算资源的管理控制。然后,服务管理和映像系统130拆除短暂基础设施。拆除可以包括将计算资源移动到资源被重新映像的清理环境,将虚拟机或快照恢复到先前状态,等等。在一些实施例中,可以在拆除之后发送测试结果。
图8示出了计算系统801,其表示可以实现本文公开的各种应用、服务、场景和过程的任何系统或系统集合。例如,计算系统801可以包括服务器计算机、刀片服务器、机架服务器,以及适合于执行本文描述的增强协作操作的任何其他类型的计算系统(或其集合)。在支持增强的组协作的上下文中,这样的系统可以使用一个或多个虚拟机、容器或任何其他类型的虚拟计算资源。
计算系统801可以实现为单个装置、系统或设备,或者可以以分布式方式实现为多个装置、系统或设备。计算系统801包括但不限于处理系统802、存储系统803、软件805、通信接口系统807和用户接口系统808。处理系统802可操作地与存储系统803、通信接口系统807和可选的用户接口系统809耦合。
处理系统802从存储系统803加载并执行软件805。当由处理系统802执行以在多租户基于云的内容和协作环境中部署基于范围的证书时,软件805指示处理系统802如前述实现方式所述那样至少针对在此讨论的各种过程、操作场景和序列进行操作。计算系统801可以可选地包括为简洁起见未讨论的附加设备、特征或功能。
仍然参考图8,处理系统802可以包括微处理器和其它电路,其从存储系统803检索并执行软件805。处理系统802可以在单个处理设备内实现,但也可以分布在合作执行程序指令的多个处理设备或子处理系统中。处理系统802的示例包括通用中央处理单元、专用处理器和逻辑设备,以及任何其他类型的处理设备、其组合或变体。
存储系统803可以包括可由处理系统802读取并且能够存储软件805的任何计算机可读存储介质。存储系统803可以包括以用于存储例如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性,可移动和不可移动介质。存储介质的示例包括随机存取存储器、只读存储器、磁盘、光盘、闪存、虚拟存储器和非虚拟存储器、磁带盒、磁带、磁盘存储或其他磁存储设备或任何其他合适的存储介质。在任何情况下,计算机可读存储介质都不是传播信号。
除了计算机可读存储介质之外,在一些实现方式中,存储系统803还可以包括计算机可读通信介质,在其上可以在内部或外部传送至少一些软件805。存储系统803可以实现为单个存储设备,但是,也可以跨相互共同定位或分布的多个存储设备或子系统实现。存储系统803可以包括能够与处理系统802或可能的其他系统通信的附加元件,例如控制器。
软件805可以在程序指令中实现,并且在由处理系统802执行时,其他功能可以使引导处理系统802如关于本文所示的各种操作场景、序列和过程所描述的那样操作。例如,软件805可以包括用于引导系统执行参考图3-6描述的过程的程序指令。
具体地,程序指令可以包括协作或以其他方式交互以执行本文描述的各种过程和操作场景的各种组件或模块。各种组件或模块可以体现在编译或解释的指令中,或者体现在一些其他变体或指令的组合中。各种组件或模块可以以同步或异步方式,串行或并行,在单线程环境中或多线程中,或根据任何其他合适的执行范例、变体或其组合来执行。软件805可以包括附加的过程、程序或组件,例如操作系统软件、虚拟机软件或应用软件。软件805还可以包括可由处理系统802执行的固件或一些其他形式的机器可读处理指令。
通常,软件805在被加载到处理系统802中并且被执行时,可以将合适的装置、系统或设备(其中计算系统801具有代表性)整体地从通用计算系统转换专用计算系统。实际上,存储系统803上编码软件805可以变换存储系统803的物理结构。物理结构的特定变换可以取决于本说明书的不同实现方式中的各种因素。这些因素的示例可以包括但不限于用于实现存储系统803的存储介质的技术以及计算机存储介质是否被表征为主存储或二级存储,以及其他因素。
例如,如果计算机可读存储介质被实现为基于半导体的存储器,则软件805可以在程序指令被编码在其中时变换半导体存储器的物理状态,例如通过变换晶体管、电容器或其他构成半导体存储器的离散电路元件的状态。对于磁性或光学介质可能发生类似的变换。在不脱离本说明书的范围的情况下,物理介质的其他变换是可能的,提供前述示例仅仅是为了便于本讨论。
通信接口系统807可以包括通信连接和设备,其允许通过通信网络(未示出)与其他计算系统(未示出)通信。一起允许系统间通信的连接和设备的示例可以包括网络接口卡、天线、功率放大器、RF电路、收发器和其他通信电路。连接和设备可以通过通信介质进行通信,以与其他计算系统或系统网络(例如金属、玻璃、空气或任何其他合适的通信介质)交换通信。上述介质、连接和设备是众所周知的,这里不需要详细讨论。
用户接口系统809可包括键盘、鼠标、语音输入设备、用于从用户接收触摸手势的触摸输入设备、用于检测用户的非触摸手势和其他动作的动作输入设备,以及能够从用户接收用户输入的其他类似的输入设备和相关处理元件。诸如显示器、扬声器、触觉设备和其他类型的输出设备的输出设备也可以包括在用户接口系统809中。在一些情况下,输入和输出设备可以组合在单个设备中,例如能够显示图像和接收触摸手势的显示器。上述用户输入和输出设备在本领域中是公知的,这里不需要详细讨论。在一些情况下,当计算系统801被实现为一个或多个服务器计算机(例如,刀片服务器、机架服务器或任何其他类型的计算服务器系统(或其集合))时,可以省略用户接口系统809。
用户接口系统809还可以包括可由处理系统802执行以支持上面讨论的各种用户输入和输出设备的相关用户接口软件。用户接口软件和用户接口设备可以单独地或彼此结合以及与其他硬件和软件元件结合,支持图形用户接口、自然用户接口或任何其他类型的用户接口,其中可以呈现生产力应用的用户接口。
计算系统801和其他计算系统(未示出)之间的通信可以在一个或多个通信网络上并且根据各种通信协议、协议的组合或其变型发生。示例包括内联网、互联网、因特网、局域网、广域网、无线网、有线网、虚拟网络、软件定义网络、数据中心总线、计算背板或任何其他类型的网络、网络组合或它们的变体。上述通信网络和协议是众所周知的,这里不需要详细讨论。在交换数据、内容或任何其他类型的信息的任何上述示例中,信息的交换可以根据各种众所周知的数据传输协议中的任何一种进行。
附图中提供的功能框图、操作场景和序列以及流程图表示用于执行本公开的新颖方面的示例性系统、环境和方法。虽然为了简化说明的目的,这里包括的方法可以是功能图、操作场景或序列或流程图的形式,并且可以被描述为一系列动作,应该理解和意识到,方法不受动作顺序的限制,因为根据此,一些动作可以以不同的顺序发生和/或与本文所示和所述的其他动作同时发生。例如,本领域技术人员将理解并意识到,方法可以替代地表示为一系列相互关联的状态或事件,例如在状态图中。此外,并非方法所示的行为都可能是新颖实施所必需的。
本文包括的描述和附图描绘了教导本领域技术人员如何制作和使用最佳选项的具体实施方式。出于教导发明原理的目的,已经简化或省略了一些传统方面。本领域技术人员将理解落入本发明范围内的这些实施方式的变型。本领域技术人员还将意识到,上述特征可以以各种方式组合以形成多个实现方式。结果,本发明不限于上述具体实施方式,而是仅由权利要求及其等同物限制。

Claims (15)

1.一种动态构建用于使用可替换计算资源部署服务实例的短暂基础设施的方法,所述方法包括:
接收资源分配请求,所述资源分配请求包括标识用于供应所述服务实例的服务参数的服务定义;
确定所述可替换计算资源的可用性;以及
当有足够的计算资源可用时,根据所述服务定义动态地生成针对所述服务实例的操作环境,
其中,所述操作环境识别资源上下文信息,所述资源上下文信息包括所述可替换计算资源的一组计算资源和与所述服务实例相关联的网络布局参数。
2.如权利要求1所述的方法,其中,所述服务定义还标识用于供应所述服务实例的一个或多个应用组件引用。
3.如权利要求1所述的方法,其中,所述服务参数包括用于供应所述服务实例的一个或多个软件安装和网络布局参数。
4.如权利要求3所述的方法,还包括:
处理所述服务参数以识别与所述服务实例相关联的一个或多个软件安装;以及
引导所述一组计算资源以安装所述一个或多个软件安装。
5.如权利要求4所述的方法,还包括:
响应于在所述一组计算资源上安装所述一个或多个软件安装,验证计算资源的健康状况;并且
向工作流管理系统提供所述计算资源的健康状况的指示。
6.如权利要求1所述的方法,其中,生成针对所述服务实例的所述操作环境包括:
分配所述一组计算资源;以及
将所述一组计算资源移动到所述操作环境。
7.如权利要求1所述的方法,还包括:
接收拆除所述操作环境的请求;以及
响应于所述请求,将所述一组计算资源移动到清理环境。
8.如权利要求7所述的方法,其中,所述计算资源在所述清理环境中重新映像。
9.如权利要求7所述的方法,其中,所述计算资源具有在所述清理环境中还原的对应的虚拟机快照。
10.如权利要求1所述的方法,还包括:
将所述资源上下文信息提供给工作流管理系统,
其中,所述资源分配请求是由所述工作流管理系统生成的。
11.如权利要求1所述的方法,其中,所述服务实例包括服务管理系统的新实例。
12.一种动态构建用于使用可替换计算资源来部署服务实例的短暂基础设施的方法,所述方法包括:
接收服务清单,所述服务清单包括标识用于供应所述服务实例的服务参数的服务定义;
识别用于分配计算资源的服务管理系统;
响应于向所述服务管理系统发送资源分配请求,接收根据所述服务定义针对所述服务实例而动态生成的操作环境的指示,其中,所述操作环境识别包括所述可替换计算资源的一组计算资源和与所述服务实例相关联的网络布局参数的资源上下文信息;以及
将至少一部分资源上下文信息传送到自动测试系统,以便验证所述服务实例的操作。
13.一种计算装置,其被配置为促进动态构建短暂基础设施以用于使用可替换计算资源来部署服务实例,所述装置包括:
一个或多个计算机可读存储介质;
一个或多个处理系统,其可操作地与所述一个或多个计算机可读存储介质耦合;以及
管理结构服务,其具有存储在所述一个或多个计算机可读存储介质上的程序指令,当由所述一个或多个处理系统执行时,所述程序指令引导所述一个或多个处理系统执行以下操作:
处理资源分配请求以识别用于供应所述服务实例的服务参数,
确定所述可替换计算资源的可用性;以及
当有足够的计算资源可用时,根据所述服务定义来动态生成针对所述服务实例的操作环境,
其中,所述操作环境识别资源上下文信息,所述资源上下文信息包括所述可替换计算资源的一组计算资源和与所述服务实例相关联的网络布局参数。
14.如权利要求13所述的计算装置,其中,当由所述一个或多个处理系统执行时,存储在所述一个或多个计算机可读存储介质上的所述指令还引导所述一个或多个处理系统进行以下操作:
处理服务参数以识别与所述服务实例相关联的一个或多个软件安装,
其中,所述服务参数包括用于供应所述服务实例的一个或多个软件安装和网络布局参数;并且
引导所述一组计算资源来安装一个或多个软件安装。
15.如权利要求14所述的计算装置,其中,当由所述一个或多个处理系统执行时,存储在所述一个或多个计算机可读存储介质上的所述指令进一步引导所述一个或多个处理系统进行以下操作:
响应于在所述一组计算资源上安装所述一个或多个软件安装,验证计算资源的健康状况;以及
向工作流管理系统提供所述计算资源的健康状况的指示。
CN201780061400.5A 2016-10-05 2017-09-30 用于动态服务实例部署的短暂基础设施的扩建和拆除 Withdrawn CN109791484A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/286,076 2016-10-05
US15/286,076 US20180097698A1 (en) 2016-10-05 2016-10-05 Buildout and teardown of ephemeral infrastructures for dynamic service instance deployments
PCT/US2017/054646 WO2018067416A1 (en) 2016-10-05 2017-09-30 Buildout and teardown of ephemeral infrastructures for dynamic service instance deployments

Publications (1)

Publication Number Publication Date
CN109791484A true CN109791484A (zh) 2019-05-21

Family

ID=60153446

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780061400.5A Withdrawn CN109791484A (zh) 2016-10-05 2017-09-30 用于动态服务实例部署的短暂基础设施的扩建和拆除

Country Status (3)

Country Link
US (1) US20180097698A1 (zh)
CN (1) CN109791484A (zh)
WO (1) WO2018067416A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112288231A (zh) * 2020-09-29 2021-01-29 深圳市商汤科技有限公司 配置生成方法、装置、电子设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8606975B2 (en) * 2010-05-21 2013-12-10 Oracle International Corporation Managing interrupts in a virtualized input/output device supporting multiple hosts and functions
EP2915044B1 (en) * 2012-11-05 2023-06-07 Sea Street Technologies Inc. System and method for provisioning and managing an elastic computing infrastructure
US9912609B2 (en) * 2014-08-08 2018-03-06 Oracle International Corporation Placement policy-based allocation of computing resources

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112288231A (zh) * 2020-09-29 2021-01-29 深圳市商汤科技有限公司 配置生成方法、装置、电子设备及存储介质
CN112288231B (zh) * 2020-09-29 2022-05-31 深圳市商汤科技有限公司 人工智能产品的配置生成方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2018067416A1 (en) 2018-04-12
US20180097698A1 (en) 2018-04-05

Similar Documents

Publication Publication Date Title
CN107317730B (zh) 用于监控区块链节点状态的方法、设备和系统
García-Galán et al. Automated configuration support for infrastructure migration to the cloud
CN102195970B (zh) 基于客户端会话的调试
CN104765678A (zh) 对移动终端设备上的应用进行测试的方法及装置
US20060235664A1 (en) Model-based capacity planning
JP6286345B2 (ja) システム設計支援装置およびシステム設計支援方法
US20130268913A1 (en) Managing application template artifacts in a networked computing environment
CN102576354A (zh) 支持不同部署架构的可扩展框架
US20150220553A1 (en) Expandable ad hoc domain specific query for system management
US9459859B2 (en) Template derivation for configuration object management
CN110462623A (zh) 用于基于角色的计算机安全配置的系统和方法
CN108111364B (zh) 一种业务系统的测试方法及装置
US10942801B2 (en) Application performance management system with collective learning
CN101379504B (zh) 用于复合应用的基于角色的访问控制管理的方法及系统
CN102834806A (zh) 系统结构管理设备、系统结构管理方法和程序
CN104765621A (zh) 一种在集群节点中部署程序的方法和系统
CN110659206A (zh) 基于微服务的模拟架构建立方法、装置、介质及电子设备
CN112764751A (zh) 接口生成方法和装置、接口请求方法和装置及存储介质
US10572247B2 (en) Prototype management system
CN115812298A (zh) 供应故障的区块链管理
US9716625B2 (en) Identifying compatible system configurations
CN107621963A (zh) 一种软件部署方法、软件部署系统及电子设备
US20240070123A1 (en) Using Machine Learning to Provide a Single User Interface for Streamlined Deployment and Management of Multiple Types of Databases
CN105511914A (zh) 应用更新方法、装置和系统
CN109791484A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20190521

WW01 Invention patent application withdrawn after publication