Legal claims defining the scope of protection, as filed with the USPTO.
1. A method comprising: at a device including a processor and a non-transitory memory: obtaining, for a multi-tier application comprising a plurality of components, dependency information for each component in the plurality of components, wherein the dependency information for a component in the plurality of components comprises information indicating prerequisites for initiating execution of the component; deriving a cloud agnostic representation of the multi-tier application based, in part on the dependency information, wherein the cloud agnostic representation of the multi-tier application comprises metadata for the multi-tier application without cloud-specific information; provisioning a plurality of virtual machines to run the plurality of components of the multi-tier application based on the dependency information; deriving, from the cloud agnostic representation, cloud-specific commands for deploying the multi-tier application on the plurality of virtual machines; and deploying the multi-tier application on the plurality of virtual machines using the cloud-specific commands in order to obtain a cloud specific implementation of the cloud agnostic representation of the multi-tier application.
2. The method of claim 1 , wherein the dependency information for each component further comprises residence dependency information and the metadata further comprises: Virtual Machine (VM) co-residency information for a first subset of the plurality of components when deployed, the VM co-residency information comprising: information indicating a compatibility of at least one first group of components in the first subset for co-residency; or information indicating an incompatibility of at least one second group of components in the first subset for co-residency; or VM placement information for a second subset of the plurality of components when deployed, the VM placement information comprising a mapping of each component in the second subset to one or more VMs.
3. The method of claim 1 , wherein each of the plurality of components are selected from at least one of: a service library, the service library comprising a plurality of services, wherein each of the plurality of services is associated with a corresponding service configuration metadata; or an application catalog, the application catalog comprising a plurality of predefined multi-tier applications, wherein each of the plurality of predefined multi-tier applications is associated with a corresponding application metadata.
4. The method of claim 3 , wherein the multi-tier application is obtained by: displaying a representation of the plurality of services in the service library and a representation of applications in the application catalog in a Graphical User Interface (GUI); and displaying, based on the dependency information and in response to a selection of each of the plurality of components, a graphical representation of the multi-tier application on the GUI the graphical representation reflecting the selected components and dependencies between the selected components.
5. The method of claim 3 , wherein the plurality of services comprise at least one of: a web server; a relational database; a non-relational database; a load balancing service; a front-end cache; a back-end cache; a message bus; an application server; Virtual Machine Image (VMI) based services; or external endpoint based services.
6. The method of claim 1 , wherein deploying the multi-tier application on the plurality of virtual machines comprises: obtaining, based on the metadata in the cloud agnostic representation, the cloud specific implementation of the cloud agnostic representation of the multi-tier application.
7. An apparatus comprising: a memory comprising dependency information for a component in a plurality of components of a multi-tier application, wherein the dependency information for the component comprises information indicating prerequisites for initiating execution of the component; and a processor coupled to the memory, wherein the processor is configured to: obtain, for the multi-tier application, the dependency information for each component in the plurality of components; derive a cloud agnostic representation of the multi-tier application based, in part, on the dependency information, wherein the cloud agnostic representation of the multi-tier application comprises metadata for the multi-tier application without cloud-specific information; provision a plurality of virtual machines to run the plurality of components of the multi-tier application based on the dependency information; derive, from the cloud agnostic representation, cloud-specific commands for deploying the multi-tier application on the plurality of virtual machines; and deploy the multi-tier application on the plurality of virtual machines using the cloud-specific commands in order to obtain a cloud specific implementation of the cloud agnostic representation of the multi-tier application.
8. The apparatus of claim 7 , wherein the dependency information for each component further comprises residence dependency information and the processor is further configured to: obtain the metadata based on the residence dependency information, the metadata comprising: Virtual Machine (VM) co-residency information for a first subset of the plurality of components when deployed, the VM co-residency information comprising: information indicating a compatibility of at least one first group of components in the first subset for co-residency; or information indicating an incompatibility of at least one second group of components in the first subset for co-residency; or VM placement information for a second subset of the plurality of components when deployed, the Vivi placement information comprising a mapping of each component in the second subset to one or more VMs.
9. The apparatus of claim 7 , wherein: the memory comprises: a service library, the service library comprising a plurality of services, wherein each of the plurality of services is associated with a corresponding service configuration metadata; or an application catalog, the application catalog comprising a plurality of predefined multi-tier applications, wherein each of the plurality of pre-defined multi-tier applications is associated with a corresponding application metadata; and the processor is configured to: select each of the plurality of components from at least one of the service library or the application catalog.
10. The apparatus of claim 9 , wherein the apparatus further comprises a display coupled to the processor, wherein to obtain the multi-tier application, the processor is further configured to: display, on the display, a representation of the plurality of services in the service library and a representation of applications in the application catalog in a Graphical User Interface (GUI); and display, on the display, based on the dependency information and in response to a selection of each of the plurality of components, a graphical representation of the multi-tier application on the GUI, the graphical representation reflecting the selected components and dependencies between the selected components.
11. The apparatus of claim 9 , wherein the plurality of services comprise at least one of: a web server; a relational database; a non-relational database; a load balancing service; a front-end cache; a back-end cache; a message bus; an application server; Virtual Machine Image (VW) based services; or external endpoint based services.
12. The apparatus of claim 7 , wherein to deploy the multi-tier application on the plurality of virtual machines, the processor is configured to: obtain, based on the metadata in the cloud agnostic representation, the cloud specific implementation of the cloud agnostic representation of the multi-tier application.
13. A non-transitory computer-readable medium comprising instructions, which, when executed by a processor, perform steps in a method, the steps comprising: obtaining, for a multi-tier application comprising a plurality of components, dependency information for each component in the plurality of components, wherein the dependency information for a component in the plurality of components comprises information indicating prerequisites for initiating execution of the component; deriving a cloud agnostic representation of the multi-tier application based, in part on the dependency information, wherein the cloud agnostic representation of the multi-tier application comprises metadata for the multi-tier application without cloud-specific information; provisioning a plurality of virtual machines to run the plurality of components of the multi-tier application based on the dependency information; deriving, from the cloud agnostic representation, cloud-specific commands for deploying the multi-tier application on the plurality of virtual machines; and deploying the multi-tier application on the plurality of virtual machines using the cloud-specific commands in order to obtain a cloud specific implementation of the cloud agnostic representation of the multi-tier application.
14. The computer-readable medium of claim 13 , wherein the dependency information for each component further comprises residence dependency information and the metadata further comprises: Virtual Machine (VM) co-residency information for a first subset of the plurality of components when deployed, the VM co-residency information comprising: information indicating a compatibility of at least one first group of components in the first subset for co-residency; or information indicating an incompatibility of at least one second group of components in the first subset for co-residency; or VM placement information for a second subset of the plurality of components when deployed, the VM: placement information comprising a mapping of each component in the second subset to one or more VMs.
15. The computer-readable medium of claim 13 , wherein each of the plurality of components are selected from at least one of: a service library, the service library comprising a plurality of services, wherein each of the plurality of services is associated with a corresponding service configuration metadata; or an application catalog, the application catalog comprising a plurality of predefined multi-tier applications, wherein each of the plurality of predefined multi-tier applications is associated with a corresponding application metadata.
16. The computer-readable medium of claim 15 , wherein the multi-tier application is obtained by: displaying a representation of the plurality of services in the service library and a representation of applications in the application catalog in a Graphical User Interface (GUI); and displaying, based on the dependency information and in response to a selection of each of the plurality of components, a graphical representation of the multi-tier application on the GUI, the graphical representation reflecting the selected components and dependencies between the selected components.
17. The method computer-readable medium of claim 15 , wherein the plurality of services comprise at least one of: a web server; a relational database; a non-relational database; a load balancing service; a front-end cache; a back-end cache; a message bus; an application server; Virtual Machine Image (VW) based services; or external endpoint based services.
18. The computer-readable medium of claim 13 , wherein deploying the multi-tier application on the at least one of the plurality of clouds comprises: obtaining, based on the metadata in the cloud agnostic representation, the cloud specific implementation of the cloud agnostic representation of the multi-tier application.
19. The method of claim 3 further comprising: selecting a previously stored application from the application catalog; modifying the previously stored application to obtain a modified application, including adding or removing one or more services from the service library and adding or removing one or more previously stored applications from the application catalog; obtaining the dependency information for the modified application; and saving the modified application in the application catalog as the multi-tier application.
20. The apparatus of claim 9 , wherein the processor is further configured to: select a previously stored application from the application catalog; modify the previously stored application to obtain a modified application, including adding or removing one or more services from the service library and adding or removing one or more previously stored applications from the application catalog; obtain the dependency information for the modified application; and save the modified application in the application catalog as the multi-tier application.
21. The computer-readable medium of claim 15 further comprising: selecting a previously stored application from the application catalog; modifying the previously stored application to obtain a modified application, including adding or removing one or more services from the service library and adding or removing one or more previously stored applications from the application catalog; obtaining the dependency information for the modified application; and saving the modified application in the application catalog as the multi-tier application.
Unknown
May 8, 2018
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.