Computing entities, such as compute nodes, virtual machine instances, databases, virtual servers, virtual networks, containers, resource groups may be deployed in cloud computing platforms. A cloud computing platform may be implemented in a cloud infrastructure having hardware and software components, such as servers, storage, a network, and virtualization tools. The computing entities may be deployed and managed in the cloud computing platform through cloud orchestration techniques which automate collections of tasks and streamlines processes in a workflow.
Cloud orchestration may be performed using resource management templates, also referred to as templates, which define components of the cloud infrastructure, for example, a database server, a network address, a storage volume, etc., for deployment of the computing entities. The template may also specify parameters for deployment of the computing entities in the cloud computing platform, where the parameters define configuration of the computing entities to be deployed and managed. Templates allow simpler deployment, convenient replication, and simpler management of the computing entities in the cloud computing platform.
The following detailed description references the drawings, wherein:
A cloud service provider has a resource management template, also called a template, for deployment of computing entities in a cloud computing platform hosted by the cloud service provider. The template defines components of a cloud infrastructure over which the computing entities are to be deployed. In an example, the template is a computer file that includes information of parameters for deployment and management of computing entities in the cloud computing platform in JavaScript Object Notation (JSON) format. The parameters may define configuration settings of the computing entities to be deployed and managed in the cloud computing platform. A network administrator may provide values for the parameters for deployment and management of the computing entities in the cloud computing platform. Based on the values of the parameters in the template, the computing entities may be deployed and managed in the cloud computing platform.
Each cloud service provider has a respective resource management template. The resource management template of a cloud service provider may be incompatible in a cloud computing platform hosted by a different cloud service provider. Thus, when multiple computing entities with similar configuration are to be deployed in multiple cloud computing platforms hosted by different cloud service providers, the network administrator provides user inputs corresponding to values of the parameters in respective templates of each cloud service provider. Providing the values of the parameters in the respective templates of each cloud service provider separately, may be time consuming, complex and involves manual effort. Thus, deploying computing entities in multiple cloud computing platforms hosted by different cloud service providers, simultaneously, may be complex and time consuming.
According to the present disclosure, information about the parameters for deploying the computing entities is received from a network administrator and the information is used to generate templates specific to each of the cloud service providers. Based on the generated templates, the computing entities may be deployed in respective cloud computing platforms. Thus, values of parameters for deployment of computing entities in multiple cloud computing platforms hosted by different cloud service providers, may be provided in a consolidated manner at one place. Based on the provided values, different templates associated with different cloud service providers may be generated for deploying the computing entities in respective cloud computing platforms hosted by the different cloud service providers.
The present disclosure describes method(s) and system(s) in which a parameter, from amongst a plurality of parameters, is selected. The plurality of parameters is indicative of information associated with a computing entity to be deployed and managed over a plurality of cloud computing platforms, where each of the plurality of cloud computing platforms is hosted by a cloud service provider, from amongst a plurality of cloud service providers. The information indicated by the parameters may define configuration settings of the computing entity to be deployed and managed in the cloud computing platforms. The parameters may also define cloud infrastructure components over which the computing entity may be deployed. The cloud infrastructure components may include hardware components and applications which provide compute, storage, and networking capabilities to cloud computing platforms.
A plurality of service provider specific parameters corresponding to the parameter is identified. Each of the plurality of service provider specific parameters is associated with a respective cloud service provider. A service provider specific parameter is indicative of information associated with the computing entity to be deployed and managed over a cloud computing platform hosted by a cloud service provider with which the service provider specific parameter is associated. The information indicated by the service provider specific parameter may define configuration settings of the computing entity to be deployed and managed.
Based on the plurality of service provider specific parameters, a plurality of service provider specific templates for deployment and management of the computing entity over the plurality of cloud computing platforms may be identified. Each of the plurality of service provider specific templates includes a corresponding service provider specific parameter, from the plurality of service provider specific parameters. The service provider specific templates enable deployment and management of the computing entity in multiple cloud computing platforms, by execution of respective service provider specific templates.
According to the present disclosure, the service provider specific templates with corresponding service provider specific parameters are generated from information of a parameter provided in consolidated manner at one place. Thus, separate service provider specific templates may not be launched, and the values of the parameters may not be populated in each service provide specific template separately. Consequently, the manual effort of the network administrator may be reduced and computing entities may be launched over multiple cloud computing platforms hosted by different cloud service providers in a simpler manner.
The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar parts. While several examples are described in the description, modifications, adaptations, and other implementations are possible. Accordingly, the following detailed description does not limit the disclosed examples. Instead, the proper scope of the disclosed examples may be defined by the appended claims.
The system 100 includes a processor 102 and a memory 104 coupled to the processor 102. The memory 104 stores instructions executable by the processor 102. The instructions when executed by the processor 102 may cause the processor 102 to receive a user input corresponding to a parameter from amongst a plurality of parameters. The plurality of parameters is indicative of information associated with a computing entity to be deployed and managed over a plurality of cloud computing platforms. The computing entity refers to applications and services that may be launched in a cloud computing platform to perform predefined functions. Examples of the computing entity include one of a compute node, a storage volume, a virtual network, a virtual machine, and a resource group container.
Each of the plurality of cloud computing platforms is hosted by a cloud service provider, from amongst a plurality of cloud service providers. Thus, different cloud computing platforms may be hosted by different cloud service providers. The plurality of cloud service providers may provide different cloud infrastructures for hosting cloud computing platforms.
The information associated with the computing entity is representative of configuration of the computing entity which is to be deployed over the cloud computing platforms. Examples of the parameters include a resource information indicative of a type of computing entity to be deployed and managed, a server information indicative of capabilities of a server in which the computing entity is to be deployed, a virtual machine image information, a flavor information indicative of hardware configuration associated with the computing entity, a network configuration associated with computing entity, a security group information indicative of firewall settings associated with the computing entity, a protocol information associated with computing entity, and a combination thereof.
In an example, the instructions when executed by the processor 102 may cause the processor 102 to select a parameter from amongst the plurality of parameters. In an example, the parameter may be selected, in response to receiving a user input identifying a value of the parameter. The user input may be provided by a network administrator.
The instructions when executed by the processor 102 further cause the processor 102 to determine availability of a set of cloud infrastructure components in each of the plurality of cloud computing platforms. The set of cloud infrastructure components refer to hardware components and applications in each of the cloud computing platforms.
In response to determining that the set of cloud infrastructure components are available in the cloud computing platforms, a plurality of service provider specific parameters corresponding to the parameter is identified. Service provider specific parameters refer to parameters which may form a part of a resource manager template of a cloud computing platform hosted by a specific cloud service provider. Thus, each service provider specific parameter is associated with a respective cloud service provider.
The instructions when executed by the processor 102 further cause the processor 102 to generate a plurality of service provider specific templates for deployment and management of the computing entity over the plurality of cloud computing platforms, based on the plurality of service provider specific parameters. The service provider specific templates refer to resource management templates associated with the cloud service providers. Each of the service provider specific templates includes a corresponding service provider specific parameter, from the service provider specific parameters. Thus, the present disclosure enables generation of different service provider specific templates from information regarding parameters provided by the network administrator in a consolidated manner at one place thereby eliminating manual effort of the network administrator in populating values of the parameters in each service provider specific template, individually.
The system 200 includes the processor 102 and the memory 104 coupled to the processor 102. The memory 104 stores instructions executable by the processor 102. The processor 102 may be implemented as microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and any devices that manipulate signals based on operational instructions. Among other capabilities, the processor 102 is configured to fetch and execute computer-readable instructions stored in the memory 104. The computer-readable instructions, also referred to as instructions, includes instructions 202. The instructions 202 may include routines, programs, components, applications, data structures, and the like, which perform particular tasks or implement particular abstract data types. The instructions, being executable by the processor(s), may also be referred to as processor-executable instructions. The execution of the instructions to perform a function may be interchangeably referred to as the instructions causing performance of the function or the instructions enabling performance of the function.
The functions of the various elements shown in the
The memory 104 may include any computer-readable medium known in the art including, for example, volatile memory (e.g., RAM), and/or non-volatile memory (e.g., EPROM, flash memory, etc.). The instruction(s) 202 include template generation instruction(s) 204 which corresponds to instructions stored on a computer-readable medium and executable by a processor to generate service provider specific templates. The instruction(s) 202 also comprise other instruction(s) 206 that supplement applications on the system 200, for example, execution of functions of an operating system.
Data 208 serves, amongst other things, as a repository for storing data that may be fetched, processed, received, or generated during execution of the instruction(s) 202 by the processor 102. The data 208 comprises template data 210 which stores data relating to service provider specific templates. The data 208 also comprises other data 212 that may be fetched, processed, received, or generated during execution of other instruction(s) 206.
Consider that a network administrator intends to generate service provider specific templates associated with two different cloud service providers for deployment of computing entities over two cloud computing platforms hosted by the two cloud service providers. The cloud computing platforms hosted by the two cloud service providers may also be referred to as cloud A and cloud B (not shown in
During operation, the template generation instructions 204 when executed by the processor 102, cause the processor 102 to receive a user input corresponding to each of a plurality of parameters. The plurality of parameters is indicative of information associated with a computing entity to be deployed and managed over the plurality of cloud computing platforms, viz., cloud A and cloud B. In an example, in response to receiving a user input for initiating generation of templates, the template generation instructions 204 may cause a Command Line Interface (CLI) or Graphical User Interface (GUI) to be launched in the system 200. In an example, the CLI/GUI may provide a template file that may include information of parameters for deployment and management of computing entities in the cloud computing platforms in JavaScript Object Notation (JSON) format. A network administrator may provide user inputs defining values of the parameters in the template file. The template file is also referred to as a unified template file.
With reference to
In response to respective values being assigned to the parameters P, the template generation instructions 204 may cause the processor 102 to select a parameter, from amongst the parameters P. In an example, the template generation instructions 204 may enable selection of the parameter, in response to values being assigned to the mandatory parameters. In an example, the template generation instructions 204 may enable selection of the parameter in response to a user input identifying the parameter. Consider that the parameter P1 is selected. Although the operation, hereinafter is explained with reference to the parameter P1, in an example any other parameter from the parameters P may be processed in a similar manner. In an example, the parameter P1 may be one of a resource information indicative of a type of computing entity to be deployed and managed, a server information indicative of capabilities of a server in which the computing entity is to be deployed, a virtual machine image information, a flavor information indicative of hardware configuration associated with the computing entity to be deployed, a network configuration associated with computing entity, a security group information indicative of firewall settings associated with the computing entity, a protocol information associated with the computing entity, and a combination thereof.
In response to the parameter P1 being selected, the template generation instructions 204 may cause the processor 102 to determine availability of a set of cloud infrastructure components in each of the plurality of cloud computing platforms, A and B. The set of cloud infrastructure components include hardware and software components for deployment of the computing entity in the cloud computing platforms A and B. In an example, the availability of the set of cloud infrastructure components may be determined by collecting data relating to processing and memory resources in the cloud computing platforms A and B from respective cloud controllers of the cloud computing platforms A and B.
In response to determining that the set of cloud infrastructure components is unavailable in a cloud computing platform, from the plurality of cloud computing platforms A and B, the template generation instructions 204 may cause the processor 102 to generate a message indicating failure to generate a service provider specific template for cloud orchestration in the cloud computing platform.
In response to determining that the set of cloud infrastructure components is available in the cloud computing platforms, a relevance of the parameter P1 for generation of a service provider specific template, from amongst the plurality of service provider specific templates, is determined. With reference to
With reference to
In an example, in response to determining that the parameter P1 is irrelevant for generation of the service provider specific template for cloud A, a default value may be assigned to the parameter P1. In an example, the default value may be null. In this manner, a plurality of service provider specific parameters corresponding to the parameter P1 may be identified, where each of the plurality of service provider specific parameters is associated with a respective cloud service provider hosting the cloud computing platforms, such as clouds A and B. Similarly, for each of the parameters P1, P2, P3, . . . PN, a corresponding service provider specific parameter is identified.
With reference to
Similarly, the service provider specific parameters identified for cloud B, corresponding to parameters P1, P2, P3, . . . , and PN are BP1, BP2, BP3, . . . , and BPN, also referred to as parameters BP for cloud B. The values assigned to the parameters BP1, BP2, BP3, . . . , and BPN, are BV1, BV2, BV3, . . . , and BVN, respectively, also referred to as a values BV.
Once the service provider specific parameters for clouds A and B corresponding to each of parameters P are identified, the template generation instructions 204 may cause the processor 102 to generate a plurality of service provider specific templates for deployment and management of the computing entity over the plurality of cloud computing platforms, based on the plurality of service provider specific parameters. In an example, generating the service provider specific templates for deployment and management of the computing entity over the plurality of cloud computing platforms, such as a cloud A, includes collating the service provider specific parameters for cloud A in a template file, also called the service provider specific template for cloud A.
With reference to
In an example, the template generation instructions 204 may enable the processor 102 to determine respective cost estimates for deployment of the computing entity in the plurality of cloud computing platforms A and B. In an example, on receiving a user input to view cost estimates of deployment of the computing entity in the clouds A and B, the template generation instructions 204 may cause the processor 102 to fetch a deployment cost information associated with each of the clouds A and B. In an example, the deployment cost information may be a cost structure providing the cost for deployment of a computing entity in a cloud computing platform, such as the cloud A and B. In an example, the deployment cost information may provide costs for deploying computing entities, such as, VM instances, virtual servers, virtual networks, resource group containers, storage volumes, etc., depending on processing and memory resources to be allocated to the computing entities and rates applicable for the cloud computing platform.
With reference to
Once the plurality of service provider specific templates T1 and T2 are generated, the template generation instructions 204 may cause the processor 102 to execute each of the plurality of service provider specific templates, viz., T1 and T2. In response to execution of each of the plurality of service provider specific templates, the template generation instructions 204 cause the processor 102 to deploy the computing entity in each of the plurality of cloud computing platforms A and B.
Referring to
At block 304, a plurality of service provider specific parameters corresponding to the parameter is identified. Each of the plurality of service provider specific parameters is associated with a respective cloud service provider.
At block 306, a plurality of service provider specific templates for deployment and management of the computing entity over the plurality of cloud computing platforms are generated, based on the plurality of service provider specific parameters. Each of the plurality of service provider specific templates includes a corresponding service provider specific parameter, from the plurality of service provider specific parameters.
Referring to
At block 404, a parameter, such as the parameter P1 of
At block 406, availability of a set of cloud infrastructure components in each of the plurality of cloud computing platforms is determined. The availability of the set of cloud infrastructure components indicate memory and processing capabilities of the cloud computing platforms.
In response to determining that the set of cloud infrastructure components is unavailable in a cloud computing platform (‘No’ branch from block 406), a message indicating failure to generate a service provider specific template for cloud orchestration in the cloud computing platform is generated, at block 408.
In response to determining that the set of cloud infrastructure components is available in a cloud computing platform (‘Yes’ branch from block 406), a relevance of the parameter for generation of a service provider specific template is determined, at block 410. A service provider specific template refers to a template file supported by a particular cloud computing platform hosted by a particular cloud service provider. Relevance of the parameter is indicative of presence of a corresponding service provider specific parameter in a cloud computing platform.
In response to determining that the parameter is relevant for generation of the service provider specific template, the parameter is associated to a corresponding service provider specific parameter, at block 412. In response to determining that the parameter is irrelevant for generation of the service provider specific template, a default value may be assigned to the parameter, service provider specific templates, at block 414. Thus, the plurality of service provider specific parameters corresponding to the parameter is identified.
At block 416, a plurality of service provider specific templates may be generated, for deployment and management of the computing entity over the plurality of cloud computing platforms based on the plurality of service provider specific parameters. In an example, the service provider specific templates may be generated by collating the corresponding service provider specific parameters for the cloud computing platform.
In an example, once the service provider specific templates are generated for respective cloud computing platforms, respective cost estimates for deployment of the computing entity in the cloud computing platforms may be generated, based on deployment cost information of each of the plurality of cloud service providers which host the cloud computing platforms and the plurality of service provider specific templates.
In an example, the generated service provider specific templates may be executed in their respective cloud computing platforms. In response to execution of the service provider specific templates, the computing entity may be deployed in each of the cloud computing platforms.
The non-transitory computer-readable medium 504 can be, for example, an internal memory device or an external memory device. In an example implementation, the communication link 506 may be a direct communication link, such as any memory read/write interface.
The processor(s) 502 and the non-transitory computer-readable medium 504 may also be communicatively coupled to data sources 508 over a network, such as the Internet. The data sources 508 can include, for example, memory of the system, such as the system 100 or 200.
In an example implementation, the non-transitory computer-readable medium 504 includes a set of computer-readable instructions which can be accessed by the processor(s) 502 through the communication link 506 and subsequently executed to perform acts for generation of an instruction stream for validating processor functionality.
Referring to
Further, the non-transitory computer-readable medium 504 includes instructions 512 that cause the processor(s) 502 to determine relevance of the parameter for generation of a service provider specific template, from amongst a plurality of service provider specific templates.
The non-transitory computer-readable medium 504 includes instructions 514 that cause the processor(s) 502 to identify a plurality of service provider specific parameters corresponding to the parameter, in response to determining that the parameter is relevant for generation of the service provider specific template. Each of the plurality of service provider specific parameters are associated with a respective cloud service provider.
Further, the non-transitory computer-readable medium 504 includes instructions 516 that cause the processor(s) 502 to generate, based on the plurality of service provider specific parameters, a plurality of service provider specific templates for deployment and management of the computing entity over the plurality of cloud computing platforms. Each of the plurality of service provider specific templates includes a corresponding service provider specific parameter, from the plurality of service provider specific parameters. In an example, each of the plurality of service provider specific templates includes configuration information of the computing entity for cloud orchestration in a cloud computing platform, from amongst the plurality of cloud computing platforms.
Although implementations of present subject matter have been described in language specific to structural features and/or methods, it is to be noted that the present subject matter is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed and explained in the context of a few implementations for the present subject matter.