CN108369504A - 被分发到变化拓扑的由模型驱动的更新 - Google Patents

被分发到变化拓扑的由模型驱动的更新 Download PDF

Info

Publication number
CN108369504A
CN108369504A CN201680072696.6A CN201680072696A CN108369504A CN 108369504 A CN108369504 A CN 108369504A CN 201680072696 A CN201680072696 A CN 201680072696A CN 108369504 A CN108369504 A CN 108369504A
Authority
CN
China
Prior art keywords
update
cloud application
cloud
distributed
assembly
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
CN201680072696.6A
Other languages
English (en)
Inventor
V·波格雷宾斯凯
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 CN108369504A publication Critical patent/CN108369504A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本公开的示例使得更新能够被部署到可修改的分布式拓扑。在一个方面中,提供了一种用于分发由模型驱动的更新的计算机实现的方法、系统和计算机存储介质。接收到定义任务的指令。接收定义用于分布式云应用的多个组件的第一实例的模型,该多个组件包括第一组件和更新组件。部署多个组件的第一实例。更新组件确定对分布式云应用的更新是否可用。响应于确定更新可用,取回与更新相关联的第二模板,其中第二模板定义第一组件的第二实例。部署第一组件的第二实例。

Description

被分发到变化拓扑的由模型驱动的更新
背景技术
传统上,软件更新已经被用于修复缺陷、提高安全性并引入新特征。分发软件更新通常涉及在逐个设备的基础上部署更新。然而,许多现代计算环境都是基于云的,并且具有广泛多种的操作系统、软件、设备配置等。
已知的云计算设备通过网络(例如,互连网)提供多种计算、联网和/或存储服务。云服务例如在耦合到网络的远程计算设备处可能是可用的。从客户端角度来看,云服务似乎是从单个源(例如,“云”)提供的。然而,被实现以提供云服务的应用和程序可以跨多个资源(例如,数据库、服务器、虚拟机)被分发。针对单个机器的更新不适用于分布式环境,这些环境通常需要自定义配置,并且通常需要访问权限,以便成功地被应用。
发明内容
本公开的示例使得能够以高效和有效的方式部署由模型驱动的更新。在一些示例中,接收定义用于分布式云应用的多个组件的第一实例的模型,并且部署多个组件的第一实例。多个组件包括第一组件和更新组件。可以确定更新是否可用于分布式云应用。在更新可用的条件下,取回与更新相关联的第二模板。第二模板定义第一组件的第二实例。第一组件的第二实例可以被部署以提供由模型驱动的更新。
提供本发明内容是为了以简化形式介绍将在以下具体实施方式中进一步描述的概念的选择。本发明内容并非旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用作确定所要求保护的主题的范围的辅助手段。
附图说明
图1是示例云计算环境的框图。
图2是诸如图1所示的云计算环境之类的环境中的示例云系统和示例移动设备的框图。
图3是用于将更新的模板部署到云组件的示例操作环境的框图。
图4是用于将更新的模板部署到云组件的示例方法的流程图。
图5是用于使用分配环管理更新的示例方法的流程图。
图6是用于模板内的依赖性更新的示例方法的流程图。
图7是可以用于将更新的模板部署到云组件的示例计算设备的框图。
在整个附图中,相应的附图标记表示相应的部分。
具体实施方式
本文中所描述的主题总体上涉及云服务的管理,并且更具体地涉及将更新的模板部署到云组件。一些示例提供了用于接收定义分布式云应用的多个组件的第一实例的模型,其中多个组件包括第一组件和更新组件。可以部署多个组件的第一实例。在一些示例中,更新组件确定对分布式云应用的更新是否可用,并且如果更新可用,则取回与更新相关联的第二模板,其中第二模板定义第一组件的第二实例。一些示例提供了用于部署第一组件的第二实例。
本文中所描述的示例使得由模型驱动的分布式更新能够以可修改的拓扑进行管理。例如,本文中所描述的示例提供了包括模板的云应用,该模板向云应用的组件提供更新和/或允许添加和/或移除组件。本文中所描述的示例可以使用包括计算软件、固件、硬件或其组合或子集的计算机编程或工程技术来实现。本公开的各方面使得能够以计算和系统的方式跨分布式网络发现和部署对一个或多个组件的更新,以提高性能。一个方面提供利用不同用户等级可访问的不同云资源等级来更新组件。另一方面提供管理哪些更新被应用于模板中(诸如分配环内)的组件。例如,基于更新的稳定性和/或采用历史的条件可以使用阈值来约束哪些更新被允许继续进行。又一方面提供了在组件之间传播配置的改变。例如,可以传播一个组件(诸如数据库密码)的改变,以便对模板内的其他组件进行改变,而无需手动对其他组件进行改变。本文中所描述的方法和系统便于跨分布式环境部署一个或多个更新。
如上文所描述的,与在云计算环境中提供更新有关的已知的至少一个技术问题涉及诸如通过利用正在利用给定云计算环境内的多种机器或资源的用户组或用于等级将更新应用于多租户环境内的多个机器或资源。本文中所描述的系统、方法和介质也处理其他技术问题。例如,通过为分布式应用提供统一的由模型驱动的环境来接收更新,而不对云应用的结构或拓扑(云计算环境中的组件和/或资源的结构)做出假设,更新可能比其他可能的更新更有效和准确地被应用。传统上,已经在逐机器(或逐资源)的基础上应用这种更新,其在利用各种机器或资源的云计算环境中不是实用的方法,并且正在被利用的机器或资源随时间的推移而改变。本文中所描述的系统、方法和介质的另一方面通过分配环来增加云应用的稳定性和安全性。例如,新更新和/或有问题的更新可能会破坏功能、危及安全性和/或导致潜在问题。提供控制哪些更新的被应用的机制从而改善应用和机器功能、速度、效率和安全性。本文中所描述的系统、方法和介质的另一方面更新组件之间的依赖性。通过传播在云应用中的组件之间创建依赖性的信息,应用的效率、安全性、可靠性、速度和准确性可能会大大提高。例如,如果单独的系统(诸如数据库)需要定期更新密码,则自动传播对云应用内的各个组件之中的一个组件做出的改变避免了无意地(以及周期性地)破坏连接和自动登录的问题。
图1是图示了用于部署应用程序或“app”(例如,web app、移动app、逻辑app、应用编程接口(API)app)的示例云计算环境的框图。体系架构100图示了适用于实现本公开的各方面的示例云计算基础设施。体系架构100不应当被解释为具有与本文中所图示的任何单个组件或组件的组合有关的任何依赖性或要求。另外,在本公开的示例的范围内,可以采用任何数目的节点、虚拟机、数据中心、角色实例或其组合来实现期望的功能。
图1的分布式计算环境包括公共网络102、私有网络104和专用网络106。公共网络102例如可以是公共云。私有网络104可以是私有企业网络或私有云,而专用网络106可以是第三方网络或专用云。在该示例中,专用网络104可以托管客户数据中心110,专用网络106可以托管互联网服务提供商112。混合云108可以包括公用网络102、私有网络104和专用网络106的任何组合。例如,专用网络106可以是可选的,此时混合云108包括公共网络102和私有网络104。
根据结构控制器118,公共网络102可以包括数据中心,其被配置为托管和支持操作,这些操作包括分布式应用的任务。应当理解并且领会,图1中所示的数据中心114和数据中心116仅仅是用于容纳一个或多个分布式应用的一个合适实现方式的示例,并不旨在对本公开的示例的使用范围或功能提出任何限制。数据中心114和数据中心116也不应被解释为具有与任何单个资源、资源的组合、服务器(例如,服务器120、服务器122和服务器124)的组合、节点(例如,节点132和134)的组合或访问资源、服务器和/或节点的API集合相关的任何依赖性和要求。
数据中心114图示了数据中心,其包括多个服务器(诸如服务器120、服务器122和服务器124)。结构控制器118负责自动管理服务器并且分发数据中心114内的任务和其他资源。作为示例,结构控制器118可以依赖于(例如,由拥有分布式应用的客户设计的)服务模型,以提供关于如何、在何处以及何时配置服务器122以及如何、在何处以及何时在其上放置应用126和应用128的指导。在一个示例中,分布式应用的一个或多个角色实例可以放置在数据中心114的一个或多个服务器上,其中一个或多个角色实例可以表示参与分布式应用的软件、组件程序或角色实例的部分。在另一示例中,一个或多个角色实例可以表示分布式应用可访问的所存储的数据。
数据中心116图示了数据中心,其包括多个节点(诸如节点132和节点134)。例如,一个或多个虚拟机可以在数据中心116的节点(诸如节点134的虚拟机136)上运行。尽管图1描绘了数据中心116的单个节点上的单个虚拟节点,但是根据本公开的说明性示例,可以在数据中心的任何数目的节点上实现任何数目的虚拟节点。通常,基于被放置在分布式应用上的需求(例如,处理负载量),虚拟机136被分配给分布式应用或服务应用的角色实例。如本文中所使用的,短语“虚拟机”不意指是限制性的,并且可以指代处理单元所执行的任何软件、应用、操作系统或程序,以便作为分配给其的角色实例的功能的基础。进一步地,虚拟机136可以包括数据中心116内的处理能力、存储位置和其他资产,以正确地支持所分配的角色实例。
在操作中,虚拟机在数据中心的第一节点和第二节点上动态指派资源,并且端点(例如,角色实例)被动态地放置于虚拟机上以满足当前处理负载。在一个实例中,结构控制器130负责自动管理在数据中心116的节点上运行的虚拟机并且用于将角色实例和其他资源(例如,软件组件)放置在数据中心116内。作为示例,结构控制器130可以依赖于服务模型(例如,由拥有服务应用的客户所设计的),以提供关于如何、在何处以及何时配置诸如虚拟机136之类的虚拟机以及如何、在何处以及何时在其上放置角色实例的指导。
如上文所讨论的,可以在数据中心的一个或多个节点内动态建立和配置虚拟机。如本文中所图示的,节点132和节点134可以是任何形式的计算设备,诸如例如,个人计算机、台式计算机、膝上型计算机、移动设备、消费电子设备、一个或多个服务器等等。在一个实例中,节点托管和支持虚拟机的操作,同时托管被分拆以支持数据中心116的其他租户(诸如内部服务138、托管的服务140和存储装置142)的其他虚拟机。存储装置142的示例可以包括但不限于闪存、硬盘、闪存控制器、基于阵列的存储器、RAID、固态驱动器(SSD)、混合硬盘驱动器(HDD)、阵列、闪存阵列和固体状态驱动器(SSD)RAID。
通常,角色实例可以包括由不同客户拥有的不同服务应用的端点。
通常,每个节点包括或被链接到某种形式的计算单元(例如,中央处理单元、微处理器等)以支持在其上运行的一个或多个组件的操作。如本文中所利用的,短语“计算单元”通常是指具有处理能力和存储器的专用计算设备,其支持操作软件,该操作软件是在其上的软件、应用和计算机程序的执行的基础。在一个实例中,计算单元被配置有有形硬件元件或机器,其与节点集成或可操作地耦合到该节点,以使得每个设备能够执行多种过程和操作。在另一实例中,计算单元可以涵盖耦合到由节点中的每个节点所容纳的计算机可读介质(例如,计算机存储介质和通信介质)的处理器(未示出)。
驻留在节点上的角色实例支持服务应用的操作,并且可以经由API互连。在一个实例中,这些互连中的一个或多个互连可以经由网络云(诸如公共网络102)建立。网络云用来互连诸如角色实例之类的资源,其可以跨各种物理主机(诸如,节点132和134)分布。另外,网络云促进通过连接在数据中心116中运行的服务应用的角色实例的信道的通信。作为示例,网络云可以包括但不限于一个或多个个人区域网络(PAN)、一个或多个局域网(LAN)、一个或多个广域网(WAN)和/或一个或多个蜂窝或移动网络。这种联网环境在办公室、企业范围的计算机网络、内联网和互联网中都很常见。
图2是示例环境200的框图,该示例环境包括云系统210和耦合到云系统210的移动设备或移动客户端220。移动客户端220可以例如与云系统210通信以访问一个或多个应用。在一些示例中,环境200包括一个或多个云系统210,并且移动客户端220可以经由一个或多个网络240(例如,公共网络102、私有网络104、专用网络106)耦合到一个或多个云系统210。
云系统210被配置为执行一个或多个操作。例如,云系统210可以包括和/或可以访问通信服务器250、认证服务器260和/或应用服务器270。在一些示例中,通信服务器250被配置为控制一个或多个计算设备(例如,云系统210、通信服务器250、认证服务器260、应用服务器270)和移动客户端220之间的通信(例如,数据流)。一个或多个计算设备和移动客户端220之间的通信可以通过任何有线或无线连接使用任何协议或机制发生。例如,一个或多个计算设备可以经由网络240与移动客户端220进行通信。
移动客户端220可以(例如,经由通信服务器250)向云系统210发起请求,以访问云系统210上托管和/或由云系统210托管的一个或多个应用230。例如,移动客户端220可以访问与云系统210相关联的数据以执行一个或多个操作。在一些示例中,认证服务器260被配置为管理、存储和/或访问已注册的登录信息280(例如,标识、密码),并且基于已注册的登录信息280来确定移动客户端220或与移动客户端220相关联的用户290被授权访问与云系统210相关联的数据。认证服务器260可以从移动客户端220(例如,经由通信服务器250)接收用户输入(例如,标识、密码)并且将所接收到的用户输入与已注册的登录信息280进行比较以确定移动客户端220或用户290是否被授权访问与云系统210相关联的数据。在一些示例中,移动客户端220和/或用户290可以被授权访问(或被约束访问)一个或多个计算设备和/或基于与移动客户端220和/或用户290(例如,管理员、作者、用户、作家、读者、父母、孩子)相关联的角色来执行一个或多个操作。
在一些示例中,应用服务器270被配置为管理和/或存储一个或多个应用230并且与移动客户端220通信(例如,经由通信服务器250),以允许用户290使用移动客户端220访问一个或多个应用230。应用230可以被配置为执行一个或多个操作,并且可以包括计算软件、固件、硬件或其组合或子集的任何组合。通过示例,应用230可以被配置为在显示器上呈现图像或一系列图像(例如,视频)、播放音频和/或发送服务呼叫以访问与另一计算设备(例如,云系统210)相关联的数据。
应用230当由处理器执行时,操作以执行功能。应用230可以与其他应用或服务通信(诸如经由网络240可访问的web服务)。例如,应用230可以表示与在云系统210处执行的服务器端服务相对应的所下载的客户端应用。在一些示例,应用230可以被配置为在运行时期间与云系统210通信,或者可以在客户端侧服务和云服务之间共享和/或聚合数据。
图3是图示了操作环境300的示例的框图。本文中的示例可以在任何类型的云托管环境中实现。例如,云托管环境可以提供不需要用户托管任何云基础设施的公共云托管。作为另一示例,云托管环境可以提供作为私有云的自托管云基础设施。
云应用310(例如,应用230)可以是利用基于云的体系架构的任何类型的程序。云应用310可以提供客户端侧程序的交互性,其避免消耗用户的本地资源,同时提供与传统web应用的优秀的交互,从而提供更为无缝和便携的体验。
模型320可以被用作关于一个或多个云应用310的模型,以在声明性拓扑上分布多种数据(包括更新),该声明性拓扑诸如用JSON(对象表示法;JAVASCRIPT是Oracle America,Inc.的注册商标)或任何其他合适的格式和/或编程语言定义的显式模型。术语‘模板’和‘模型’可以互换使用。模型320可以定义云应用310的拓扑(或结构)。模型320可以包括任何数目的组件322,324以及任何数目的更新组件326。在一些示例中,组件322,324的组合可以被添加和/或从模型320中移除。组件可以是用户控制的,可配置的,展现明确定义的行为,实现功能和/或利用各种资源。更新组件可以接收和/或请求更新,诸如模板更新328。
资源332,334和336以及342,344和346可以分别属于资源集合330,340。资源可以是任何类型的机器、网络、服务器、虚拟机、软件应用和/或服务。资源的提供者(或“资源提供者”)包括例如结构化查询语言(SQL)提供者、网站提供者、计算资源提供者等,其可以例如从代表性状态转移(REST)API获得。资源也可能具有默认值,其将指定需要那样的输入。
资源不需要与在云基础设施中托管的其他资源物理上接近。通过将资源分组到资源集合中,资源332,334,336在资源集合330内,不管任何资源的实际位置如何,资源集合330都可以被组件用作逻辑组。任何云组件可以被授予对任何数目的资源集合和/或资源的访问(例如,只读、执行、管理、审计)。这种访问可以在更新模板或组件时被修改。在一些示例中,可以通过添加/移除来自特定云计算环境的资源来修改模板。反过来,这可能会由模板/模型的改变来表示(或导致)。
不同的用户等级350,360(或组)可以利用不同的组件322,324。用户等级可以包含任何数目的用户、不包括用户或只包括一个用户。此外,任何等级中包含的用户的数目可能在任何时间变化。对于组件、资源组和/或资源,用户等级不必相对于彼此具有互斥的访问权限。等级可能意味着排名或优先级(诸如访问或特权),但不是必然的。作为说明,第一用户等级350被提供对组件1 322的访问,通过该组件提供对资源集合1 332(以及组成资源332,334,336)的访问。相比之下,继续该示例,第N用户等级360提供对组件1 322的访问,通过该组件授权对资源集合1 330(以及组成资源332,334,336)的访问,以及对组件N 324的访问,通过该组件N 324提供对资源集合N 340(以及组成资源332,334,336)的访问。在另一示例中,用户等级对组件、资源集合和/或资源的访问可以是相互排斥的。
组件322,324可以被部署到用户等级350,360(或个体用户和/或开发人员)。在一些示例中,基于多种因素(稳定性、安全性、效率、资源死锁等),部署可能受到节制。例如,可能基于一个或多个其他用户所遇到的故障来节制更新的部署。一旦部署了资源,云应用310的健康状况可以进一步根据任何合适准则(数据完整性、稳定性、安全性,效率、资源死锁等)进行验证,并且可以在包括更新之前或之后在内的任何时间生成一个或多个健康状况报告。健康状况检查端点可以用于在更新之后验证资源(诸如服务)的健康状况。附加地,应用健康状况检查端点允许云应用自行评估应用自身的健康状况。进一步地,计算健康状况可以用于验证资源是否正在运行。在健康状况检查的另一示例中,存储健康状况可以用于验证云应用使用的底层存储是可访问的。在一些示例中,从属服务健康状况可以用于验证从属资源是否如预期那样响应。附加地,可能要求用户选中以请求对应用的更新。在一些示例中,更新包括与其他数据(例如,密钥)进行比较以确定更新是否合法的签名数据。
可以在部署更新之前、期间和/或之后(例如,经由健康状况报告)监控云的健康状况。基于一个或多个合适的准则,可以在部署更新之前、期间和/或之后基于云的健康状况来停止和/或暂停一个或多个更新的分发。例如,更新分发者(例如,更新组件326)可以接收与对第一云的第一更新相关联的健康状况报告并且基于所接收的健康状况报告来选择性地分发(或不分发)第一更新和/或对第一云的另一更新。附加地或可替代地,更新分发者可以基于所接收到的健康状况报告来选择性地分发(或不分发)可能与或不能与第一云(或其他共享的或重叠的云基础设施)相关联的第一更新和/或对另一云的另一更新。例如,健康状况报告可以包括更新统计,其可以与更新阈值相比较。在更新统计不满足更新阈值(例如,更新统计低于更新阈值)的情况下,更新的分发可以被暂停。另一方面,如果更新统计满足更新阈值(例如,更新统计处于或高于更新阈值),则可以分发更新以应用更新。在一些示例中,由于联系人信息(例如,电子邮件)可以被提供给更新分发者,更新分发者可以与一个或多个云管理员(例如,私有云管理员)进行通信以用于故障排除和/或提供更新状态数据。
资源可以是多租户的(由多个用户/开发者使用,甚至在不同的用户等级之中)。当获取组件和/或资源时,在一些示例中可以利用自动安装。附加地,在一些示例中,资源发布者信息可用于联系这些发布者以用于故障排除的目的。
图4是将更新的模板部署到组件的示例方法400的流程图。在410处,云应用310接收模型320,该模型320包括一个或多个组件322,324(例如,第一组件)和至少一个更新组件326。模型320可以定义组件的第一实例。在420处,云应用310部署多个组件322,324的第一实例,其可以包括部署到一个或多个资源332,334,336,342,344和346和/或资源集合330,340中的一个或多个资源集合。
在430处,由更新组件326执行检查以查看对云应用310的更新328是否可用。更新组件326可以通过任何合适的接口来更新,诸如使用powershell脚本。如果没有更新328可用,则更新组件326可以稍后再次检查。例如,更新组件326可以在自先前检查起经过预先确定的时间段之后检查更新。在一些示例中,检查以规则的间隔执行,而其他示例利用其他时间间隔(其中每个时间间隔可以单独指定和/或是不规则的)。其他示例可以等待来自用户或系统的接收更新的统计的请求,或等待自动检查和手动检查的某个组合。
在440处,如果至少一个更新328可用,则更新组件326取回更新328,该更新328包含模型320的更新的版本(例如,在一些示例中为模板)。模板320可以定义一个或多个云组件322,324的第二实例。在450处,部署至少一个云组件322的更新版本以更新和/或替换云组件322的当前版本。在一些示例,可以在更新的版本满足一个或多个预先确定的条件或要求的情况下部署更新的版本。例如,可以确定是否满足一个或多个条件(例如,先决条件)和/或可以将与第一实例相关联的版本与与第二实例相关联的版本进行比较。
在一些示例中,更新分发选项可以用于指定更新的分发环和分发排名以便控制和/或节制更新的版本。分发环可以用于进一步指定交错发布(staggered release),其中交错是通过任何合适的准则。分发环也可以允许指定更新被应用于应用的哪些版本,并且选择性地只更新指定的版本(或在其他示例中,排除一些版本)。在一些示例中,如果来自其他应用的安装报告指示更新安装不成功,则更新分发可以自动停止。一些示例还在广泛发布之前执行更新的一个或多个测试部署。一些示例进一步提供了防止更新的自动安装,而是配置在私有云中运行的自动更新服务以在分发这些更新之前要求更新的明确批准。
在一些示例中,与第一私有云(例如,更新组件326)相关联的第一更新分发者可以处理与第一私有云之外的分发服务分开的、针对第一私有云的一个或多个更新。例如,第一更新分发者可以被配置为向第一私有云分发一个或多个更新,另一更新分发者(例如,第二更新分发者)可以被配置为向与第一私有云不同的另一私有云分发一个或多个更新,和/或又一更新分发者(例如,第三更新分发者)可以被配置为向公共云分发一个或多个更新。这样,第一私有云可以被配置为选择性地从第一更新分发者、第二更新分发者和/或第三更新分发者接收(或不接收)更新。
图5是用分配环管理更新的示例方法500的流程图。在510处,云应用310(例如,更新组件326)接收与一个或多个更新328有关的阈值。分布环可以被设置为例如利用任何合适类型的阈值(包括任何数目和/或类型的准则和/或规则)以约束和/或允许更新的应用。在一些示例中,可以接收指定分发环和/或联系人数据的应用注册输入。可以分析关于更新的统计,是否包含作为更新内的元数据的统计,或者是否从其他源接收统计。更新统计的一个示例可以涉及更新的稳定性,其中仅达到或高于预先确定的稳定性评级的更新被准许应用。另一示例可以涉及更新的采用率,其可以通过比较已经实际应用了更新的实例数目与可以应用更新的全部实例(或其子集)来测量。又一示例涉及更新的稳定性评级,其中分发环约束至少不具有预先确定的稳定性评级的更新。进一步地,可以利用规则和/或准则的任何合适的组合,并且可以包括复合规则和/或准则。例如,超过预先确定的安全评级准则的更新又可以修改(例如,降低)采用百分比准则(或反之亦然)。
在520处,接收或请求更新。在530处,接收到关于更新的统计信息。如上文所描述的,统计可以包含在更新本身(例如,元数据)内或可以从另一个源提供。在540处,更新统计与分发环中的一个或多个更新阈值进行比较。如果满足阈值(例如,如果更新统计超过阈值),则可以在570处应用更新,例如,在更新的采用水平超过(或至少满足)阈值采用水平的情况下。可替代地,如果更新的统计低于(或者在其他示例中未能超过)阈值更新采用水平,则在550处更新可以被暂停(或者在其他示例中被取消)。
一旦在550处暂停了更新,则可以在560处周期性地执行检查以确定是否已经经过了预先确定的时间段以检查用于更新的更为最近的统计。在一些示例中,检查以规则间隔执行,而其他示例利用其他时间间隔(其中每个时间间隔可以单独指定和/或是不规则的)。其他示例可以等待来自用户或系统的接收更新的统计的请求,或等待自动和手动检查的某种组合。
在560处,一旦经过了必要的时间,则可以在530处取回和/或接收关于该更新的当前统计(或新近的,其中新近度可在其一些示例中指定为其自己的阈值)。如果统计与先前版本不同(或者在一些示例中差异超过阈值差异),则一些示例在530处可能仅允许接收和/或取回统计(和/或在540处与阈值进行比较)。
图6是模板内的依赖性更新的示例方法600的流程图。在610处,接收用于模型320(例如,第一组件)中的至少一个组件322的配置更新。配置更新例如可以涉及用于诸如数据库之类的资源322的更新的密码。
在620处,执行检查以确定模型320中的附加组件324是否依赖于正在被更新的配置。例如,模型320中的另一组件324可以依赖于修改后的配置(例如,更新后的数据库密码)。配置更新可以涉及例如资源332或资源集合330。如果附加组件324不具有依赖性,则在640处执行检查以查看是否存在具有依赖性的另一组件。
如果在620处存在依赖性,则在630处,更新附加组件324以反映对第一组件322的改变。配置改变可以传播到受该改变影响的任何或所有组件,并且还可以被存储在模板内。传播可以应用于组件之间和/或关于相同组件的相同或不同资源。在640处,执行检查以确定另一组件是否也具有与配置改变有关的依赖性。如果是,则通过返回到620来检查下一组件。
图7是可以用于将更新的模板部署到云组件的示例操作环境700的框图。操作环境700仅是计算和联网环境的一个示例,并不旨在对本公开的使用范围或功能提出任何限制。操作环境700不应被解释为具有与示例操作环境700中所图示的组件中的任一个或组合有关的任何依赖性或要求。
本公开使用许多其他计算和联网环境或配置进行操作。操作环境700可以表示处理单元或其他计算设备的组。附加地,本文中所描述的任何计算设备可以被配置为执行本文中所描述的任何操作,其包括本文中被描述为由另一计算设备执行的一个或多个操作。
虽然本文参考处于云计算环境(参见例如图1)中的操作环境700来图示和描述了本公开的一些示例,但是本公开的各方面可以使用执行实现与操作环境700相关联的操作和功能的指令的任何计算设备进行操作。参照图7,一种用于实现本公开的各个方面的示例系统可以包括计算机710形式的通用计算设备。计算机710的组件可以包括但不限于处理单元720、系统存储器725以及将包括系统存储器725的各种系统组件耦合到处理单元720的系统总线730。系统总线730可以是几种类型的总线接口中的任一种,这几种类型的总线接口包括存储器总线或存储器控制器、外围总线以及使用多种总线体系架构中的任一种的本地总线。通过示例而非限制,这样的体系架构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子标准协会(VESA)本地总线以及外围组件互连(PCI)总线(也被称为夹层总线)。在一些示例中,处理单元720表示执行本文中所描述的操作的模拟技术的实现方式。例如,操作可以由模拟计算设备和/或数字计算设备来执行。
系统存储器725包括与处理单元720相关联或可由处理单元720访问的任何数量的介质。例如,系统存储器725可以包括易失性和/或非易失性存储器形式的计算机存储介质,诸如只读存储器(ROM)731和随机存取存储器(RAM)732。ROM 731可以存储基本输入/输出系统733(BIOS),其有助于在诸如启动期间在计算机710内的元件之间传送信息。RAM 732可以包含处理单元720立即可访问和/或当前正在操作的数据和/或程序模块。例如,系统存储器725可以存储计算机可执行指令、通信数据、认证数据、应用数据和其他数据。
处理单元720可以被编程为执行用于实现本公开的各方面的计算机可执行指令,诸如图中(例如,图4至图6)所图示的那些。通过示例而非限制,图7图示了操作系统734、应用程序735、其他程序模块736和程序数据737。处理单元720包括任何数量的处理单元,并且指令可以由处理单元720、或由操作环境700内的多个处理器、或由操作环境700外部的处理器来执行。
系统存储器725可以包括一个或多个组件,其使得操作环境700能够执行一个或多个功能。例如,在编程或执行这些组件时,操作环境700和/或处理单元720被转换成专用微处理器或机器。例如,接口模块当由处理单元720执行时,使得处理单元720接收定义用于分布式云应用的多个组件的实例的模板,并且部署多个组件的实例;以及更新模块当由处理单元720执行时,使得处理单元720确定对分布式云应用的更新是否可用,并且响应于确定更新可用,取回与更新相关联的模板。虽然处理单元720被示为与系统存储器725分离,但是本公开的示例设想了系统存储器725可以在处理单元720上,诸如在一些嵌入式系统中。
计算机710还可以包括其他可移除/不可移除、易失性/非易失性计算机存储介质。仅作为示例,图7图示了从不可移除的非易失性磁介质读取或向其写入的硬盘驱动器741、从可移除的非易失性磁盘743(例如,软盘、盒式磁带)读取或向其写入的磁盘驱动器742、以及从可移除的非易失性光盘745(例如,压缩盘(CD)、数字多功能盘(DVD))读取或向其写入的光盘驱动器744。可以在示例操作环境中使用的其他可移除/不可移除、易失性/非易失性计算机存储介质包括但不限于闪存卡、数字录像带、固态RAM、固态ROM等。硬盘驱动器741可以通过诸如接口746之类的不可移除存储器接口连接到系统总线730,并且磁盘驱动器742和光盘驱动器744可以通过诸如接口747之类的可移除存储器接口连接到系统总线730。
如上文所描述的并且在图7中图示的驱动器及其相关联的计算机存储介质可以为计算机710提供计算机可读指令、数据结构、程序模块和其他数据的存储。在图7中,例如,硬盘驱动器741被图示为存储操作系统754、应用程序755、其他程序模块756和程序数据757。应当指出,这些组件可以与操作系统734、应用程序735、其他程序模块736和程序数据737相同或不同。操作系统754、应用程序755、其他程序模块756和程序数据757在本文中被赋予不同的数字以说明至少它们是不同的副本。
计算机710包括多种计算机可读介质。计算机可读介质可以是可以由计算机710访问的任何可用介质,并且包括易失性和非易失性介质以及可移除和不可移除介质。
作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。ROM 731和RAM732是计算机存储介质的示例。计算机存储介质是有形的,且与通信介质相互排斥。针对本公开目的的计算机存储介质本身不包括信号。计算机存储介质包括硬盘、闪存驱动器、固态存储器、RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术、CD、DVD或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁性存储设备、或可以用于存储所需信息并且可以由计算机710访问的任何其他介质。计算机存储介质以硬件实现并且排除载波和传播信号。任何这样的计算机存储介质可以是计算机710的一部分。
通信介质通常以经调制的数据信号(诸如载波或其他传输机制)来体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息递送介质。术语“经调制的数据信号”是指具有以对信号中的信息进行编码的方式设置或改变其特点中的一个或多个特点的信号。通过示例而非限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、RF、红外线和其他无线介质的无线介质。
用户可以通过一个或多个输入设备(诸如指向设备761(例如,鼠标、轨迹球、触摸板)、键盘762、麦克风763和/或电子数字化仪764(例如,平板电脑)向计算机710录入命令和信息。未在图7中示出的其他输入设备可以包括操纵杆、游戏手柄、控制器、卫星天线、相机、扫描仪、加速度计等。这些和其他输入设备可以通过耦合到系统总线730的用户输入接口765耦合到处理单元720,但可以通过其他接口和总线结构(诸如并行端口、游戏端口或通用设备串行总线(USB))连接。
诸如文本、图像、音频、视频、图形、警报等之类的信息可以经由一个或多个呈现设备(诸如监视器766、打印机767和/或扬声器768)向用户呈现。未在图7中示出的其他呈现设备可以包括投影仪、振动组件等。这些和其他呈现设备可以通过视频接口769(例如,用于监视器766或投影仪)和/或耦合至系统总线730的输出外围接口770(例如,用于打印机767、扬声器768和/或振动组件)耦合至处理单元720,但还可以通过其他接口和总线结构(诸如并行端口、游戏端口或USB)连接。在一些示例中,呈现设备与被配置为从用户接收信息的输入设备(例如,电容式触摸屏面板、包括振动组件的控制器)集成。应当指出,监视器766和/或触摸屏面板可以物理地耦合到其中包含计算机710的外壳,诸如在平板型个人计算机中。
计算机710可以使用到一个或多个远程计算机(诸如远程计算机780)的逻辑连接在联网环境中操作。尽管在图7中仅图示了存储器存储设备781,远程计算机780可以是个人计算机、服务器、路由器、网络PC、对等设备或其他公共网络节点,并且通常包括上文相对于计算机710所描述的许多或全部元件。图7中所描绘的逻辑连接包括一个或多个LAN 782和一个或多个WAN 783,但也可以包括其他网络。这种联网环境在办公室、企业范围的计算机网络、内联网和互联网中都很常见。
当在LAN联网环境中使用时,计算机710通过网络接口或适配器784耦合到LAN782。当在WAN联网环境中使用时,计算机710可以包括调制解调器785或用于通过诸如互联网之类的WAN 783建立通信的其他手段。调制解调器785可以是内部的或外部的,可以经由用户输入接口765或其他适当的机构连接到系统总线730。诸如包括接口和天线的无线联网组件可以通过诸如接入点或对等计算机之类的合适设备耦合到LAN 782或WAN 783。在联网环境中,相对于计算机710所描绘的程序模块或其各部分可以存储在远程存储器存储设备中。通过示例而非限制,图7图示了如驻留在存储器存储设备781上的远程应用程序786。应当领会,所示的网络连接是示例,并且可以使用在计算机之间建立通信链路的其他手段。
图7的框图仅仅说明可以结合本公开的一个或多个示例使用并且不旨在以任何方式进行限制的示例性系统。进一步地,本领域中已知的计算设备的外围设备或组件未示出,但可用本公开的各方面进行操作。图7中各种元件的功能的至少一部分功能可以由图7中的其他元件或未在图7中示出的实体(例如,处理器、web服务、服务器、应用、计算设备等)执行。
本文中所描述的主题使得计算设备能够将更新的模板部署到云组件。例如,一个或多个更新可以应用于分布式环境中的多个机器或资源。这样,可以以计算和系统的方式更新一个或多个云组件以提高性能。
尽管结合示例计算系统环境进行了描述,但是本公开的示例能够用许多其他通用或专用计算系统环境、配置或设备来实现。
可以适用于本公开的各方面的公知计算系统、环境和/或配置的示例包括但不限于移动计算设备、个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、游戏控制台、基于微处理器的系统、机顶盒、可编程消费电子装置、移动电话、具有可穿戴或饰物形式因素的移动计算和/或通信设备(例如,手表、眼镜、头戴式耳机或耳机)、网络PC、小型计算机、大型计算机、包括任何上述系统或设备中的任一个的分布式计算环境等。这样的系统或设备可以以任何方式接受来自用户的输入,包括经由手势输入、接近输入(诸如通过悬停)和/或经由话音输入的、来自诸如键盘或指示设备的输入设备的输入。
本公开的示例可以在由一个或多个计算机或其他设备以软件、固件、硬件或其组合执行的计算机可执行指令(诸如程序模块)的一般上下文中进行描述。计算机可执行指令可以被组织成一个或多个计算机可执行组件或模块。通常,程序模块包括但不限于执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件和数据结构。本公开的各方面可以用这些组件或模块的任何数目和组织来实现。例如,本公开的各方面不限于在附图中图示并且在本文中所描述的特定计算机可执行指令或特定组件或模块。本公开的其他示例可以包括具有比本文所图示和描述的更多或更少功能的不同计算机可执行指令或组件。本公开的示例还可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实施。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和/或远程计算机存储介质中。
本文中所图示和描述的示例以及本文中没有具体描述但在本公开的各方面的范围内的示例构成了用于由模型驱动的更新的示例装置。例如,图1、图2、图3和/或图7所图示的元件诸如当被编码以执行图4、图5和/或图6中所图示的操作时构成用于接收定义用于分布式云应用的多个组件的实例的模板的至少一个示例装置;用于部署多个组件的实例的示例装置;用于确定对分布式云应用的更新是否可用的示例装置;以及用于取回与更新相关联的模板的示例装置。
除非另外指明,否则本文中所图示和描述的本公开的示例中的操作的执行或进行的次序不是必需的。也就是说,除非另外指明,否则操作可以以任何次序执行,并且本公开的示例可以包括比本文中所公开的那些操作更多或更少的操作。例如,应当设想,在另一操作之前、同时或之后执行或进行特定操作在本公开的各方面的范围内。
当介绍本公开的各方面的元件或其示例时,冠词“一”、“一个”、“该”和“所述”旨在意指存在元件中的一个或多个元件。术语“包括(comprising)”、“包含(including)”和“具有(having)”旨在是包含性的并且意指除了所列出的元件之外可以存在其他元件。短语“以下各项中的一项或多项:A,B和C”意指“A中的至少一个和/或B中的至少一个和/或C中的至少一个”。
已经详细描述了本公开的各方面,明显的是,在不背离所附权利要求所限定的本公开的方面的范围的情况下,修改和变型是可能的。由于在不背离本公开的各方面的范围的情况下可以对上述构造、产品和方法进行各种改变,所以意图是上述说明中包含的和附图中所示出的所有内容应当被解释为说明性的而限制性的。
可替代地或除了本文中所描述的其他示例之外,示例包括以下各项的任何组合:
-接收定义用于分布式云应用的多个组件的实例的模板;
-部署一个或多个组件的实例;
-确定对分布式云应用的更新是否可用;
-取回与更新相关联的模板;
-确定更新是否满足一个或多个预先确定的条件;
-确定分布式云应用的健康状况;
-生成一个或多个健康状况报告;
-节制一个或多个组件的实例的部署;
-接收定义第一用户等级和第二用户等级的声明性模型;
-在更新内接收与其他数据相比较以确定更新是否合法的签名数据;
-确定由声明性模型定义的、用于部署多个组件的实例以可被用户等级使用的第一条件;
-在部署组件实例期间分配资源以改变与分布式云应用相关联的服务拓扑;
-基于模板来添加组件;
-基于模板来删除组件;
-接收包括更新统计的更新;
-暂停更新;
-部署更新;
-应用更新;
-接收指定分发环和联系人数据的应用注册输入;
-接口组件,其被配置为接收定义用于分布式云应用的多个组件的实例的模板;
-接口组件,其被配置为部署多个组件的实例;
-更新组件,其被配置为确定对分布式云应用的更新是否可用;
-更新组件,其被配置为取回与更新相关联的模板;
-更新组件,其被配置为确定分布式云应用的健康状况;
-更新组件,其被配置为生成一个或多个健康状况报告;
-更新组件,其被配置为将用于第一组件的配置更新传播到第二组件;
-更新组件,其被配置为接收包括更新统计的更新;
-更新组件,其被配置为暂停更新;
-更新组件,其被配置为应用更新;
-更新组件,其被配置为比较刷新的更新统计;
-更新组件,其被配置为保持更新被暂停;
-更新组件,其被配置为接收定义第一等级用户和第二等级用户的声明性模型;以及
-更新组件,其被配置为确定由声明性模型定义的、用于部署一个或多个组件的实例以可被用户等级使用的条件。
在一些示例中,附图中所图示的操作可以被实现为在计算机可读介质上编码的软件指令、以被编程或设计为执行操作的硬件来实现,或两者兼而有之。例如,本公开的各方面可以被实现为片上系统或包括多个互连的导电元件的在内其他电路。
虽然已经根据各种示例及其相关联的操作对本公开的各方面进行了描述,但是本领域技术人员应当领会,来自任何数目的不同示例的操作的组合也在本公开的各方面的范围内。

Claims (10)

1.一种由分布式计算环境中的计算设备执行的方法,所述方法包括:
接收第一模板,所述第一模板定义分布式云应用的多个组件的第一实例,所述多个组件至少包括第一组件和更新组件;
部署由所述第一模板定义的所述分布式云应用的所述多个组件的所述第一实例;
使用所述更新组件来确定对所述分布式云应用的至少一部分的更新是否可用;以及
响应于确定所述更新可用,
取回与所确定的更新相关联的所述分布式云应用的第二模板,所述第二模板定义所述分布式云应用的至少所述第一组件的第二实例;以及
部署所述分布式云应用的所述第一组件的所述第二实例,从而更新所述分布式计算环境中的所述分布式云应用的所述第一组件。
2.根据权利要求1所述的方法,还包括:响应于确定所述更新可用,基于所取回的第二模板来添加或移除所述分布式云应用的所述组件中的一个组件。
3.根据权利要求1所述的方法,还包括:
使用所述更新组件来确定所述分布式云应用的健康状况;以及
基于所确定的所述分布式云应用的健康状况,生成关于所述更新的状态的报告。
4.根据权利要求1所述的方法,还包括:
使用所述更新组件,来确定所述分布式云应用的所述第一组件的所部署的第二实例的健康状况;以及
基于所确定的所述分布式云应用的所述第一组件的所述健康状况,使所述分布式计算环境中的所述更新的分发被停止或暂停。
5.根据权利要求1所述的方法,其中还包括:接收应用注册输入,所述应用注册输入指定与所述分布式云应用相关联的分发环和联系人数据。
6.根据权利要求1所述的方法,还包括:
接收声明性模型,所述声明性模型定义与所述分布式云应用相关联的第一等级用户和第二等级用户;
确定由所述声明性模型定义的、用于将所述第一组件的所述第二实例部署为可用于所述第一等级用户的第一条件;以及
确定由所述声明性模型定义的、用于将所述第一组件的所述第二实例部署为可用于所述第二等级用户的第二条件。
7.根据权利要求1所述的方法,还包括:
接收更新统计;以及
基于所述更新统计低于更新阈值来暂停所述更新;或
基于所述更新统计满足所述更新阈值来应用所述更新。
8.根据权利要求1所述的方法,还包括:在所述第一组件的所述第二实例的所述部署期间分配新资源,以改变与所述分布式云应用相关联的服务拓扑。
9.根据权利要求1所述的方法,其中部署所述多个组件的所述第一实例以及部署所述多个组件的所述第二实例包括:基于所述分布式云应用的一个或多个用户所遇到的故障,来分别节制所述多个组件的所述第一实例或所述第二实例的所述部署。
10.一种计算系统,包括处理器和存储器,所述存储器包括指令,所述指令能够由所述处理器执行以使所述处理器执行根据权利要求1至9中的任一项所述的过程。
CN201680072696.6A 2015-12-09 2016-12-02 被分发到变化拓扑的由模型驱动的更新 Withdrawn CN108369504A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/964,222 2015-12-09
US14/964,222 US20170168797A1 (en) 2015-12-09 2015-12-09 Model-driven updates distributed to changing topologies
PCT/US2016/064508 WO2017100082A1 (en) 2015-12-09 2016-12-02 Model-driven updates distributed to changing topologies

Publications (1)

Publication Number Publication Date
CN108369504A true CN108369504A (zh) 2018-08-03

Family

ID=57570608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680072696.6A Withdrawn CN108369504A (zh) 2015-12-09 2016-12-02 被分发到变化拓扑的由模型驱动的更新

Country Status (4)

Country Link
US (1) US20170168797A1 (zh)
EP (1) EP3387527A1 (zh)
CN (1) CN108369504A (zh)
WO (1) WO2017100082A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109388415A (zh) * 2018-09-27 2019-02-26 深圳供电局有限公司 一种应用自动化更新装置、系统和方法

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10484382B2 (en) 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10846390B2 (en) 2016-09-14 2020-11-24 Oracle International Corporation Single sign-on functionality for a multi-tenant identity and data security management cloud service
US10594684B2 (en) 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
WO2018053258A1 (en) 2016-09-16 2018-03-22 Oracle International Corporation Tenant and service management for a multi-tenant identity and data security management cloud service
US10445395B2 (en) 2016-09-16 2019-10-15 Oracle International Corporation Cookie based state propagation for a multi-tenant identity cloud service
US10904074B2 (en) 2016-09-17 2021-01-26 Oracle International Corporation Composite event handler for a multi-tenant identity cloud service
US10558449B2 (en) 2016-12-06 2020-02-11 Vmware, Inc. Distribution and execution of instructions in a distributed computing environment
US10200411B1 (en) * 2017-01-24 2019-02-05 Intuit Inc. Method and system for providing instance re-stacking and security ratings data to identify and evaluate re-stacking policies in a cloud computing environment
US10503493B2 (en) * 2017-05-16 2019-12-10 Oracle International Corporation Distributed versioning of applications using cloud-based systems
US10721294B2 (en) * 2017-07-12 2020-07-21 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus and method for subscription-based resource throttling in a cloud environment
US10831789B2 (en) 2017-09-27 2020-11-10 Oracle International Corporation Reference attribute query processing for a multi-tenant cloud service
US10705823B2 (en) * 2017-09-29 2020-07-07 Oracle International Corporation Application templates and upgrade framework for a multi-tenant identity cloud service
US10715564B2 (en) 2018-01-29 2020-07-14 Oracle International Corporation Dynamic client registration for an identity cloud service
US10764133B2 (en) * 2018-04-24 2020-09-01 Dell Products, L.P. System and method to manage server configuration profiles in a data center
US10761858B2 (en) 2018-04-24 2020-09-01 Dell Products, L.P. System and method to manage a server configuration profile of an information handling system in a data center
US10778518B2 (en) 2018-04-24 2020-09-15 Dell Products, L.P. System and method to manage a server configuration profile based upon applications running on an information handling system
US10656922B2 (en) * 2018-05-25 2020-05-19 Paypal, Inc. Systems and methods for providing an application transformation tool
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
US11423111B2 (en) 2019-02-25 2022-08-23 Oracle International Corporation Client API for rest based endpoints for a multi-tenant identify cloud service
US10587457B1 (en) * 2019-05-10 2020-03-10 Capital One Services, Llc Techniques for dynamic network resiliency
US10644954B1 (en) 2019-05-10 2020-05-05 Capital One Services, Llc Techniques for dynamic network management
US10756971B1 (en) 2019-05-29 2020-08-25 Capital One Services, Llc Techniques for dynamic network strengthening
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
US11687378B2 (en) 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
US11288055B2 (en) 2020-02-18 2022-03-29 International Business Machines Corporation Model-based differencing to selectively generate and deploy images in a target computing environment
US11848829B2 (en) * 2020-11-06 2023-12-19 Salesforce, Inc. Modifying a data center based on cloud computing platform using declarative language and compiler
CN112579106B (zh) * 2020-12-14 2024-04-02 深圳忆联信息系统有限公司 基于联想驱动库的微软驱动布署方法及装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003266A1 (en) * 2000-09-22 2004-01-01 Patchlink Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method
US7562358B2 (en) * 2004-10-04 2009-07-14 United Parcel Service Of America, Inc. Controlled deployment of software in a web-based architecture
US20060168576A1 (en) * 2005-01-27 2006-07-27 Dell Products L.P. Method of updating a computer system to a qualified state prior to installation of an operating system
US20070240151A1 (en) * 2006-01-29 2007-10-11 Microsoft Corporation Enhanced computer target groups
CA2579266A1 (en) * 2007-02-21 2008-08-21 Ibm Canada Limited - Ibm Canada Limitee System and method for scheduling software updates
US8898676B2 (en) * 2011-08-26 2014-11-25 Vmware, Inc. Management of software updates for software components in a virtualized environment of a datacenter using dependency relationships
US20140032733A1 (en) * 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US9047133B2 (en) * 2012-03-02 2015-06-02 Vmware, Inc. Single, logical, multi-tier application blueprint used for deployment and management of multiple physical applications in a cloud environment
WO2013184140A1 (en) * 2012-06-08 2013-12-12 Hewlett-Packard Development Company, L.P. Version management for applications
US8572679B1 (en) * 2012-07-24 2013-10-29 Microsoft Corporation Automatic system upgrade orchestrator
TWI489124B (zh) * 2012-07-26 2015-06-21 Delta Electronics Inc 電力資訊的獲取方法
EP2893443B1 (en) * 2012-09-03 2020-01-22 Telefonaktiebolaget LM Ericsson (publ) Re-configuration in cloud computing environments
US20140088880A1 (en) * 2012-09-21 2014-03-27 Life Technologies Corporation Systems and Methods for Versioning Hosted Software
US8996932B2 (en) * 2013-01-09 2015-03-31 Microsoft Technology Licensing, Llc Cloud management using a component health model
US9141487B2 (en) * 2013-01-15 2015-09-22 Microsoft Technology Licensing, Llc Healing cloud services during upgrades
WO2014209078A1 (en) * 2013-06-28 2014-12-31 Samsung Electronics Co., Ltd. Method and apparatus for updating application
US9143921B2 (en) * 2013-09-06 2015-09-22 Qualcomm Incorporated Communicating physical layer wireless parameters over an application programming interface
US10375047B2 (en) * 2013-09-30 2019-08-06 Schneider Electric Industries Sas Cloud-authenticated site resource management devices, apparatuses, methods and systems
US9325703B2 (en) * 2014-02-27 2016-04-26 International Business Machines Corporation Automatic security parameter management and renewal
US10540072B2 (en) * 2014-07-15 2020-01-21 Abb Schweiz Ag System and method for self-optimizing a user interface to support the execution of a business process
US9842042B2 (en) * 2014-09-25 2017-12-12 Bank Of America Corporation Datacenter management computing system
EP3001341B1 (en) * 2014-09-26 2020-01-15 Nxp B.V. NFC device, software installation method, software uninstallation method, computer program and article of manufacture
US9917687B2 (en) * 2015-10-12 2018-03-13 Microsoft Technology Licensing, Llc Migrating secrets using hardware roots of trust for devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109388415A (zh) * 2018-09-27 2019-02-26 深圳供电局有限公司 一种应用自动化更新装置、系统和方法

Also Published As

Publication number Publication date
EP3387527A1 (en) 2018-10-17
WO2017100082A1 (en) 2017-06-15
US20170168797A1 (en) 2017-06-15

Similar Documents

Publication Publication Date Title
CN108369504A (zh) 被分发到变化拓扑的由模型驱动的更新
US11467879B2 (en) Techniques for implementing rollback of infrastructure changes in a cloud infrastructure orchestration service
US11811925B2 (en) Techniques for the safe serialization of the prediction pipeline
JP6490633B2 (ja) プライベート・クラウド・コンピューティングためのシステムおよび方法
CN107690623B (zh) 自动异常检测和解决系统
US10462210B2 (en) Techniques for automated installation, packing, and configuration of cloud storage services
JP2019522846A (ja) データベースプロビジョニングのためのリソース配分
US11755337B2 (en) Techniques for managing dependencies of an orchestration service
JP2023511113A (ja) 宣言型プロビジョニングツールを使用してインフラストラクチャリソースを展開するための技術
JP2023511117A (ja) 分散バージョン制御システムにおけるコードの更新
JP2023511114A (ja) デプロイ命令のために有向非巡回グラフを利用するための技術
JP2024500770A (ja) 計算インスタンスの局面を修正するための技術
JP2023511111A (ja) デプロイメントオーケストレータにおけるドリフトを検出するための技術
US10523591B2 (en) Discovering resource availability across regions
CN114730258A (zh) 用于基础设施编排服务的用户界面技术
US9367373B2 (en) Automatic configuration consistency check

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20180803