Search

US-12627615-B2 - Microservice deployment in distributed computing environments

US12627615B2US 12627615 B2US12627615 B2US 12627615B2US-12627615-B2

Abstract

A computer implemented method of deployment and resource allocation of microservices of a distributed computing environment is disclosed. The distributed computing environment includes a microservice deployment scheduler and one or more computing nodes. The microservice deployment scheduler includes a reinforcement learning based dynamic workload orchestration module. The method includes receiving microservice constraints descriptive of a microservice computing task by the microservice deployment scheduler. The method further includes receiving node specific properties from the one or more computing nodes by the microservice deployment scheduler. The node specific properties are descriptive of a computing capacity and/or computing capabilities of the one or more computing nodes. The method further includes orchestrating operation of the one or more computing nodes by the microservice deployment scheduler by inputting the microservice constraints and the node specific properties into the reinforcement learning based dynamic workload orchestration module.

Inventors

  • Fernando Luiz Koch
  • Aladin Djuhera
  • Alecio Pedro Delazari BINOTTO

Assignees

  • INTERNATIONAL BUSINESS MACHINES CORPORATION

Dates

Publication Date
20260512
Application Date
20240219
Priority Date
20240103

Claims (18)

  1. 1 . A computer implemented method of deployment and resource allocation of microservices of a distributed computing environment, the distributed computing environment including a microservice deployment scheduler and one or more computing nodes, the microservice deployment scheduler including a reinforcement learning based dynamic workload orchestration module, the method comprising: receiving microservice constraints descriptive of a microservice computing task by the microservice deployment scheduler, wherein the microservice deployment scheduler further includes a rule based dynamic workload orchestration module configured to orchestrate operation of the one or more computing nodes using a predetermined set of rules associated with the microservice constraints and node specific properties; receiving the node specific properties from the one or more computing nodes by the microservice deployment scheduler, wherein the node specific properties are descriptive of a computing capacity and computing capabilities of the one or more computing nodes; orchestrating operation of the one or more computing nodes by the microservice deployment scheduler by inputting the microservice constraints and the node specific properties into the reinforcement learning based dynamic workload orchestration module and by inputting the microservice constraints and the node specific properties into the rule based dynamic workload orchestration module; and orchestration of the one or more computing nodes using the reinforcement learning based dynamic workload orchestration module is performed if the predetermined set of rules is not associated with the microservice constraints and the node specific properties.
  2. 2 . The computer implemented method of claim 1 , wherein the predetermined set of rules implements a multi-objective problem statement.
  3. 3 . The computer implemented method of claim 1 , the method further comprising: training the reinforcement learning based dynamic workload orchestration module during operation using a reward function, wherein the reward function includes at least one of: resource utilization of the computing nodes, response time to the microservice constraints, cost efficiency of the computing nodes, energy consumption of the computing nodes, or combinations thereof.
  4. 4 . The computer implemented method of claim 1 , wherein the one or more computing nodes of the distributed computing environment is configured to receive microservice applications from a database of microservices for execution by the one or more computing nodes.
  5. 5 . The computer implemented method of claim 4 , wherein: the microservice deployment scheduler is executed on a dedicated computing node; and the dedicated computing node functions as a gateway between the database of microservices and the one or more computing nodes.
  6. 6 . The computer implemented method of claim 1 , wherein execution of the microservice deployment scheduler is distributed amongst the one or more computing nodes.
  7. 7 . The computer implemented method of claim 1 , wherein: the distributed computing environment includes a trained machine learning module configured to output the node specific properties in response to receiving a current node specific machine state data as input; and the method further comprises: collecting the current node specific machine state data from the one or more computing nodes; and receiving the node specific properties in response to inputting the current node specific machine state data into the trained machine learning module.
  8. 8 . The computer implemented method of claim 7 , wherein the trained machine learning module includes a classifier neural network.
  9. 9 . The computer implemented method of claim 7 , wherein the current node specific machine state data includes at least one of: current resource utilization data, current workload data, current performance metric data, current processing power, current memory capacity, current storage capacity, current network bandwidth, current microservice resource requirements, current microservice response time objective, current microservice execution dependencies, current microservice communication patterns, current installed microservices, current response time, throughput, current energy consumption, current cost of processing, current cost of storage, or combinations thereof.
  10. 10 . The computer implemented method of claim 7 , wherein: the trained machine learning module is implemented on each of the one or more computing nodes; and the method further comprises receiving the node specific properties in response to inputting the node specific machine state data into the trained machine learning module of the respective computing node.
  11. 11 . The computer implemented method of claim 7 , wherein: the trained machine learning module is further configured to receive historical machine state data as input when inputting the current node specific machine state data into the trained machine learning module; and the method further comprises inputting the historical machine state data into the trained machine learning module when inputting the current node specific machine state data into the trained machine learning module to determine the node specific properties.
  12. 12 . The computer implemented method of claim 11 , wherein the historical machine state data includes at least one of: historical resource utilization data, historical workload data, historical performance metric data, historical processing power, historical memory capacity, historical storage capacity, historical network bandwidth, historical microservice resource requirements, historical microservice response time objective, historical microservice execution dependencies, historical microservice communication patterns, historical installed microservices, historical response time, historical throughput, historical energy consumption, historical cost of processing, historical cost of storage, or combinations thereof.
  13. 13 . The computer implemented method of claim 1 , wherein: the distributed computing environment is a distributed edge computing environment; and the computing nodes are edge nodes.
  14. 14 . A computer program product comprising a computer-readable storage medium having computer-readable program code embodied therewith, said computer-readable program code configured to implement a method, the method comprising: receiving microservice constraints descriptive of a microservice computing task by a microservice deployment scheduler, wherein the microservice deployment scheduler further includes a rule based dynamic workload orchestration module configured to orchestrate operation of the one or more computing nodes using a predetermined set of rules associated with the microservice constraints and node specific properties; receiving the node specific properties from one or more computing nodes by the microservice deployment scheduler, wherein the node specific properties are descriptive of a computing capacity and computing capabilities of the one or more computing nodes; orchestrating operation of the one or more computing nodes by the microservice deployment scheduler by inputting the microservice constraints and the node specific properties into a reinforcement learning based dynamic workload orchestration module and by inputting the microservice constraints and the node specific properties into the rule based dynamic workload orchestration module; and orchestration of the one or more computing nodes using the reinforcement learning based dynamic workload orchestration module is performed if the predetermined set of rules is not associated with the microservice constraints and the node specific properties.
  15. 15 . A computer system comprising: a processor configured for controlling said computer system; and a memory storing machine executable instructions and a microservice deployment scheduler, the microservice deployment scheduler comprising a reinforcement learning based dynamic workload orchestration module, wherein execution of said instructions causes said processor to: receive microservice constraints descriptive of a microservice computing task by the microservice deployment scheduler, wherein the microservice deployment scheduler further comprises a rule based dynamic workload orchestration module configured for orchestrating operation of one or more computing nodes using a predetermined set of rules associated with the microservice constraints and node specific properties; receive the node specific properties from one or more computing nodes by the microservice deployment scheduler, wherein the node specific properties are descriptive of computing capacity and computing capabilities of the one or more computing nodes; and orchestrate operation of the one or more computing nodes by the microservice deployment scheduler by inputting the microservice constraints and the node specific properties into the reinforcement learning based dynamic workload orchestration module and by inputting the microservice constraints and the node specific properties into the rule based dynamic workload orchestration module; and orchestration of the one or more computing nodes using the reinforcement learning based dynamic workload orchestration module is performed by said processor if the predetermined set of rules is not associated with the microservice constraints and the node specific properties.
  16. 16 . The computer system of claim 15 , wherein the predetermined set of rules implements a multi-objective problem statement.
  17. 17 . The computer system of claim 15 , wherein: execution of said instructions further causes said processor to train the reinforcement learning based dynamic workload orchestration module during operation using a reward function; and the reward function includes at least one of: resource utilization of the computing nodes, response time to the microservice constraints, cost efficiency of the computing nodes, energy consumption of the computing nodes, or combinations thereof.
  18. 18 . The computer system of claim 15 , wherein: the one or more computing nodes of a distributed computing environment is configured to receive microservice applications from a database of microservices for execution by the one or more computing nodes; the microservice deployment scheduler is executed on a dedicated computing node; and the dedicated computing node functions as a gateway between the database of microservices and the one or more computing nodes.

Description

BACKGROUND The present disclosure relates to the field of digital computer systems, and more specifically, to a method for managing microservice deployment in a distributed computing system. A challenge in distributed computing, such as in edge computing, is managing the deployment lifecycles of microservice workloads across a vast number of computing nodes (such as edge nodes). In this context, computing nodes possess certain properties assigned by (edge) administrators, while microservices have certain associated metadata which are defined by developers. This metadata correspondingly defines a set of constraints on the edge node and its properties, which in turn determines which microservices can eventually be deployed onto a specified edge node. SUMMARY In one aspect the disclosure provides for a computer-implemented method of deployment and resource allocation of microservices of a distributed computing environment. The distributed computing environment comprises a microservice deployment scheduler and one or more computing nodes. The microservice deployment scheduler comprises a reinforcement learning-based dynamic workload orchestration module. The method comprises receiving microservice constraints descriptive of a microservice computing task by the microservice deployment scheduler. The method further comprises receiving node-specific properties from the one or more computing nodes by the microservice deployment scheduler. The node-specific properties are descriptive of a computing capacity and/or computing capabilities of the one or more computing nodes. The method further comprises orchestrating operation of the one or more computing nodes by the microservice deployment scheduler by inputting the microservice constraints and the node-specific properties into the reinforcement learning-based dynamic workload orchestration module. In another aspect, the disclosure provides for a computer program product comprising a computer-readable storage medium having computer-readable program code embodied therewith. Said computer-readable program code is configured to implement embodiments of the computer-implemented method. In another aspect, the disclosure provides for a computer system. The computer system comprises a processor configured for controlling the computer system. The computer system further comprises a memory storing machine-executable instructions and a microservice deployment scheduler. The microservice deployment scheduler comprises a reinforcement learning-based dynamic workload orchestration module. The execution of the instructions causes the processor to receive microservice constraints that are descriptive of a microservice computing task by the microservice deployment scheduler. The execution of the instructions further causes the processor to receive node-specific properties from the one or more computing nodes by the microservice deployment scheduler. The node-specific properties are descriptive of computing capacity and computing capabilities of the one or more computing nodes. Execution of the instructions further causes the processor to orchestrate operation of the one or more computing nodes via the microservice deployment scheduler by implementing the microservice constraints and the node-specific properties into the reinforcement learning-based dynamic workload orchestration module. BRIEF DESCRIPTION OF THE DRAWINGS In the following, embodiments of the disclosure are explained in greater detail, by way of example only, making reference to the drawings in which: FIG. 1 illustrates an example of a computing environment. FIG. 2 depicts a cloud computing environment according to an example of the present disclosure. FIG. 3 depicts abstraction model layers according to an example of the present disclosure. FIG. 4 shows a further view of the computing environment illustrated in FIG. 1. FIG. 5 shows a flow chart which illustrates a method of using the computing environment. DETAILED DESCRIPTION The descriptions of the various embodiments of the present disclosure will be presented for purposes of illustration but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein. Examples may provide for a computer-implemented method of deployment and resource allocation of microservices of a distributed computing environment. A microservice, as used herein, may refer to a collection of software applications that may have one or more of the following properties: they may be independently deployable from each other, they may be loosely coupled