Systems and methods for implementing trans-cloud application templates
Systems and methods for implementing Trans-Cloud infrastructure deployment include receiving an input from a user, the input comprising a Topology and Orchestration Specification for Cloud Applications (TOSCA) template and input parameters for instantiation via a graphical user interface (GUI), applying the input parameters to the TOSCA template, creating a directed acyclic graph of the TOSCA template based on defined relationships; and executing the instantiated model through API calls to orchestration engine based on the order defined in the acyclic graph. The TOSCA template and input parameters can specify a region for deployment and/or server plan.
1 . A system for processing Trans-Cloud application templates, comprising:
a server, coupled to a processor, and configured to execute instructions that:
receive an input from a user, the input comprising a Topology and Orchestration Specification for Cloud Applications (TOSCA) template and input parameters for instantiation via a graphical user interface (GUI);
apply input parameters to the TOSCA template;
analyze the TOSCA template to identify relationships between infrastructure components and dynamically build a directed acyclic graph of TOSCA node template instances based on the relationships between the infrastructure components;
instantiate the TOSCA service template based on the directed acyclic graph;
execute the instantiated model by invoking API calls to an orchestration engine based on the order defined in the acyclic graph, wherein the orchestration engine supports dynamic selection of cloud vendors, regions, server plans, and other parameters during the deployment of the Trans-Cloud application template, and wherein the orchestration engine is configured to define an order compatible with one or more of the cloud vendors and to accommodate the order defined in the TOSCA service template through modifications by the TOSCA interpreter;
receive one or more cookbooks comprising one or more recipes, attribute values, file distributions, and/or extensions to Chef, wherein the cookbooks provide a unit of configuration and policy distribution and define a scenario, including each configuration element required to support the scenario, the cookbooks further comprising custom resources and libraries as extensions to Chef, wherein the orchestration engine retrieves and applies cookbooks in an order determined by the directed acyclic graph to configure instantiated infrastructure components,
wherein the orchestration engine dynamically selects cloud vendors and regions based on the order defined in the acyclic graph, such that different components of an application can be deployed to discrete cloud vendors or regions based on the TOSCA template, and
wherein the system processes the cookbooks by applying configuration instructions defined in the cookbooks to the infrastructure components instantiated based on the TOSCA template.
2 . The system of claim 1 , wherein the server comprises a cloud orchestrator API, a TOSCA interpreter, and an orchestrator engine.
3 . The system of claim 1 , wherein the TOSCA template comprises a region property specifying at least one of a cloud provider and region where a specific network or server is to be deployed.
4 . The system of claim 1 , wherein the TOSCA template comprises a server plan property specifying a plan for a node specified in the TOSCA template and configured to instantiate a server.
5 . The system of claim 1 , wherein the executing the instantiated model comprises deploying a cloud infrastructure based on the acyclic graph.
6 . The system of claim 1 , the system further configured to automate infrastructure Trans-Cloud application template deployment processes.
7 . The system of claim 1 , wherein creating the acyclic graph comprises dynamically building, by the TOSCA interpreter, a directed acyclic graph of TOSCA node template instances based on the TOSCA template and input parameters.
8 . A computer-implemented method, comprising:
receiving an input from a user, the input comprising a Topology and Orchestration Specification for Cloud Applications (TOSCA) template and input parameters for instantiation via a graphical user interface (GUI);
applying the input parameters to the TOSCA template;
analyzing the TOSCA template interpreter to identify relationships between infrastructure components and dynamically build a directed acyclic graph of the TOSCA template based on the relationships between the infrastructure components; and
instantiating the TOSCA service template based on the directed acyclic graph;
executing the instantiated model by invoking API calls to orchestration engine based on the order defined in the acyclic graph, wherein the orchestration engine supports dynamic selection of cloud vendors, regions, server plans, and other parameters during the deployment of the Trans-Cloud application template, and wherein the orchestration engine is configured to define an order compatible with one or more of the cloud vendors and to accommodate the order defined in the TOSCA service template through modifications by the TOSCA interpreter;
receiving one or more cookbooks comprising one or more recipes, attribute values, file distributions, and/or extensions to Chef, wherein the cookbooks provide a unit of configuration and policy distribution and define a scenario, including each configuration element required to support the scenario, the cookbooks further comprising custom resources and libraries as extensions to Chef,
wherein the orchestration engine retrieves and applies cookbooks in an order determined by the directed acyclic graph to configure instantiated infrastructure components,
wherein the orchestration engine dynamically selects cloud vendors and regions based on the order defined in the acyclic graph, such that different components of an application can be deployed to discrete cloud vendors or regions based on the TOSCA template, and
wherein the computer processes the cookbooks by applying configuration instructions defined in the cookbooks to the infrastructure components instantiated based on the TOSCA template.
9 . The method of claim 8 , wherein the TOSCA template comprises a region property specifying at least one of a cloud provider and region where a specific network or server is to be deployed.
10 . The method of claim 8 , wherein the TOSCA template comprises a server plan property specifying a plan for a node specified in the TOSCA template and configured to instantiate a server.
11 . The method of claim 8 , wherein the executing the instantiated model comprises deploying a cloud infrastructure based on the acyclic graph.
12 . The method of claim 8 , wherein creating the acyclic graph comprises dynamically building, by a TOSCA interpreter, a directed acyclic graph of TOSCA node template instances based on the TOSCA template and input parameters.
13 . A non-transitory tangible computer-readable device having instructions stored thereon that, when executed by a computing device, cause the computing device to perform operations comprising:
receiving an input from a user, the input comprising a TOSCA template and input parameters for instantiation via a graphical user interface (GUI);
applying the input parameters to the TOSCA template;
analyzing the TOSCA template to identify relationships between infrastructure components and dynamically build a directed acyclic graph of the TOSCA template based on the relationships between the infrastructure components; and
instantiating the TOSCA service template based on the directed acyclic graph;
executing the instantiated model by invoking API calls to orchestration engine based on the order defined in the acyclic graph, wherein the orchestration engine supports dynamic selection of cloud vendors, regions, server plans, and other parameters during the deployment of the Trans-Cloud application template, and wherein the orchestration engine is configured to define an order compatible with one or more of the cloud vendors and to accommodate the order defined in the TOSCA service template through modifications by the TOSCA interpreter;
receiving one or more cookbooks comprising one or more recipes, attribute values, file distributions, and/or extensions to Chef, wherein the cookbooks provide a unit of configuration and policy distribution and define a scenario, including each configuration element required to support the scenario, the cookbooks further comprising custom resources and libraries as extensions to Chef,
wherein the orchestration engine retrieves and applies cookbooks in an order determined by the directed acyclic graph to configure instantiated infrastructure components,
wherein the orchestration engine dynamically selects cloud vendors and regions based on the order defined in the acyclic graph, such that different components of an application can be deployed to discrete cloud vendors or regions based on the TOSCA template, and
wherein the computing device processes the cookbooks by applying configuration instructions defined in the cookbooks to the infrastructure components instantiated based on the TOSCA template.
14 . The non-transitory tangible computer-readable device of claim 13 , wherein instructions are configured to be executed utilizing a TOSCA interpreter and orchestrator engine of the computing device.
15 . The non-transitory tangible computer-readable device of claim 13 , wherein the TOSCA template comprises a region property specifying at least one of a cloud provider and region where a specific network or server is to be deployed, and a server plan property specifying a plan for a node specified in the TOSCA template and configured to instantiate a server.
16 . The non-transitory tangible computer-readable device of claim 13 , wherein the executing the instantiated model comprises deploying a cloud infrastructure based on the acyclic graph.
17 . The non-transitory tangible computer-readable device of claim 13 , the non-transitory tangible computer-readable device further configured to automate infrastructure Trans-Cloud application template deployment processes.
18 . The non-transitory tangible computer-readable device of claim 13 , wherein creating the acyclic graph comprises dynamically building, by the TOSCA interpreter, a directed acyclic graph of TOSCA node template instances based on the TOSCA template and input parameters.