CN104253831B - 一种用于在云计算环境中部署应用的方法和系统 - Google Patents

一种用于在云计算环境中部署应用的方法和系统 Download PDF

Info

Publication number
CN104253831B
CN104253831B CN201310259539.4A CN201310259539A CN104253831B CN 104253831 B CN104253831 B CN 104253831B CN 201310259539 A CN201310259539 A CN 201310259539A CN 104253831 B CN104253831 B CN 104253831B
Authority
CN
China
Prior art keywords
metadata
application
service
instruction
model
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
Application number
CN201310259539.4A
Other languages
English (en)
Other versions
CN104253831A (zh
Inventor
杨博
毛新生
谭佳
李彤
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201310259539.4A priority Critical patent/CN104253831B/zh
Priority to US14/263,841 priority patent/US9361081B2/en
Priority to US14/498,725 priority patent/US9354851B2/en
Publication of CN104253831A publication Critical patent/CN104253831A/zh
Priority to US15/140,142 priority patent/US10649751B2/en
Priority to US15/140,166 priority patent/US10048957B2/en
Priority to US15/140,102 priority patent/US10528333B2/en
Application granted granted Critical
Publication of CN104253831B publication Critical patent/CN104253831B/zh
Priority to US16/101,410 priority patent/US10795656B2/en
Priority to US16/694,699 priority patent/US11237812B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/64Retargetable
    • 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
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

本发明属于云计算领域,公开了一种用于在云计算环境中部署应用的方法和系统。该方法包括:在用户部署应用时,收集与部署应用相关的元数据以及指令,所述元数据包括服务元数据、应用元数据以及拓扑元数据,其中,所述服务元数据包括与部署该应用所需要的服务相关的元数据,所述应用元数据包括与该应用相关的元数据,拓扑元数据包括表示所述服务与所述应用之间关系的元数据;将收集到的元数据和指令存储为模型以用于该应用的再次部署。通过对于用户部署应用操作的记录,可以得到部署所用的模型,这样当再次部署时,可以直接调用模型实现自动部署,降低了部署应用所需的专业技能,方便了应用的再次部署。

Description

一种用于在云计算环境中部署应用的方法和系统
技术领域
本发明涉及云计算领域,更具体地,涉及一种用于在云计算环境中部署应用的方法和系统。
背景技术
在云计算环境中,多个用户可能都需要使用某一应用。那么对于这些用户,目前,需要每个用户都自己完成该应用的部署。应用的部署需要一定的专业技能,因此对于某些用户而言,自己部署应用有一定的困难,这在一定程度上就限制了云平台的发展,也为用户使用带来了不便。并且,在云计算环境中,若用户需要多次部署同一应用,也需要每次都进行一次相同的操作,费时费力。
发明内容
为了简化云计算环境中应用的部署,本发明实施例提供了一种用于在云计算环境中部署应用的方法和系统,此外还提供了一种用于在云计算环境中部署复合应用的方法和系统。
根据本发明的一个方面,提供了一种用于在云计算环境中部署应用的方法和系统,所述方法包括:在用户部署应用时,收集与部署应用相关的元数据以及指令,所述元数据包括服务元数据、应用元数据以及拓扑元数据,其中,所述服务元数据包括与部署该应用所需要的服务相关的元数据,所述应用元数据包括与该应用相关的元数据,拓扑元数据包括表示所述服务与所述应用之间关系的元数据;将收集到的元数据和指令存储为模型以用于该应用的再次部署。
根据本发明的另一个方面,提供了一种用于在云计算环境中部署应用的方法,所述方法包括:获取按照上述方法得到的模型;根据所述模型中的指令和服务元数据准备部署该应用所需的服务;根据所述模型中的指令和应用元数据将该应用发布到运行环境;根据所述模型中的指令和拓扑元数据将准备好的服务绑定到该应用。
根据本发明的另一个方面,提供了一种用于在云计算环境中部署复合应用的方法,所述复合应用至少包括第一子应用和第二子应用,所述方法包括:获取按照上述方法得到的所述第一子应用的模型;获取按照上述方法得到的所述第二子应用的模型;根据所述第一子应用的模型中的拓扑元数据和所述第二子应用的模型中的拓扑元数据生成所述复合应用的生命周期管理信息;将所述第一子应用的模型、所述第二子应用的模型以及所述生命周期管理信息存储为所述复合应用的模型以用于所述复合应用的部署。
根据本发明的另一个方面,提供了一种用于在云计算环境中部署应用的系统,该系统能够执行上述方法。
本发明所提供的技术方案可以简化云计算环境中应用的部署,降低部署应用对于专业技能的需求,方便用户使用云计算环境中的应用。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1表示根据本发明一实施例的云计算节点;
图2表示根据本发明一实施例的云计算环境;
图3表示根据本发明一实施例的抽象模型层;
图4示出了本发明一实施例提供的用于在云计算环境中部署应用的方法的流程示意图;
图5示出了本发明一实施例提供的用于在云计算环境中部署应用的方法的流程示意图;
图6示出了本发明一实施例提供的用于在云计算环境中部署复合应用的方法的流程示意图;
图7示出了本发明一实施例提供的用于在云计算环境中部署应用的系统的结构示意图;
图8示出了本发明一实施例提供的存储模块的结构示意图;
图9示出了本发明一实施例提供的用于在云计算环境中部署应用的系统的结构示意图;
图10示出了本发明一实施例提供的用于在云计算环境中部署。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,例如系统;基于RISC(精简指令集计算机)体系结构的服务器,例如IBM系统;IBM系统;IBM系统;存储设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如IBM应用服务器软件;数据库软件,例如IBM数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取,其中包括根据用户请求管理应用运行环境的资源分配,根据需求创建新的服务实例,建立应用与服务之间的动态绑定关系等,从而能够实现应用的部署;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理;以及移动桌面。
现在参看图4,图4示出了本发明实施例提供的一种用于在云计算环境中部署应用的方法,所述方法包括:步骤410,在用户部署应用时,收集与部署应用相关的元数据和指令,所述元数据包括服务元数据、应用元数据以及拓扑元数据,其中,所述服务元数据包括与部署该应用所需要的服务相关的元数据,所述应用元数据包括与该应用相关的元数据,拓扑元数据包括表示所述服务与所述应用之间关系的元数据;步骤420,将收集到的元数据和指令存储为模型以用于该应用的再次部署。根据本实施例提供的方法,可以在用户首次部署应用时,通过元数据和指令的收集记录,将用户部署的操作记录为一个模型。若用户需要再次部署该应用时,只需要调取该模型就可以实现应用的自动部署,无须再进行一次人工的部署操作,节省了用户的大量工作。并且对于缺乏应用部署专业技能的用户,可以由专业人员进行一次应用的部署,通过本实施例提供的方法,将专业人员的部署操作记录下来,形成该应用的部署模型,缺乏部署专业技能的用户只需要选定相应的部署模型,或者只需要选择希望部署的应用,就可以实现该应用的自动部署,方便了用户的使用,降低了用户的技能需求。
本发明一实施例中,所述服务元数据包括以下之一或其任意组合:服务的类型、服务的名称、服务的ID、服务的版本和服务的配置。所述应用元数据包括以下之一或其任意组合:应用的类型、应用的名称、应用的ID和应用的配置。所述拓扑元数据包括以下之一或其任意组合:应用的ID、服务的ID、应用的名称、服务的名称、绑定配置和绑定策略。本发明一实施例中,服务的配置例如包括资源配置和服务策略配置中的至少一个。本发明一实施例中,应用的配置例如包括资源配置和应用策略配置中的至少一个。举例而言,在部署应用时,用户发出了如下指令:
指令1:create webapp-name MyApp-file mypackage.war-config myapp.conf
指令2:create service-name MyService-service DB2-version9.0
指令3:bind-app MyApp-service MyService
其中,应用元数据包括:应用的名称MyApp,应用的代码文件包mypackage.war以及应用的配置myapp.conf。服务元数据包括:服务名称MyService,类型为DB2,版本为9.0。拓扑元数据包括应用的名称MyApp和服务的名称MyService,说明需要将MyService绑定到MyApp。
本发明一实施例中,与部署应用相关的指令例如包括以下至少之一:创建应用的运行环境;将应用发布(push)到运行环境;创建服务;从服务目录中查找服务;删除服务;启动应用;停止应用;启动服务;停止服务;建立应用和服务之间的绑定关系;解除应用和服务之间的绑定关系;修改应用的配置信息;修改服务的配置信息;删除应用。
本发明一实施例中,步骤420可以是将收集到的元数据和指令存储在文件中,或者也可以存储为数据记录,本发明对此并不加以限制。
本发明一实施例中,步骤420例如包括按照所述用户部署该应用的操作顺序,将收集到的元数据和指令存储起来形成模型以用于该应用的再次部署。本领域技术人员可以理解,步骤410中,元数据和指令的收集可以是与用户的部署操作同步进行的,也即元数据和指令的收集是按照用户部署该应用的操作顺序进行的,那么直接将收集到的元数据和指令存储起来就可以实现按照用户部署该应用的操作顺序存储收集到的元数据和指令。或者,由于收集的元数据和指令可能存在无效或者冗余的情况,可以调整收集到的元数据和指令的顺序再存储起来,该存储符合根据用户部署该应用的操作顺序存储收集到的元数据和指令。由于在部署应用时,有的服务需要按顺序绑定到应用,所以按照顺序存储收集到的元数据和指令形成模型可以使得在再次部署时,能够按照顺序将服务绑定到应用,从而避免部署中的错误或者冲突,提高自动部署的成功率。
本发明一实施例中,步骤420例如还可以包括去除收集的元数据和指令中的冗余。在收集的元数据和指令中,会存在部分的冗余,例如无效的元数据、指令或者重复的元数据、指令。例如,在用户进行部署应用的操作时,可能多次发出应用的发布(push)指令,由于只有最后一次的该指令是有效的指令,所以仅保存最后一个发布指令以及实例数量、QoS指标等该指令相关的元数据,去除其他的发布指令及其相关的元数据。本领域技术人员可以理解,去除收集的元数据和指令中的冗余可以是一边收集一边进行冗余的去除,也可以是收集完所有的元数据和指令后一起进行冗余的去除。据此,步骤420例如可以包括以下之一:对收集到的元数据和指令进行分析,去除冗余的元数据和指令,按照所述用户部署该应用的操作顺序,将去除冗余后的元数据和指令存储起来形成模型以用于该应用的再次部署;以及按照所述用户部署该应用的操作顺序,将收集到的元数据和指令存储起来,对存储起来的元数据和指令进行分析,去除冗余的元数据和指令形成模型以用于该应用的再次部署。本实施例中,对收集到的元数据和指令进行分析例如可以是进行语义分析,或者可以是按照预定的规则进行处理。本领域技术人员可以理解,还可以采用其他技术来进行分析,本发明对此不加限制。
本发明一实施例中,步骤420例如还可以包括合并无效的操作指令。在用户进行应用的部署时,可能会存在无效的操作,这样就导致部分收集的元数据和指令失效。例如,在用户部署应用A时,先创建了服务B,并将服务B绑定到应用A。随后,用户发现相比于服务B,服务C更合适,由此解除了服务B的绑定,并将服务C绑定到应用A。此时,服务B的创建、删除以及绑定等指令就是无效的指令,与这些指令相关的元数据就是无效的元数据。本实施例提供的方法可以对无效的元数据和指令进行合并,从而进一步优化后续的自动部署。本领域技术人员可以理解,可以是一边收集一边进行合并,也可以是收集完所有的元数据和指令后一起进行合并。据此,步骤420例如可以包括以下之一:对收集到的元数据和指令进行分析,合并无效的元数据和指令,按照所述用户部署该应用的操作顺序,将合并后的元数据和指令存储起来形成模型以用于该应用的再次部署;以及按照所述用户部署该应用的操作顺序,将收集到的元数据和指令存储起来,对存储起来的元数据和指令进行分析,合并无效的元数据和指令形成模型以用于该应用的再次部署。本实施例中,对收集到的元数据和指令进行分析例如可以是进行语义分析,或者可以是按照预定的规则进行处理。本领域技术人员可以理解,还可以采用其他技术来进行分析,本发明对此不加限制。
本发明一实施例中,步骤420例如可以同时包括合并无效的元数据、指令以及去除冗余的元数据、指令。具体方法可以参照上述实施例。本实施例中,若同时存在两种合并或者两种去除的方法时,该方法可以用于相同的对象也可以用于不同的对象。
本实施例一实施例中,对无效和冗余的元数据以及指令分别进行合并和去除的方法例如包括:响应于存在多条发布指令,只保留最后一条发布指令以及相关元数据;响应于存在针对某一服务的删除指令,去除针对该服务的所有删除指令和相关元数据以及针对该服务的最后一条删除指令之前的针对该服务的所有创建指令和相关元数据;响应于存在针对某一应用的停止指令,去除针对该应用的所有停止指令和相关元数据以及针对该应用的最后一条停止指令之前的针对该应用的所有启动指令和相关元数据;响应于存在针对某一服务的停止指令,去除针对该服务的所有停止指令和相关元数据以及针对该服务的最后一条停止指令之前的针对该服务的所有启动指令和相关元数据;响应于存在针对某一应用和某一服务之间绑定关系的解除绑定指令,去除针对该绑定关系的所有解除绑定指令和相关元数据以及针对该绑定关系的最后一条解除绑定之前的针对该绑定关系的所有绑定指令和相关元数据。本领域技术人员可以理解,根据上述示例还可以得到其他合并无效或者去除冗余的方法,此处不再赘述。
本发明一实施例中,如图4所示的方法进一步包括:响应于用户向已经部署完毕的所述应用再进行部署相关操作,收集该操作涉及的元数据和指令,并将该操作涉及的元数据和指令更新到所述模型,其中所述操作涉及的元数据包括该操作涉及的服务元数据、该操作涉及的应用元数据以及该操作涉及的拓扑元数据中的至少一个。通过本实施例提供的方法,若用户对已经部署的应用进行了修改,可以通过记录该用户的操作对已经存储的模型进行修改,从而可以在今后再次部署该应用时直接部署修改后的应用。进一步的,根据本发明实施例提供的方法,可以保存多个版本的模型分别对应没有经过修改的应用以及每次修改后的应用,这样可以方便用户在不同版本的应用间选择合适的版本进行部署。本发明一实施例中,将操作涉及的元数据和指令更新到所述模型例如包括:对收集的该操作涉及的元数据和指令以及所述模型中存储的元数据和指令进行去除冗余和合并无效中的至少一项,并将处理后的元数据和指令存储为模型以用于该应用的再次部署。
如图5所示,本发明一实施例提供了一种用于在云计算环境中部署应用的方法。该方法包括:步骤510,获取模型,该模型为根据上述方法实施例或者其结合得到的模型;步骤520,根据所述模型中的服务元数据准备部署该应用所需的服务;步骤530,根据所述模型中的应用元数据将该应用发布到运行环境;步骤540,根据所述模型中的拓扑元数据将准备好的服务绑定到该应用。根据本实施例提供的方法,可以实现云计算环境中应用的自动部署,方便了用户的使用,降低了对于用户专业技能的要求。本领域技术人员可以了解,本实施例中,对于多个服务可以先将所有的服务都准备好,在将准备好的服务绑定到应用,也可以每准备好一个服务就将该服务绑定到应用,或者还可以是采用其他的顺序进行服务的准备和绑定。本实施例以及下述实施例中,如图5所示的方法还可以包括服务的启动、应用的启动、服务的停止和应用的停止,以及服务和应用的删除等,此处不再赘述。
本发明一实施例中,步骤520例如包括:根据所述模型中的指令和服务元数据按照所述模型中指令的顺序,准备部署该应用所需的服务;步骤540例如包括:根据所述模型中的指令和拓扑元数据按照所述模型中指令的顺序,将准备好的服务绑定到该应用。根据如图4所示的实施例,模型中的指令和元数据是按照用户部署应用时操作的顺序存储的,相应的根据中的指令的顺序准备所需的服务以及进行服务和应用的绑定可以确保自动部署与用户部署的操作顺序一致,提高自动部署的成功率,避免彼此之间有依赖的服务添加顺序的错乱。
本发明一实施例中,步骤520例如包括以下之一或其任意组合:根据所述模型中的指令和服务元数据,对于专用服务,创建一个新的专用服务;根据所述模型中的指令和服务元数据,对于共享服务,若该共享服务已经存在,则使用该已经存在的共享服务,若该共享服务不存在,则创建一个新的共享服务;根据所述模型中的指令和服务元数据,对于外部服务引用,创建一个新的外部服务引用。
本发明一实施例中,如图5所示的方法进一步包括:在系统停止时,根据应用与服务绑定的顺序,按照反向顺序解除应用与服务的绑定关系,并停止相应的服务和应用。
下面通过一个具体的示例来详细说明如图5所示的实施例。用户A是不具有部署专业技能的用户,专业人员B是具有部署专业技能的用户。专业人员B事先会进行一次应用1的部署。通过如图4所示的实施例,通过记录专业人员B对于应用1的部署可以得到应用1的模型a。用户A通过界面选择需要部署应用1,此时根据图5所示的实施例,会获取应用1的模型a。模型a中例如按照顺序存储着:应用1的名称x1、应用1的标识id1、指令N1、指令N2、服务1的名称x2、服务1的版本v2、指令N3、服务2的名称x3、服务2的版本v3、指令N4、绑定配置p1。其中指令N1为将名称为x1、标识为id1的应用发布到运行环境;指令N2为创建名称为x2、版本为v2的专用服务;指令N3为在服务目录中查找名称为x3、版本为v3的共享服务,响应于未找到创建名称为x3、版本为v3的服务;指令N4为执行名称为p1的绑定。按照模型中存储的指令的顺序,创建服务1、服务2,并将服务1和服务2绑定到应用1,从而实现了应用1的自动部署。
如图6所示,本发明一实施例提供了一种用于在云计算环境中部署复合应用的方法。该复合应用至少包括两个子应用,第一子应用和第二子应用。该方法包括:步骤610,获取按照上述方法实施例或其组合得到的第一子应用的模型;步骤620,获取按照上述方法实施例或其组合得到的第二子应用的模型;步骤630,根据第一子应用的模型中的拓扑元数据和第二子应用的模型中的拓扑元数据生成复合应用的生命周期管理信息;步骤640,将第一子应用的模型、第二子应用的模型和复合应用的生命周期管理信息存储为该复合应用的模型以用于该符合应用的部署。本实施例中,步骤610和步骤620之间没有特定的执行顺序。本发明一实施例中,复合应用的生命周期管理信息例如包括以下至少之一:第一子应用、第二子应用,第一子应用和第二子应用所需的服务的创建、启动、停止、更新和删除。通过如图6所示的实施例提供的方法,可以得到复合应用的模型,方便用户部署复合应用。并且,若已经存在了第一子应用或者第二子应用的模型,采用本实施例提供的方法,可以直接获取存储好的模型,通过生成复合应用的生命周期管理信息得到复合应用的模型,简化了具有多个子应用模块的复合应用的部署过程,充分利用了已经存在的资源。例如,应用W包括两个子应用,一个是查询帐户信息的子应用x,一个是管理帐户信息的子应用y。由于用户已经部署过子应用x,所以存在子应用x的模型。现在只需要部署一次子应用y,就可以得到子应用y的模型。这样,获取子应用x和y的模型,并生成应用W的生命周期管理信息,就可以存储x和y的模型以及应用W的生命周期管理信息形成应用W的模型。这样在需要部署应用W的时候可以根据其模型实现自动部署。模块化的形成复合应用的模型可以提高用户感受,方便用户部署大型的、子应用多的各种复合应用。并且,模块化的形成复合应用的模型可以使得已经存在的子应用的模型得到重用,减少了再次生成子应用所需要的人力资源。
本发明上述实施例之间可以彼此参照、结合,得到更多的实施例,此处不再赘述。
本发明一实施例提供了一种用于在云计算环境中部署应用的系统,该系统能够执行上述方法实施例。以下通过图7-10,详细说明该系统的各种实现方式。
如图7所示,本发明实施例提供了一种用于在云计算环境中部署应用的系统700。该系统700包括:收集模块710,被配置为在用户部署应用时,收集与部署应用相关的元数据以及指令;存储模块720,被配置为将收集到的元数据和指令存储为模型以用于该应用的再次部署。本实施例中,所述元数据包括服务元数据、应用元数据以及拓扑元数据,其中,所述服务元数据包括与部署该应用所需要的服务相关的元数据,所述应用元数据包括与该应用相关的元数据,拓扑元数据包括表示所述服务与所述应用之间关系的元数据。具体的,服务元数据、应用元数据和拓扑元数据的描述和举例可以参照方法实施例,此处不再赘述。通过本实施例提供的系统700可以帮助非专业人员实现自动的应用部署,降低了部署应用的专业技能需求,并且避免了重复部署所花费的资源。
本发明一实施例中,存储模块720进一步被配置为,按照所述用户部署该应用的操作顺序,将收集到的元数据和指令存储起来形成模型以用于该应用的再次部署。
本发明一实施例中,如图8所示,存储模块720包括以下子模块中的至少一个:第一去除子模块721,被配置为对收集到的元数据和指令进行分析,去除冗余的元数据和指令,并按照所述用户部署该应用的操作顺序,将去除冗余后的元数据和指令存储起来形成模型以用于该应用的再次部署;第二去除子模块722,被配置为按照所述用户部署该应用的操作顺序,将收集到的元数据和指令存储起来,并对存储起来的元数据和指令进行分析,去除冗余的元数据和指令形成模型以用于该应用的再次部署;第一合并子模块723,被配置为对收集到的元数据和指令进行分析,合并无效的元数据和指令,并按照所述用户部署该应用的操作顺序,将合并后的元数据和指令存储起来形成模型以用于该应用的再次部署;第二合并子模块724,被配置为按照所述用户部署该应用的操作顺序,将收集到的元数据和指令存储起来,并对存储起来的元数据和指令进行分析,合并无效的元数据和指令形成模型以用于该应用的再次部署。本领域技术人员可以理解,在上述子模块均存在的情况下,可以仅启用部分的子模块,也可以全部启用。在全部启用的情况下,每个子模块可以处理相同的对象也可以处理不同的对象。
本发明一实施例中,如图7所示的实施例还可以包括更新模块,被配置为:响应于所述用户向已经部署完毕的所述应用再进行部署相关操作,收集该操作涉及的元数据和指令,并将该操作涉及的元数据和指令更新到所述模型,其中所述操作涉及的元数据包括该操作涉及的服务元数据、该操作涉及的应用元数据以及该操作涉及的拓扑元数据中的至少一个。
如图9所示,本发明一实施例提供了一种用于在云计算环境中部署应用的系统900。该系统900包括:获取模块910,被配置为获取模型,该模型为根据上述方法实施例或者由上述装置实施例得到的模型;服务模块920,被配置为根据模型中的指令和服务元数据准备部署该应用所需的服务;应用模块930,被配置为根据模型中的指令和应用元数据将该应用发布到运行环境;绑定模块940,被配置为根据模型中的指令和拓扑元数据将准备好的服务绑定到应用。本实施例中,服务模块920与绑定模块940之间的工作合作可以是服务模块920每准备好一个服务,绑定模块940就进行绑定,也可以是服务模块920准备好多个服务之后,绑定模块940将多个服务绑定到应用。通过本实施例提供的系统900,可以实现应用的自动部署,避免了重复部署的人力消耗,并且能够降低部署应用的技能需求。
本发明一实施例中,绑定模块940进一步被配置为,根据所述模型中的指令和拓扑元数据按照所述模型中指令的顺序,将准备好的服务绑定到该应用。
本发明一实施例中,服务模块920进一步被配置为,根据所述模型中的指令和服务元数据按照所述模型中指令的顺序,准备部署该应用所需的服务。
本发明一实施例中,服务模块920包括以下子模块之一或其任意组合:专用子模块,被配置为根据所述模型中的指令和服务元数据,对于专用服务,创建一个新的专用服务;共享子模块,被配置为根据所述模型中的指令和服务元数据,对于共享服务,若该共享服务已经存在,则使用该已经存在的共享服务,若该共享服务不存在,则创建一个新的共享服务;以及外部子模块,被配置为根据所述模型中的指令和服务元数据,对于外部服务引用,创建一个新的外部服务引用。
如图10所示,本发明实施例提供了一种用于在云计算环境中部署复合应用的系统1000。其中复合应用至少包括第一自应用和第二子应用。系统1000包括:获取模块1010,被配置为获取第一子应用和第二子应用的模型,其中第一子应用和第二子应用的模型根据上述方法实施例或者装置实施例得到;生命周期管理模块1020,被配置为根据所述第一子应用的模型中的拓扑元数据和所述第二子应用的模型中的拓扑元数据生成所述复合应用的生命周期管理信息;存储模块1030,被配置为将所述第一子应用的模型、所述第二子应用的模型以及所述生命周期管理信息存储为所述复合应用的模型以用于所述复合应用的部署。通过本实施例提供的系统1000,用户可以复用已经存在的子应用的模板从而得到复合应用的模板,实现复合应用的部署,避免了复合应用部署的重复工作,也降低了部署复合应用的技能需求。
上述装置实施例中的实现细节可以参照相应的方法实施例。并且,上述装置实施例之间可以彼此参照得到更多的示例。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (14)

1.一种用于在云计算环境中部署应用的方法,所述方法包括:
在用户部署应用时,收集与部署应用相关的元数据以及指令,所述元数据包括服务元数据、应用元数据以及拓扑元数据,其中,所述服务元数据包括与部署该应用所需要的服务相关的元数据,所述应用元数据包括与该应用相关的元数据,拓扑元数据包括表示所述服务与所述应用之间关系的元数据;
将收集到的元数据和指令存储为模型以用于该应用的再次部署,
其中响应于该应用的再次部署,所述方法还包括:
根据所述模型中的指令和服务元数据按照所述模型中指令的顺序,准备部署该应用所需的服务,
根据所述模型中的应用元数据将该应用发布到运行环境,以及
根据所述模型中的指令和拓扑元数据按照所述模型中指令的顺序,将准备好的服务绑定到该应用。
2.根据权利要求1所述的方法,其中,
所述服务元数据包括以下之一或其任意组合:服务的类型、服务的名称、服务的ID、服务的版本和服务的配置;
所述应用元数据包括以下之一或其任意组合:应用的类型、应用的名称、应用的ID和应用的配置;
所述拓扑元数据包括以下之一或其任意组合:应用的ID、服务的ID、应用的名称、服务的名称、绑定配置以及绑定策略。
3.根据权利要求1所述的方法,其中,所述将收集到的元数据和指令存储为模型以用于该应用的再次部署,包括:按照所述用户部署该应用的操作顺序,将收集到的元数据和指令存储起来形成模型以用于该应用的再次部署。
4.根据权利要求1所述的方法,其中,所述将收集到的元数据和指令存储为模型以用于该应用的再次部署,包括以下至少之一:
对收集到的元数据和指令进行分析,去除冗余的元数据和指令;
按照所述用户部署该应用的操作顺序,将去除冗余后的元数据和指令存储起来形成模型以用于该应用的再次部署;以及
按照所述用户部署该应用的操作顺序,将收集到的元数据和指令存储起来;对存储起来的元数据和指令进行分析,去除冗余的元数据和指令形成模型以用于该应用的再次部署;
对收集到的元数据和指令进行分析,合并无效的元数据和指令;按照所述用户部署该应用的操作顺序,将合并后的元数据和指令存储起来形成模型以用于该应用的再次部署;
按照所述用户部署该应用的操作顺序,将收集到的元数据和指令存储起来;对存储起来的元数据和指令进行分析,合并无效的元数据和指令形成模型以用于该应用的再次部署。
5.根据权利要求1所述的方法,其中,所述方法进一步包括:响应于所述用户向已经部署完毕的所述应用再进行部署相关操作,收集该操作涉及的元数据和指令,并将该操作涉及的元数据和指令更新到所述模型,其中所述操作涉及的元数据包括该操作涉及的服务元数据、该操作涉及的应用元数据以及该操作涉及的拓扑元数据中的至少一个。
6.根据权利要求1所述的方法,其中,根据所述模型中的指令和服务元数据按照所述模型中指令的顺序,准备部署该应用所需的服务,包括以下之一或其任意组合:
根据所述模型中的指令和服务元数据,对于专用服务,创建一个新的专用服务;
根据所述模型中的指令和服务元数据,对于共享服务,若该共享服务已经存在,则使用该已经存在的共享服务,若该共享服务不存在,则创建一个新的共享服务;
根据所述模型中的指令和服务元数据,对于外部服务引用,创建一个新的外部服务引用。
7.一种用于在云计算环境中部署复合应用的方法,所述复合应用至少包括第一子应用和第二子应用,所述方法包括:
获取按照权利要求1-5中任一项所述的方法得到的所述第一子应用的模型;
获取按照权利要求1-5中任一项所述的方法得到的所述第二子应用的模型;
根据所述第一子应用的模型中的拓扑元数据和所述第二子应用的模型中的拓扑元数据生成所述复合应用的生命周期管理信息;
将所述第一子应用的模型、所述第二子应用的模型以及所述生命周期管理信息存储为所述复合应用的模型以用于所述复合应用的部署。
8.一种用于在云计算环境中部署应用的系统,所述系统包括:
用于在用户部署应用时,收集与部署应用相关的元数据以及指令,所述元数据包括服务元数据、应用元数据以及拓扑元数据的装置,其中,所述服务元数据包括与部署该应用所需要的服务相关的元数据,所述应用元数据包括与该应用相关的元数据,拓扑元数据包括表示所述服务与所述应用之间关系的元数据;
用于将收集到的元数据和指令存储为模型以用于该应用的再次部署的装置,
其中响应于该应用的再次部署,所述系统还包括:
用于根据所述模型中的指令和服务元数据按照所述模型中指令的顺序,准备部署该应用所需的服务的装置,
用于根据所述模型中的应用元数据将该应用发布到运行环境的装置,以及
用于根据所述模型中的指令和拓扑元数据按照所述模型中指令的顺序,将准备好的服务绑定到该应用的装置。
9.根据权利要求8所述的系统,其中,
所述服务元数据包括以下之一或其任意组合:服务的类型、服务的名称、服务的ID、服务的版本和服务的配置;
所述应用元数据包括以下之一或其任意组合:应用的类型、应用的名称、应用的ID和应用的配置;
所述拓扑元数据包括以下之一或其任意组合:应用的ID、服务的ID、应用的名称、服务的名称、绑定配置以及绑定策略。
10.根据权利要求8所述的系统,其中,所述用于将收集到的元数据和指令存储为模型以用于该应用的再次部署的装置包括:用于按照所述用户部署该应用的操作顺序,将收集到的元数据和指令存储起来形成模型以用于该应用的再次部署的装置。
11.根据权利要求8所述的系统,其中,所述用于将收集到的元数据和指令存储为模型以用于该应用的再次部署的装置包括以下至少之一:
用于对收集到的元数据和指令进行分析,去除冗余的元数据和指令的装置;
用于按照所述用户部署该应用的操作顺序,将去除冗余后的元数据和指令存储起来形成模型以用于该应用的再次部署的装置;以及
用于按照所述用户部署该应用的操作顺序,将收集到的元数据和指令存储起来的装置;
用于对存储起来的元数据和指令进行分析,去除冗余的元数据和指令形成模型以用于该应用的再次部署的装置;
用于对收集到的元数据和指令进行分析,合并无效的元数据和指令的装置;
用于按照所述用户部署该应用的操作顺序,将合并后的元数据和指令存储起来形成模型以用于该应用的再次部署的装置;
用于按照所述用户部署该应用的操作顺序,将收集到的元数据和指令存储起来;对存储起来的元数据和指令进行分析,合并无效的元数据和指令形成模型以用于该应用的再次部署的装置。
12.根据权利要求8所述的系统,其中,所述系统进一步包括:用于响应于所述用户向已经部署完毕的所述应用再进行部署相关操作,收集该操作涉及的元数据和指令,并将该操作涉及的元数据和指令更新到所述模型的装置,其中所述操作涉及的元数据包括该操作涉及的服务元数据、该操作涉及的应用元数据以及该操作涉及的拓扑元数据中的至少一个。
13.根据权利要求8所述的系统,其中,所述用于根据所述模型中的指令和服务元数据按照所述模型中指令的顺序,准备部署该应用所需的服务的装置包括以下之一或其任意组合:
用于根据所述模型中的指令和服务元数据,对于专用服务,创建一个新的专用服务的装置;
用于根据所述模型中的指令和服务元数据,对于共享服务,若该共享服务已经存在,则使用该已经存在的共享服务,若该共享服务不存在,则创建一个新的共享服务的装置;
用于根据所述模型中的指令和服务元数据,对于外部服务引用,创建一个新的外部服务引用的装置。
14.一种用于在云计算环境中部署复合应用的系统,所述复合应用至少包括第一子应用和第二子应用,该用于在云计算环境中部署复合应用的系统包括:
用于获取按照权利要求8-13中任一项所述的系统得到的所述第一子应用的模型的装置;
用于获取按照权利要求8-13中任一项所述的系统得到的所述第二子应用的模型的装置;
用于根据所述第一子应用的模型中的拓扑元数据和所述第二子应用的模型中的拓扑元数据生成所述复合应用的生命周期管理信息的装置;
用于将所述第一子应用的模型、所述第二子应用的模型以及所述生命周期管理信息存储为所述复合应用的模型以用于所述复合应用的部署的装置。
CN201310259539.4A 2013-06-26 2013-06-26 一种用于在云计算环境中部署应用的方法和系统 Active CN104253831B (zh)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CN201310259539.4A CN104253831B (zh) 2013-06-26 2013-06-26 一种用于在云计算环境中部署应用的方法和系统
US14/263,841 US9361081B2 (en) 2013-06-26 2014-04-28 Deploying an application in a cloud computing environment
US14/498,725 US9354851B2 (en) 2013-06-26 2014-09-26 Deploying an application in a cloud computing environment
US15/140,166 US10048957B2 (en) 2013-06-26 2016-04-27 Deploying an application in a cloud computing environment
US15/140,142 US10649751B2 (en) 2013-06-26 2016-04-27 Deploying an application in a cloud computing environment
US15/140,102 US10528333B2 (en) 2013-06-26 2016-04-27 Deploying an application in a cloud computing environment
US16/101,410 US10795656B2 (en) 2013-06-26 2018-08-11 Deploying an application in a cloud computing environment
US16/694,699 US11237812B2 (en) 2013-06-26 2019-11-25 Deploying an application in a cloud computing environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310259539.4A CN104253831B (zh) 2013-06-26 2013-06-26 一种用于在云计算环境中部署应用的方法和系统

Publications (2)

Publication Number Publication Date
CN104253831A CN104253831A (zh) 2014-12-31
CN104253831B true CN104253831B (zh) 2018-05-11

Family

ID=52117019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310259539.4A Active CN104253831B (zh) 2013-06-26 2013-06-26 一种用于在云计算环境中部署应用的方法和系统

Country Status (2)

Country Link
US (7) US9361081B2 (zh)
CN (1) CN104253831B (zh)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104253831B (zh) 2013-06-26 2018-05-11 国际商业机器公司 一种用于在云计算环境中部署应用的方法和系统
WO2015065356A1 (en) 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Topology remediation
WO2015065389A1 (en) 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Execution of a topology
EP3063657B1 (en) 2013-10-30 2021-12-01 Hewlett Packard Enterprise Development LP Monitoring a cloud service modeled as a topology
WO2015065374A1 (en) 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Management of the lifecycle of a cloud service modeled as a topology
EP3063668A4 (en) * 2013-10-30 2017-05-31 Hewlett-Packard Enterprise Development LP Managing the lifecycle of a cloud service modeled as topology decorated by a number of policies
WO2015065355A1 (en) 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L. P. Stitching an application model to an infrastructure template
US9473567B2 (en) 2014-08-20 2016-10-18 At&T Intellectual Property I, L.P. Virtual zones for open systems interconnection layer 4 through layer 7 services in a cloud computing system
US9749242B2 (en) 2014-08-20 2017-08-29 At&T Intellectual Property I, L.P. Network platform as a service layer for open systems interconnection communication model layer 4 through layer 7 services
US9742690B2 (en) 2014-08-20 2017-08-22 At&T Intellectual Property I, L.P. Load adaptation architecture framework for orchestrating and managing services in a cloud computing system
US9800673B2 (en) * 2014-08-20 2017-10-24 At&T Intellectual Property I, L.P. Service compiler component and service controller for open systems interconnection layer 4 through layer 7 services in a cloud computing system
US10291689B2 (en) 2014-08-20 2019-05-14 At&T Intellectual Property I, L.P. Service centric virtual network function architecture for development and deployment of open systems interconnection communication model layer 4 through layer 7 services in a cloud computing system
CN104954463B (zh) * 2015-06-12 2018-05-18 华为技术有限公司 一种应用的用户信息管理的方法、设备及系统
WO2017143548A1 (zh) * 2016-02-25 2017-08-31 华为技术有限公司 用于应用自动化部署的方法和云管理节点
US11223536B2 (en) 2016-04-04 2022-01-11 At&T Intellectual Property I, L.P. Model driven process for automated deployment of domain 2.0 virtualized services and applications on cloud infrastructure
US10148740B2 (en) 2016-06-03 2018-12-04 Microsoft Technology Licensing, Llc Multi-service application fabric architecture
US20170357910A1 (en) * 2016-06-10 2017-12-14 Apple Inc. System for iteratively training an artificial intelligence using cloud-based metrics
US10409589B2 (en) * 2016-07-12 2019-09-10 Accenture Global Solutions Limited Application centric continuous integration and delivery with automated service assurance
US10261838B2 (en) 2016-08-11 2019-04-16 General Electric Company Method and device for allocating resources in a system
US10476948B2 (en) * 2016-09-21 2019-11-12 Microsoft Technology Licensing, Llc Service location management in computing systems
CN107861958B (zh) * 2016-09-22 2021-10-01 腾讯科技(深圳)有限公司 一种元数据同步方法及装置
US11194558B2 (en) 2016-10-14 2021-12-07 Accenture Global Solutions Limited Application migration system
CN106603295B (zh) * 2016-12-20 2019-09-24 郑州云海信息技术有限公司 一种SaaS服务内容确定方法及系统
US10620928B2 (en) 2017-01-04 2020-04-14 International Business Machines Corporation Global cloud applications management
US10394538B2 (en) * 2017-02-09 2019-08-27 International Business Machines Corporation Optimizing service deployment in a distributed computing environment
US10574542B2 (en) 2017-03-01 2020-02-25 International Business Machines Corporation System and method for distributing resources throughout a network
US11294661B2 (en) * 2017-04-25 2022-04-05 Microsoft Technology Licensing, Llc Updating a code file
US10581675B1 (en) * 2017-05-04 2020-03-03 Amazon Technologies, Inc. Metadata-based application and infrastructure deployment
US10503493B2 (en) * 2017-05-16 2019-12-10 Oracle International Corporation Distributed versioning of applications using cloud-based systems
KR102435830B1 (ko) * 2017-09-28 2022-08-24 한국전자통신연구원 네트워크 인프라 시스템 및 이를 이용한 데이터 공유 및 서비스 최적화를 위한 데이터 처리 방법
US11070639B2 (en) * 2017-09-28 2021-07-20 Electronics And Telecommunications Research Institute Network infrastructure system and method for data processing and data sharing using the same
CN108123831A (zh) * 2017-12-15 2018-06-05 安徽长泰信息安全服务有限公司 一种互联网应用中的容灾服务系统及方法
US10572353B2 (en) * 2018-04-27 2020-02-25 EMC IP Holding Company LLC Method and system for single web application recovery on a collaborative platform
CN108924242A (zh) * 2018-07-19 2018-11-30 北京车联天下信息技术有限公司 服务更新方法、装置和大数据服务平台
CN109067577A (zh) * 2018-07-31 2018-12-21 佛山市苔藓云链科技有限公司 一种云计算系统及其处理方法
CN110895464B (zh) * 2018-09-13 2021-12-14 华为技术有限公司 应用部署方法、设备和系统
CN111427622B (zh) * 2018-12-24 2023-05-16 阿里巴巴集团控股有限公司 应用程序中脚本代码的执行方法及装置
CN110855627B (zh) * 2019-01-16 2021-04-09 星环信息科技(上海)股份有限公司 应用部署方法、装置、设备及介质
CN109800013B (zh) * 2019-01-25 2022-04-19 上海创景信息科技有限公司 服务器应用功能热扩展的方法和系统及可读存储介质
US10871956B2 (en) * 2019-02-12 2020-12-22 Open Text Corporation Methods and systems for packaging and deployment of applications in a multitenant platform
US11372628B2 (en) 2019-02-20 2022-06-28 Red Hat, Inc. Application development interface
CN111625548A (zh) * 2019-02-27 2020-09-04 北京京东尚科信息技术有限公司 查询方法、系统、装置和计算机可读介质
CN110413348B (zh) * 2019-07-31 2023-01-06 中国工商银行股份有限公司 数据处理方法、装置、系统及介质
CN110737442B (zh) * 2019-09-24 2021-06-22 厦门网宿有限公司 一种边缘应用管理方法及系统
US11057471B2 (en) 2019-09-24 2021-07-06 Xiamen Wangsu Co., Ltd. Edge application management method and system
CN113127006B (zh) * 2019-12-30 2024-03-29 北京懿医云科技有限公司 服务部署方法、装置、设备及存储介质
CN112379942A (zh) * 2020-11-16 2021-02-19 东信和平科技股份有限公司 一种扫描核对软件的配置方法、装置及其扫描核对方法
CN114826916A (zh) * 2021-01-28 2022-07-29 阿里巴巴集团控股有限公司 数据传输方法、设备、系统及计算机存储介质
US11789774B2 (en) 2021-02-22 2023-10-17 International Business Machines Corporation Optimization of workload scheduling in a distributed shared resource environment
US11609747B1 (en) 2021-09-29 2023-03-21 Amazon Technologies, Inc. Decentralized application development and deployment
US11720333B2 (en) * 2021-10-25 2023-08-08 Microsoft Technology Licensing, Llc Extending application lifecycle management to user-created application platform components

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102763085A (zh) * 2009-12-03 2012-10-31 国际商业机器公司 使用云服务目录来供应服务

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7624449B1 (en) * 2004-01-22 2009-11-24 Symantec Corporation Countering polymorphic malicious computer code through code optimization
US7975266B2 (en) * 2004-07-30 2011-07-05 Sap Aktiengesellschaft Remote installation of computer resources
US7904901B1 (en) * 2005-11-02 2011-03-08 Parallels Holdings, Ltd. System and method for controlling installed third party software components
US8806476B2 (en) * 2006-03-14 2014-08-12 International Business Machines Corporation Implementing a software installation process
US8131838B2 (en) * 2006-05-31 2012-03-06 Sap Ag Modular monitor service for smart item monitoring
US20080201705A1 (en) * 2007-02-15 2008-08-21 Sun Microsystems, Inc. Apparatus and method for generating a software dependency map
US8347263B1 (en) * 2007-05-09 2013-01-01 Vmware, Inc. Repository including installation metadata for executable applications
US9201647B2 (en) * 2007-12-18 2015-12-01 Verizon Patent And Licensing Inc. Configuration management center
US8543998B2 (en) * 2008-05-30 2013-09-24 Oracle International Corporation System and method for building virtual appliances using a repository metadata server and a dependency resolution service
US8862633B2 (en) * 2008-05-30 2014-10-14 Novell, Inc. System and method for efficiently building virtual appliances in a hosted environment
KR101369773B1 (ko) * 2009-07-08 2014-03-06 한국전자통신연구원 어플리케이션 식별자를 이용한 어플리케이션 설치 방법 및 장치
US8984503B2 (en) * 2009-12-31 2015-03-17 International Business Machines Corporation Porting virtual images between platforms
US8255529B2 (en) 2010-02-26 2012-08-28 Red Hat, Inc. Methods and systems for providing deployment architectures in cloud computing environments
WO2012006638A1 (en) 2010-07-09 2012-01-12 State Street Corporation Systems and methods for private cloud computing
CN103119557B (zh) 2010-09-17 2017-05-17 甲骨文国际公司 云计算环境中的企业应用的基于模式的构造和扩展
US8745577B2 (en) * 2010-09-29 2014-06-03 International Business Machines Corporation End to end automation of application deployment
US9858155B2 (en) * 2010-11-16 2018-01-02 Actifio, Inc. System and method for managing data with service level agreements that may specify non-uniform copying of data
US8713147B2 (en) 2010-11-24 2014-04-29 Red Hat, Inc. Matching a usage history to a new cloud
US10678602B2 (en) 2011-02-09 2020-06-09 Cisco Technology, Inc. Apparatus, systems and methods for dynamic adaptive metrics based application deployment on distributed infrastructures
US9336060B2 (en) 2011-06-17 2016-05-10 Microsoft Technology Licensing, Llc Middleware services framework for on-premises and cloud deployment
US9170798B2 (en) * 2012-03-02 2015-10-27 Vmware, Inc. System and method for customizing a deployment plan for a multi-tier application in a cloud infrastructure
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
US20130238785A1 (en) * 2012-03-06 2013-09-12 Rackspace Us, Inc. System and Method for Metadata Discovery and Metadata-Aware Scheduling
US8850420B2 (en) * 2012-03-22 2014-09-30 Sap Ag Dynamically updating on-demand runtime platforms executing business applications
US9256413B2 (en) * 2012-04-17 2016-02-09 Sap Se Automatic identification of services
CN104246697A (zh) * 2012-06-08 2014-12-24 惠普发展公司,有限责任合伙企业 针对应用的版本管理
WO2013184137A1 (en) * 2012-06-08 2013-12-12 Hewlett-Packard Development Company, L.P. Test and management for cloud applications
WO2013184133A1 (en) * 2012-06-08 2013-12-12 Hewlett-Packard Development Company, L.P. Cloud application deployment portability
CN104335170A (zh) * 2012-06-08 2015-02-04 惠普发展公司,有限责任合伙企业 云应用部署
US9063746B2 (en) * 2012-06-22 2015-06-23 Sap Se Deployment of software applications on a cloud computing platform
US9122687B2 (en) * 2012-12-19 2015-09-01 Red Hat, Inc. Crash recovery for attended operating system installations
CN103973741B (zh) * 2013-01-31 2018-02-09 国际商业机器公司 用于在云系统中进行远程调试的方法和装置
US9690566B2 (en) * 2013-03-14 2017-06-27 Oracle International Corporation System and method for virtual assembly patching in a cloud environment
CN104253831B (zh) 2013-06-26 2018-05-11 国际商业机器公司 一种用于在云计算环境中部署应用的方法和系统
US9116719B2 (en) * 2013-06-27 2015-08-25 Intel Corporation Partial commits in dynamic binary translation based systems
US20150081880A1 (en) * 2013-09-17 2015-03-19 Stackdriver, Inc. System and method of monitoring and measuring performance relative to expected performance characteristics for applications and software architecture hosted by an iaas provider

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102763085A (zh) * 2009-12-03 2012-10-31 国际商业机器公司 使用云服务目录来供应服务

Also Published As

Publication number Publication date
US10649751B2 (en) 2020-05-12
US20160239291A1 (en) 2016-08-18
US11237812B2 (en) 2022-02-01
US10795656B2 (en) 2020-10-06
US20200089483A1 (en) 2020-03-19
US9361081B2 (en) 2016-06-07
US20180349124A1 (en) 2018-12-06
US20150007169A1 (en) 2015-01-01
US10528333B2 (en) 2020-01-07
US20150020063A1 (en) 2015-01-15
US20160239290A1 (en) 2016-08-18
CN104253831A (zh) 2014-12-31
US10048957B2 (en) 2018-08-14
US9354851B2 (en) 2016-05-31
US20160239294A1 (en) 2016-08-18

Similar Documents

Publication Publication Date Title
CN104253831B (zh) 一种用于在云计算环境中部署应用的方法和系统
CN106020940B (zh) 用于确定数据集的放置的存储层级的方法和系统
CN103365725B (zh) 在多个云之间动态分配工作负荷部署单元的方法和系统
CN103425529B (zh) 基于资源利用在网络计算环境间迁移虚拟机的系统及方法
CN105684357B (zh) 虚拟机中地址的管理
CN104067265B (zh) 用于支持在云中的安全应用部署的系统和方法
CN104424013B (zh) 在计算环境中部署虚拟机的方法和设备
CN107066242A (zh) 确定软件容器中软件的标识的方法和系统
CN104601622B (zh) 一种部署集群的方法和系统
CN104050223B (zh) 用于文本挖掘和搜索的数据透视面
CN103106098B (zh) 用于在联网计算环境中预先供应虚拟机的方法和系统
CN103679401B (zh) 一种流程控制方法、服务器、客户端及系统
CN102542045B (zh) 对于资源的统一访问
CN105843703A (zh) 将系统管理员动作提取到提供系统问题解决方案的工作流
CN109906597A (zh) 向和从云网络中存储和取回受限制的数据集和非受限制的数据集
CN103455486B (zh) 安置数据库的方法和系统
CN106027593B (zh) 用于动态地维护数据结构的方法和系统
CN105938525B (zh) 虚拟机设备的基于目录的发现
CN103927216B (zh) 用于管理虚拟装置的方法和系统
CN108667867A (zh) 数据存储方法及装置
CN105897805A (zh) 对多层架构的数据中心的资源进行跨层调度的方法和装置
WO2014019081A1 (en) Intent based automation of data management operations by a data management engine
CN110088743A (zh) 磁带处理卸载到对象存储
CN104166581B (zh) 一种面向增量制造设备的虚拟化方法
CN105224301B (zh) 一种应用实例组装的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant