Pooled computing resources and/or other services may be provisioned in order to deploy workloads. Pooled computing resources may be utilized to deploy a particular workload requested by a client. For instance, computing resources in a cloud infrastructure, private data center, and/or bare metal servers may be utilized to deploy a particular workload, among other computing resource environments.
Pooled computing resources may be operated by an orchestration agent. For example, an orchestration agent can perform deployment, scaling, and/or management services to various types of pooled computing resources. Users of pooled computing resources may utilize pooled computing resources to perform various computing tasks, allowing for users to avoid or lessen computing infrastructure and maintenance costs, among other reasons.
Clusters of pooled computing resources may be created in same availability zones. For example, a pool of computing resources may be created/operated in an availability zone on a cloud service (e.g., public, private, and/or hybrid cloud service) or on a same data center.
However, creating/operating a pool of computing resources in a same availability zone may prevent a user who may be remotely located geographically from the pool of computing resources from deploying a workload on the remotely located pool of computing resources. For example, a user located in the United States may wish to deploy a workload on a pool of computing resources located in India. Since the pool of computing resources are located in the same availability zone (e.g., India), it may not be feasible for the user located in the United States to deploy the workload using the pooled computing resources in India.
Deploying a workload, according to the disclosure, can allow for deployment of a workload in a particular geographic location. The workload may be deployed in a location that is geographically different than the availability zone of the pooled computing resources. For example, the workload can be deployed without regard to the availability zone of a pool of computing resources. Accordingly, a user may deploy a workload in a desired geographic location.
System 100 can include computing device 102. As used herein, the term “computing device” can, for example, refer to a device including a processor, memory, and input/output interfaces for wired and/or wireless communication. A computing device may include a laptop computer, a desktop computer, a mobile device, and/or other wireless devices, although examples of the disclosure are not limited to such devices. A mobile device may refer to devices that are (or may be) carried and/or worn by a user. For instance, a mobile device can be a phone (e.g., a smart phone), a tablet, a personal digital assistant (PDA), smart glasses, and/or a wrist-worn device (e.g., a smart watch), among other types of mobile devices.
Computing device 102 can be utilized for deploying a workload. For example, computing device 102 can be utilized to receive a workload request 104 and deploy the workload 106, as is further described herein. As used herein, the term “workload” can, for example, refer to a set of instructions that are executed by a processor to perform a task. For example, the workload can be a set of non-transitory machine-readable instructions that are executed by a processor to perform a coordinated function, task, and/or activity, as is further described herein. As used herein, the term “workload request” can, for example, refer to a message sent between two computing devices asking for a particular action. For example, a workload request 104 can be a message sent from a user computing device to computing device 102 asking computing device 102 to perform a particular action, as is further described herein.
Computing device 102 can be a node. As used herein, the term “node” can, for example, refer to a device on a larger network. For example, computing device 102 can be a computing device that is connected to other computing devices on a larger network. Computing device 102 can be a master node among other nodes on the larger network. As used herein, the term “master node” can, for example, refer to a governing node among other nodes on a larger network. For example, computing device 102 can govern actions taken by other computing devices on a larger network.
In some examples, computing device 102 can be a master node in a Kubernetes cluster. For example, as described above, orchestration systems such as Kubernetes may perform deployment, scaling, and/or other management services. Computing device 102 may be a master node in a Kubernetes cluster environment to perform deployment, scaling and/or other management services for other nodes in the pooled computing resource environment.
Although computing device 102 is described above as being a master node in a Kubernetes cluster, examples of the disclosure are not so limited. For example, computing device 102 can be a master node utilized by any other orchestration agent in a pooled computing resource environment.
Computing device 102 can receive a workload request 104. For example, a user may desire to deploy a workload, and can request computing device 102 to deploy the workload 106. In other words, the workload request 104 can be associated with a workload. Accordingly, computing device 102 can receive a workload request 104 from a user to deploy a particular workload. As used herein, the term “worker node” can, for example, refer to a node governed by a master node.
In some examples, the workload can be a web application. As used herein, the term “web application” can, for example, refer to a software application that runs on a remote server. For example, a web application can be a set of instructions that are executed by a processor on a remote server to perform a task.
Although the workload is described above as being a web application, examples of the disclosure are not so limited. For example, the workload can be any other type of workload.
Computing device 102 can receive the workload request 104 from a user. The workload request 104 can include a requested geographic location to deploy the workload 106. As used herein, the term “geographic location” refers to a physical place on the Earth occupied by a worker node. For example, the user can specify the load be deployed in the United States and send a workload request 104 to computing device 102, which may be a master node located on a pool of computing resources (e.g., a Kubernetes cluster, among other examples) located in India. The pool of computing resources can be a public cloud, datacenter, and/or bare metal server, among other examples, as is further described herein.
The requested geographic location can be a same location as a geographic location of the worker node. That is, a user may desire to deploy a workload in the United States utilizing the pool of computing resources located in India and send a workload request 104 having a requested geographic location of the United States.
In response to the workload request 104, computing device 102 can create a worker node. In some examples, the worker node can be a virtual machine (VM). As used herein, the term “virtual machine” can, for example, refer to an emulation of a physical computing device. For example, computing device 102 can create an emulation of a physical computing device on the worker node. In some examples, computing device 102 can create the VM utilizing Amazon Web Services, Azure, Google Cloud Products, etc.
Although the worker node is described above as being a VM, examples of the disclosure are not so limited. For example, the worker node can be a bare metal server, laptop computing device, desktop computing device, raspberry pi, among other types of virtual and/or physical computing devices.
Computing device 102 can deploy the workload 106 via a plugin on the worker node. For example, the worker node can be utilized to deploy a workload (e.g., a web application). The worker node can be located in the requested geographic location. Accordingly, the workload can be deployed via the plugin on the worker node in the different geographic location than computing device 102. As used herein, the term “plugin” can, for example, refer to a software component that adds a feature to an existing computer program. For example, computing device 102 can deploy a workload to a worker node using an added feature of a computer program.
Computing device 102 can deploy the workload 106 on a worker node located in the different geographic location via a virtual network gateway. As used herein, the term “virtual network gateway” can, for example, refer to a pathway used to send traffic between two computing devices. For example, the virtual network gateway can be a virtual private network (VPN) tunnel. As used herein, the term “VPN” can, for example, refer to an extension of a private network across a public network. As used herein, the term “VPN tunnel” can, for example, refer to an encrypted communication pathway between two computing devices. For example, computing device 102 can communicate with a worker node via the VPN tunnel. Computing device 102 can communicate with the worker node via the VPN tunnel to deploy the workload 106.
In some examples, computing device 102 can be located in a data center. As used herein, the term “data center” can, for example, refer to a space housing computer systems and/or associated components, such as telecommunications and/or storage systems which may be utilized as pooled computing resources. For example, a user can request a workload be deployed in a location that may be remotely located (e.g., in the United States) from a data center (e.g., being on an availability zone in India), but the user may desire to deploy a workload utilizing the data center located in India. Computing device 102 can deploy the workload on the worker node in the requested geographic location by communicating with the worker node located remotely from the data center through a VPN tunnel.
In some examples, computing device 102 can be located in a first public cloud and the worker node located in a second public cloud. As used herein, the term “data center” can, for example, refer to pooled computing resources offered over public Internet. For example, a user can request a workload be deployed in a location that may be remotely located (e.g., in the United States) from a public cloud (e.g., being on an availability zone in India), but the user may desire to deploy a workload utilizing the public cloud located in India. Computing device 102 can deploy the workload on the worker node in the requested geographic location by communicating with the worker node located remotely from the public cloud through a VPN tunnel. The worker node can communicate with computing device 102 through the VPN tunnel via a VPN gateway included in the first public cloud. As used herein, the term “VPN gateway” can, for example, refer to a virtual network gateway used to send traffic between a virtual computing device and another computing device.
In some examples, computing device 102 can be located in a bare metal server. As used herein, the term “bare metal server” can, for example, refer to a physical server dedicated to a single tenant. For example, a user can request a workload be deployed in a location that may be remotely located (e.g., in the United States) from the bare metal server (e.g., located in India), but the user may desire to deploy a workload utilizing the bare metal server located in India. Computing device 102 can deploy the workload on the worker node in the requested geographic location by communicating with the worker node located remotely from the bare metal server through a VPN tunnel.
By deploying the workload 106, the worker node can execute the workload. For example, the workload can be a web application, and the worker node can execute the web application utilizing the encrypted VPN tunnel while the worker node is located remotely from the computing device 102.
Deploying a workload, according to the disclosure, can provide an ability to deploy workloads remotely via a worker node from a set of computing resources. The worker node can be created to allow the workload to be deployed in a user specified location remote from the set of computing resources without latency issues.
As previously described in connection with
Further, as previously described in connection with
As illustrated in
The computing device 302 may include instructions 324 stored in the memory resource 322 and executable by the processing resource 320 to receive a workload request. Computing device 302 can be a master node and can receive the workload request to deploy a workload associated with the workload request. The workload request can include a requested geographic location to deploy the workload. The requested geographic location can be a different geographic location than the geographic location of computing device 302.
The computing device 302 may include instructions 326 stored in the memory resource 322 and executable by the processing resource 320 to deploy the workload on a worker node via a plugin. The computing device 302 can deploy the workload via the plugin on a worker node located in the requested geographic location included in the workload request. For example, computing device 302 can deploy the workload on a worker node that may be geographically remotely located from computing device 302. Computing device 302 can communicate with the worker node via a VPN tunnel. In this manner, computing device 302 can deploy a workload.
Processor 432 may be a central processing unit (CPU), microprocessor, and/or other hardware device suitable for retrieval and execution of instructions stored in machine-readable storage medium 434. In the particular example shown in
Machine-readable storage medium 434 may be any electronic, magnetic, optical, or other physical storage device that stores executable instructions. Thus, machine-readable storage medium 434 may be, for example, Random Access Memory (RAM), an Electrically-Erasable Programmable Read-Only Memory (EEPROM), a storage drive, an optical disc, and the like. The executable instructions may be “installed” on the system 428 illustrated in
Receive instructions 436, when executed by a processor such as processor 432, may cause system 428 to receive a workload request. For example, system 428 can be a master node and can receive the workload request to deploy a workload associated with the workload request. The workload request can include a requested geographic location to deploy the workload. The requested geographic location can be a different geographic location than the geographic location of system 428.
Deploy instructions 438, when executed by a processor such as processor 432, may cause system 428 to deploy the workload via a plugin on a worker node. That is, system 428 can deploy the workload via the worker node in the requested geographic location included in the workload request. For example, system 428 can deploy the workload on a worker node that may be geographically remotely located from system 428. System 428 can communicate with the worker node via a VPN tunnel. In some examples, the worker node can be a VM, a bare metal server, laptop computing device, desktop computing device, raspberry pi, among other types of computing devices.
At 542, the method 540 may include receiving a workload request including a requested geographic location to deploy a workload. The workload request can be associated with the workload. The computing device can, in some examples, be a master node included in a computing resource environment (e.g., a Kubernetes cluster, among other examples). The requested geographic location to deploy the workload can be a different geographic location than the geographic location of the computing device.
At 544, the method 540 may include deploying the workload via a plugin on a worker node via an encrypted VPN tunnel. For example, the computing device can create a worker node, where the worker node is located in a different geographic location than the computing device/master node. The computing device can communicate with the worker node to deploy the workload via the encrypted VPN tunnel. In some examples, the worker node can be a VM, a bare metal server, laptop computing device, desktop computing device, raspberry pi, among other types of computing devices. In some examples, the worker node can be a user's computing device (e.g., the user who sent the workload request to the computing device to deploy the workload), a VM. In some examples, the worker node can be located remotely from the computing device and from a user who sent the workload request to the computing device to deploy the workload (e.g., the worker node can be located on a cloud computing environment).
In the foregoing detailed description of the disclosure, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration how examples of the disclosure may be practiced. These examples are described in sufficient detail to enable those of ordinary skill in the art to practice the examples of this disclosure, and it is to be understood that other examples may be utilized and that process, electrical, and/or structural changes may be made without departing from the scope of the disclosure.
The figures herein follow a numbering convention in which the first digit corresponds to the drawing figure number and the remaining digits identify an element or component in the drawing. Similar elements or components between different figures may be identified by the use of similar digits. For example, 102 may reference element “02” in