Distributed cloud application deployment systems and/or associated methods
First Claim
1. A computer-implemented method for setting up a cloud application in a heterogeneous distributed cloud provider environment including multiple computer systems, the computer systems being operated by different cloud providers, the method comprising:
- defining the cloud application in terms of constituent application nodes, each said application node representing a part of the cloud application that is to be deployed into a single one of said computer systems in the heterogeneous distributed cloud provider environment that satisfies deployment requirements of that application node;
defining properties identifying deployment requirements of, and application level instantiation logic for, each said application node;
exposing, for each said application node, any interfaces that are invokable by one or more other application nodes;
identifying, for each said application node, any interfaces that it will invoke on one or more other application nodes; and
matching exposed interfaces and complementary invokable interfaces so as to enable communications to take place between the respective nodes via the matched interfaces.
2 Assignments
0 Petitions
Accused Products
Abstract
In certain example embodiments, distributed cloud application deployment systems (DCADS), and/or associated methods are provided. A formal description of the cloud application is created. The cloud application'"'"'s formal representation, with its constituent nodes and their associated properties and interfaces, etc., is exported to a machine processable form. The exported DCADS machine processable rendition and any needed implementation artifacts are retrieved by a cloud application deployer that helps facilitate the deployment of the cloud application into the distributed and heterogeneous cloud environments as prescribed in the DCADS.
-
Citations
30 Claims
-
1. A computer-implemented method for setting up a cloud application in a heterogeneous distributed cloud provider environment including multiple computer systems, the computer systems being operated by different cloud providers, the method comprising:
-
defining the cloud application in terms of constituent application nodes, each said application node representing a part of the cloud application that is to be deployed into a single one of said computer systems in the heterogeneous distributed cloud provider environment that satisfies deployment requirements of that application node; defining properties identifying deployment requirements of, and application level instantiation logic for, each said application node; exposing, for each said application node, any interfaces that are invokable by one or more other application nodes; identifying, for each said application node, any interfaces that it will invoke on one or more other application nodes; and matching exposed interfaces and complementary invokable interfaces so as to enable communications to take place between the respective nodes via the matched interfaces. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22)
-
-
21. A computer-implemented method for setting up an application in a cloud computing network environment in which different cloud providers operate respective computer processing systems, the method comprising:
-
receiving, prior to deployment of the cloud application, a definition of the cloud application that includes a list of its constituent nodes, each said node representing a part thereof that is to be deployed into a single one of said computer processing systems, the definition including lists of predefined deployment requirements of, and application level instantiation logic for, each said node, as well as matches between exposed and invokable interfaces of complementary ones of said nodes; deploying the nodes to the computer processing systems operated by the different respective cloud providers in dependence on the definition of the cloud application, such that the nodes are able to operate on the computer processing systems to which they are deployed, given requirements of the nodes and capabilities of the computer processing systems, the capabilities of the computer processing systems depending at least in part on the processors and infrastructure configurations thereof; obtaining network addresses for successfully deployed nodes; and selectively transmitting obtained network addresses between deployed nodes that have matched exposed and invokable interfaces.
-
-
23. A cloud application design system for setting up a cloud application in a heterogeneous distributed cloud provider environment including multiple computer systems, the computer systems being operated by different cloud providers, the cloud application design system comprising:
-
at least one processor; a user interface operating under the control of the at least one processor and configured, prior to deployment of the cloud application, to receive input; defining the cloud application in terms of constituent nodes, each said node representing a part of the cloud application that is to be deployed into a single one of said computer systems in the heterogeneous distributed cloud provider environment that satisfies deployment requirements of that node, at least some of the deployment requirements being indicative of resources of and/or included in the respective computer system into which the node is to be deployed, the resources being external to the cloud application and any nodes of the cloud application, defining properties identifying deployment requirements of, and application level instantiation logic for, each said node, indicating, for each said node, one or more interfaces thereof that are to be exposed as invokable by one or more other nodes, identifying, for each said node, one or more interfaces thereof that it will invoke on one or more other nodes, and indicative of how exposed interfaces are to be matched to complementary invokable interfaces as between the nodes that define the cloud application; a first storage location configured to store the input in a predefined format; and a second storage location configured to store artifacts used in supporting the application level instantiation logic of the nodes, wherein each said computer system in the heterogeneous distributed cloud provider environment is a cloud operated by a different cloud provider. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30)
-
Specification