Extensible operators for automated management of workloads in hybrid cloud environments
By selecting resource types, identifying operations, and optimizing coordination time periods in a hybrid cloud environment, and using machine learning and Kubernetes operators to manage workloads, this technology addresses the limitations of resource monitoring and high maintenance costs in existing technologies, achieving efficient management of heterogeneous resources in a hybrid cloud environment.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- INTERNATIONAL BUSINESS MACHINE CORPORATION
- Filing Date
- 2021-08-12
- Publication Date
- 2026-04-24
AI Technical Summary
In hybrid cloud environments, existing operators face challenges in managing workloads, including limitations on the number of resources monitored, high maintenance costs, and increased operator idle time. These challenges are particularly evident when users migrate to container environments, presenting both capability and cost hurdles.
The computer-implemented approach selects resource types in a hybrid cloud environment, identifies operations and determines coordinated execution times, uses machine learning to optimize coordination time periods, deploys a minimum number of processes to manage workloads, and leverages Kubernetes operators for programmatic mapping and management.
It improves the efficiency of computer resource management, reduces processing power and memory usage, enables efficient management of heterogeneous resources, and enhances workload management functionality.
Smart Images

Figure CN116097236B_ABST
Abstract
Description
Technical Field
[0001] This disclosure generally relates to the deployment and management of computer resources, and more specifically to workload management in hybrid cloud environments. Background Technology
[0002] The use of computing resources across infrastructure and platforms in hybrid cloud environments is increasing. For example, the use of virtual machines and application containers, which package or encapsulate software code and all its dependencies, continues to grow. Challenges persist in providing easy deployment and management of resources in the hybrid cloud across areas requiring security, lifecycle management, and operational compliance.
[0003] Platforms such as Kubernetes facilitate the running of applications in both public and private clouds. As the complexity of multiple infrastructures / platforms (such as hybrid clouds) increases, there is a need to ensure that the functional and non-functional requirements of such computing resources are met without incurring excessive time and cost. Therefore, the use of operators to automate the monitoring of computing resources and promote the widespread adoption of installing, updating, and managing such resources is increasing, as this approach reduces / eliminates concerns about the underlying platform within cloud services.
[0004] However, while the use of operators (such as Kubernetes operators) can observe the current state of resources (among multiple resources) and remedy discrepancies between the expected and actual states of resources, there are limitations on the number of resources that can be monitored. For example, implementing an operator for each different resource in a workload increases maintenance costs because each operator should be managed. There is also increased operator idle time by implementing operators for each different resource in a workload. Operators can manage multiple resources, but due to the sequential nature of application state coordination job execution, each operator can only monitor a limited number of resources and satisfy resource requirements. For example, in hybrid cloud environments, hybrid workloads pose challenges to operator applications in terms of both capacity and cost. Therefore, there is a need to enhance workload management, especially when users are migrating operations to container environments. Summary of the Invention
[0005] According to one embodiment, a computer-implemented method for managing one or more operations of a workload in a hybrid cloud environment includes selecting a resource type from a plurality of resources for workload management on a platform. One or more operations to be managed are identified on the platform. For each operation to be managed, a reconciliation execution time is determined, and for each operation, a reconciliation time period is determined. A minimum number of processes for a given set of operations on the management resources is determined, and the processes are deployed to manage the workload. Management of heterogeneous resources (e.g., different types of workloads) can be provided by a method implemented on a single computer, which provides improved computing efficiency and enhanced workload management functionality.
[0006] In one embodiment, selecting a resource type includes choosing one of bare metal resources, container resources, or virtual machine resources to manage workloads. Because hybrid cloud environments will have various types of resources and there is a desire to migrate to container operations, there are computer-implemented methods that can improve functionality for managing different types of resources.
[0007] In one embodiment, identifying the one or more operations includes identifying at least one of a patching operation, an event management operation, or a compliance operation. These various operations can all be managed using methods implemented on a single computer.
[0008] In one embodiment, the computer-implemented method includes using machine learning to determine the coordinated execution time across multiple executions of each identified operation.
[0009] In one embodiment, the computer-implemented method includes using machine learning to determine the coordination time period and coordination execution time for each of the identified operations.
[0010] In one embodiment, deploying the determined minimum number of processes to perform workload management includes programmatically mapping operations to operators.
[0011] In one embodiment, a computing device for managing one or more operations of a workload in a hybrid cloud environment includes a processor and memory coupled to the processor. The memory stores instructions to cause the processor to perform actions, said actions including selecting a resource type from a plurality of resources for workload management on a cloud-based platform. One or more operations of the selected resource type to be managed are identified. A coordinated execution time is determined for the execution of each identified operation. A coordination time interval between two consecutive coordinations for each of the identified operations is determined. A minimum number of processes for workload management of a given set of identified operations of the selected resource type is calculated, and the determined minimum number of processes is deployed to perform workload management.
[0012] In one embodiment, the machine-readable medium is configured with computer-readable program code having computer-readable instructions that, when executed, cause a computer device to perform one or more operations for managing workloads in a hybrid cloud environment.
[0013] These and other features will become apparent from the following detailed description of illustrative embodiments thereof, which will be read in conjunction with the accompanying drawings. Attached Figure Description
[0014] The accompanying drawings are illustrative embodiments. They do not show all embodiments. Other embodiments may be used in addition to or alternative to them. Details that may be obvious or unnecessary may be omitted to save space or for more effective illustration. Some embodiments may be practiced with additional components or steps and / or without all components or steps shown. When the same number appears in different drawings, it refers to the same or similar parts or steps.
[0015] Figure 1A This is a diagram illustrating an overview of the architecture of a hybrid workload according to an illustrative embodiment.
[0016] Figure 1B An illustrative embodiment is shown for use with Figure 1A More details on the configuration of resources for the mixed workload resource types shown.
[0017] Figure 2 The operation of managing resources using operators is illustrated according to an illustrative embodiment.
[0018] Figure 3 This illustrates a design and framework for managing workloads in a hybrid cloud environment, based on illustrative embodiments.
[0019] Figure 4 The calculation of the coordination time period and execution time according to the illustrative embodiment is explained.
[0020] Figure 5An example of linear programming using integers is shown according to an illustrative embodiment.
[0021] Figure 6 A flowchart depicts a method for managing one or more operations of a workload in a hybrid cloud environment according to an illustrative embodiment.
[0022] Figure 7 This is a functional block diagram illustration of a computer hardware platform capable of communicating with various networking components according to an illustrative embodiment.
[0023] Figure 8 An illustrative cloud computing environment utilizing cloud computing is described.
[0024] Figure 9 It describes a set of functional abstraction layers provided by the cloud computing environment. Detailed Implementation
[0025] Overview
[0026] In the following detailed description, numerous specific details are illustrated by way of example to provide a thorough understanding of the relevant teachings. However, it should be understood that this teaching can be practiced without such details. In other cases, well-known methods, processes, components, and / or circuits have been described at a relatively high level without detail to avoid unnecessarily obscuring aspects of this teaching.
[0027] In some illustrative embodiments, Kubernetes operators are used. However, it should be understood that this disclosure is not limited to the use of Kubernetes operators. Kubernetes operators are methods for enhancing the Kubernetes platform to manage application deployments of complex workloads, such as distributed systems using, for example, arbitration mechanisms and databases. Kubernetes operators facilitate the automated deployment, scaling, and operation of application containers, enabling entities to define how applications run and interact with each other. Scalable Kubernetes systems can provide, for example, the scaling (e.g., expansion) of content and isolation between projects, allowing the removal of any project without affecting other content. Determining the minimum number of processes to perform workload management involves programmatically mapping identified operations to scalable Kubernetes operators.
[0028] Computer-implemented systems and methods offer improvements in the efficiency of computer operations. For example, improvements in workload management, aided by the teachings in this paper, include: a single management tool can provide management of multiple heterogeneous resource groups (e.g., bare bones, containers, virtual machines) in a hybrid cloud environment with a minimal number of operators (including but not limited to Kubernetes operators), resulting in a reduction in the amount of processing power and a reduction in the use of computer memory.
[0029] Example Architecture
[0030] Figure 1A Figure 100A provides an overview of the architecture of a hybrid workload according to an illustrative embodiment. Hybrid workloads can span multiple dimensions and may include, for example, multi-cloud / multi-OS, one or more types of cloud deployment models (traditional, private, public cloud) and / or a type of deployment (bare metal, VM, container, external service), etc. It should be understood that a hybrid cloud combines on-premises infrastructure / platforms (e.g., private cloud) with public cloud. In some embodiments, Kubernetes operators are discussed as being deployed in private infrastructure or public cloud, but this disclosure is not limited to such deployments, nor is it limited to Kubernetes operators.
[0031] For example, in Figure 1A The diagram illustrates a hybrid workload resource type 101, comprising traditional information technology (IT) resources 110, private resources 120, and public resources 130. Key 102 illustrates the shadows used in the configurations shown within the hybrid workload resource type, which may include containers 103, virtual machines (VMs) 104, and physical machines (PMs) 105. It should be understood that... Figure 1A The arrangements shown are provided for illustrative purposes, and this disclosure is not limited to the embodiments shown and described herein.
[0032] refer to Figure 1A The shadow identified by key 102 in the diagram, the mixed workload resource type in the traditional IT 110 resources may include application 111, application server 112, and database 113 configured as virtual machine (VM) resources. Additionally, the traditional IT resources 110 shown also include application 114, application server 115, and database 116 configured as container resources. Figure 1A The dashed lines in the diagram indicate specific groups of applications, application servers, and databases, which include items from more than one resource and are labeled Configuration 1, Configuration 2, and Configuration 3. For example, Configuration 1 includes application 121 and application server 122 from private resource 120, and database 113 from legacy IT source 110. Configuration 2 includes application 134 and application server 135 from public resource 130, and database 123 from private resource 120. Configuration 3 includes application 134 and application server 135 from public resource 130, and database 126 from private resource 120.
[0033] The private resource 120 shown includes, for example, an application 121 configured as a VM resource, an application server 122, and a database (DB) 123. Furthermore, an application 124, an application server 125, and a database 126 are shown. As indicated by locks 127 and 128, access to applications 121 and 124, databases 123 and 126, and application servers 122 and 125 is restricted.
[0034] Public resources 130 include, for example, applications 131, application servers 132, and databases 133 configured for VMs, and applications 134, application servers 135, and databases 136 configured for container resources.
[0035] Figure 1B It shows the use of Figure 1A More details on the different configurations of resources for mixed workload resource type 101 shown. Figure 1B The configuration shown corresponds to Figure 1A Configurations 1, 2, and 3 are indicated by dashed lines. Figure 1B It was shown again in the middle Figure 1A Key 102 in the middle, to help Figure 1B The explanation. For example, Figure 1B The configurations shown are only for VM 140, Physical Machines (PM) + VMs + Containers 150, or Containers 160 only. It should be understood that... Figure 1B The configurations shown are not exhaustive of the breadth of this disclosure.
[0036] Figure 2 The use of operator 205 (such as...) according to an illustrative embodiment is shown. Operator 205 manages resources 200 of the hybrid cloud 241. Operator 205 includes controller 215 configured to observe, analyze, and act on resources. API server 225 (such as a Kubernetes "K8" API server) is shown communicating with both operator 205 and custom resource 235. Custom resource 235 is an object of custom resource definition 212. For example, operator 205 processes resources according to custom resource definition 212. When a minimum number of processes (e.g., Kubernetes operators) are determined to provide expected (e.g., optimal) management of a given set of operations on a resource, there exists a mapping of operation types to custom resource definition 212 and custom resource 235. Operation types may include compliance (e.g., file licensing and password complexity), patching (e.g., service patches and service packages), event management (e.g., low disk space and low free storage space), and deployment / change (e.g., DB upgrades, file system extensions). Tables can be used to map operation types to custom resources 235. Regrouping of custom resources 235 can be performed based on changes to workloads. Operator 205 is configured with at least the functionality shown in Table 255, enabling operator 205 to obtain the current state of the application and compare it with the desired state in custom resource 235. When a deviation is detected, script 211 can be invoked to remedy the application state. It should be understood that this disclosure is not limited to... Figure 2 The configurations shown and described are as follows. For example, API Server 225 is not limited to K8 API Server.
[0037] Figure 3 This illustration shows a design and framework 300 for managing workloads in a hybrid cloud environment, according to an illustrative embodiment. Operations for specific resource types selected for workload management are identified. Some non-exhaustive examples of operations for specific resource types are discussed below.
[0038] For example, such as Figure 3As shown in the non-limiting example, operations may include compliance operation 305, patching operation 307, and / or event management operation 309. Compliance operation 305 may include functions and rules ranging from password complexity to file permissions. Patching operation 307 may include operations ranging from the application of security patches to the installation and updating of service packages. Event management operation 309 may include monitored functions such as low memory status, low disk space, etc. Event management operation 309 may include determining one or more workload dimensions of the identified operations to identify resource types selected for workload management. For example, the determination of the coordination time and coordination period for performing the operation may be based on workload lifecycle data, user requirements, etc., and may be updated through machine learning. Operations 305, 307, and 309 are provided as corresponding partitions 311, 313, and 315, which are used to deploy a determined minimum number of processes (e.g., Kubernetes operators) to perform workload management.
[0039] Figure 4 The illustration 400 illustrates the calculation of the coordination time period and coordination execution time according to an illustrative embodiment. The coordination time period may be based on user requirements such as experiential experience, or it may be data-driven from past workload lifecycles (e.g., historical executions). The coordination time period provides information about the frequency of monitoring certain operations. The coordination time period can be determined as the time interval between two consecutive coordinations of each of the identified operations selected for workload management. For example, regarding... Figure 3 The operations shown, such as compliance operation 305, may have a coordination period of, for example, 2 hours. Patch operation 307 may have a weekly coordination period, while event management 309 may have an on-demand coordination period. It should be understood that the coordination periods described above are exemplary examples, and there are no limitations based on these examples of coordination periods.
[0040] Continue to refer to Figure 4 The total operation execution time of 405 is shown by calculating the sum of multiple execution times t1 410 to tn 420. Although Figure 4 This shows that a cryptographic complexity function is being executed (e.g., Figure 3 The compliance operation shown is 305), but it can be as follows: Figure 4 Any other operations shown determine the operation execution time. A graph 430 shows the number of actions performed versus time. (See graph 430.) Figure 4As shown, the number of operations calculated (e.g., for patching: security patches, service packs; for compliance: password complexity, file permissions; and for event management: low memory, low disk) is 14 (e.g., 4+3+7 as shown). Therefore, the coordination execution time 425 can be determined to be equal to the operation execution time 405 divided by the total number of operations.
[0041] Regarding the calculation of the coordination time period and coordination execution time 425, machine learning can be used to determine / predict the coordination execution time 425 over multiple executions of the identified operation. Machine learning can also be used to determine / predict the coordination time period for each identified operation. Training data such as lifecycle workloads (historical executions) can be used and updated with additional workload information as subsequent executions occur. When new operation information is provided, or at predetermined intervals, the determination of the coordination time period and coordination execution time operation can be repeated, allowing machine learning to determine the coordination execution time and / or coordination time period over multiple executions of the identified operation with increased accuracy. It should be understood that... Figure 4 Provided for illustrative purposes, and the determination of the coordination period and coordination implementation time is not limited to... Figure 4 The operation shown is illustrated.
[0042] Figure 5An example of determining group operations 500 using Integer Linear Programming (ILP) according to an illustrative embodiment is shown. Modeling is performed to find the most efficient possible allocation of grouping operators. In this case, cost considerations may refer to the efficiency of computer operations. One way to determine group operations is to treat each operation as a single entry, and its cost will be the estimated coordination execution time. A significant consideration is how to group the group operations on a minimum number of operators given a set of operations (each operation having a coordination cost). By using ILP, using an approximation 510, and performing fractional LP and rounding procedures 520, the result 530 is shown as the number of operators (min z) computed, which is subject to (e.g., such that) conditions including: the set of all resources, the set of all intervals where resources can be scheduled, the coordination time period, and the maximum number of parallel coordinations using one operator. Other methods (such as Greedy Assignment / GA) can be used to compute the minimum number of operators. When using ILP, the problem provides an integer solution for the number of operators. Nondeterministic polynomial-time (NP) problems do not have polynomial running time for solving, but have polynomial running time for verifying solutions. NP-hardness is a defining property of a class of problems that are at least as hard as the hardest problems in NP. ILP problems are NP-hard and have exponential worst-case complexity. Given inputs of r ∈ R operations associated with a coordination time interval (RP) and coordination time / cost (RC), the algorithm schedules all operations while minimizing the number (z) of operators used. The time interval i ∈ I(r) of length RC during which operations r will be executed is chosen. For each operation r ∈ R, there exists an indicator variable x to identify whether operation r can be scheduled on time interval i. Each operation is scheduled on at least one interval, and the total number of operations scheduled at time t is at most z. For each operator, the set of operations assigned to it is executed in disjoint intervals.
[0043] Example processing
[0044] Building upon the foregoing overview of the example architecture, it can now be helpful to consider a more advanced discussion of example processing. To this end, combining... Figure 2 , 3 and 4, Figure 6 A computer-implemented method for managing one or more operations of workloads in a hybrid cloud environment, according to an illustrative embodiment, is described.
[0045] At operation 610, resource types from multiple resources are selected for workload management on the cloud-based platform. Several different resource types are available, such as bare metal resources, virtual machine resources, and container resources. In hybrid cloud environments, multiple resource types are often present, and this compute-implemented approach can provide workload management for multiple resources.
[0046] In operation 620, identify one or more operations of the selected resource type to be managed. For example... Figure 3 As shown, some non-restrictive examples of operations include compliance operation 305, patching operation 307, or incident management operation 309. As discussed above, Figure 3 These operations can be provided as partitions, which are used to deploy a determined minimum number of processes (e.g., Kubernetes operators) to perform workload management.
[0047] In operation 630, the workload dimensions of one or more identified operations are determined. Figure 4 The above description provides examples of workload dimensions, such as reconciliation time periods and reconciliation execution times. Reconciliation time periods can be set based on experiential factors, user needs, and / or data driven by past workload lifecycles (historical executions). Figure 4 As shown, the coordinated execution time can be calculated. The workload dimension can be learned and updated through machine learning. For example, machine learning can be supervised or unsupervised. In the case of supervised machine learning, historical execution data can be labeled as the training set.
[0048] In operation 640, the minimum number of processes for workload management for a given set of identified operations for the selected resource type can be determined. For example... Figure 5 As shown, one way to determine the minimum number of processes is by using ILP. (This is in conjunction with the above...) Figure 2 The description allows operation types to be mapped to Custom Resource Definitions (CRDs) applied to custom resources. Custom resources can be regrouped based on changes to the workload. ILP is a formula for the problem, which can be used to perform modeling to compute more efficient or most efficient operation groupings.
[0049] In step 650, the determined minimum number of processes for performing workload management is deployed. Deploying the determined minimum number of processes to perform workload management may include programmatically mapping the identified operations to operators. Operators may be Kubernetes operators, and they are scalable to workloads. Although the process ends at step 650, machine learning may be performed to learn and / or update the determined workload dimensions, such as the coordinated time periods and coordinated execution times across multiple execution steps.
[0050] Figure 7 A functional block diagram of a computer hardware platform is provided (700). Specifically, Figure 7 A specially configured network or host computer platform 700 is shown, which may be used for implementation. Figure 6 The method shown.
[0051] Computer platform 700 may include a central processing unit (CPU) 704, a hard disk drive (HDD) 706, random access memory (RAM) and / or read-only memory (ROM) 708, a keyboard 710, a mouse 712, a display 714, and a communication interface 716 connected to a system bus 702. HDD 706 may include a data storage library.
[0052] In one embodiment, HDD 706 has the capability to include a storage program capable of performing various processes, such as executing workload management module 750 in the manner described herein. Workload management module 750 provides overall management of selected workloads. Custom resource module 748 monitors the status description of resources, and ILP module 746 provides modeling capabilities for determining operation groups. Machine learning module 740 and training samples 742 can be used to improve the accuracy of the determined coordination times and coordination periods. Various modules may exist, configured to perform a variable number of different functions.
[0053] For example, training sample module 742 stores different data to train the processor with machine learning module 740, which is configured to perform machine learning about workload management, including determining the coordination time and coordination period for each of the identified operations as discussed above herein.
[0054] In one embodiment, Apache can be stored. TM Such programs are used to operate the system as a web server. In one embodiment, the HDD 706 may store an executable application that includes one or more library software modules, such as those for implementing the JVM (Java JVM). TM Java Virtual Machine TM The modules of the runtime environment program.
[0055] Example cloud platform
[0056] As discussed above, the functionality associated with environmental and ecological optimization methods may include the cloud. It should be understood that although this disclosure includes a detailed description of cloud computing as discussed below, implementations of the teachings cited herein are not limited to cloud computing environments. Rather, embodiments of this disclosure can be implemented in conjunction with any other type of computing environment now known or developed hereafter.
[0057] Cloud computing is a service delivery model that enables convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services), which can be rapidly provisioned and released with minimal management effort or interaction with the service provider. This cloud model may include at least five features, at least three service models, and at least four deployment models.
[0058] The features are as follows:
[0059] On-demand self-service: Cloud consumers can unilaterally and automatically provide computing power, such as server time and network storage, as needed, without requiring human interaction with the service provider.
[0060] Extensive network access: Capabilities are available through networks and accessed via standard mechanisms that facilitate the use of heterogeneous thin client platforms or thick client platforms (e.g., mobile phones, laptops, and PDAs).
[0061] Resource pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, where different physical and virtual resources are dynamically assigned and reassigned as needed. There is a sense of location independence because consumers typically do not have control or knowledge of the exact location of the resources provided, but may be able to specify the location at a higher level of abstraction (e.g., country, state, or data center).
[0062] Rapid flexibility: The ability to provide capacity quickly and flexibly, automatically scaling down and up rapidly in some situations to scale up rapidly. For consumers, the available supply capacity often appears unlimited and can be purchased in any quantity at any time.
[0063] Measuring services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at a level of abstraction appropriate to the service type (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both service providers and consumers.
[0064] The service model is as follows:
[0065] Software as a Service (SaaS): This provides consumers with the ability to use the provider's applications running on cloud infrastructure. Applications can be accessed from different client devices via thin client interfaces such as web browsers (e.g., web-based email). Consumers do not manage or control the underlying cloud infrastructure, including the network, servers, operating system, storage, or even individual application capabilities, with possible exceptions such as limited user-specific application configuration settings.
[0066] Platform as a Service (PaaS): This provides consumers with the ability to deploy applications created by the consumer or acquired using programming languages and tools supported by the provider onto cloud infrastructure. Consumers do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but they have control over the deployed applications and the configuration of any application hosting environment.
[0067] Infrastructure as a Service (IaaS): The capabilities offered to consumers are processing, storage, networking, and other basic computing resources that enable consumers to deploy and run arbitrary software, which may include operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but rather have control over the operating system, storage, deployed applications, and potentially limited control over selected networking components (e.g., host firewalls).
[0068] The deployment model is as follows:
[0069] Private cloud: A cloud infrastructure that operates solely for an organization. It can be managed by the organization or a third party and can exist on-site or off-site.
[0070] Community cloud: A cloud infrastructure shared by several organizations and supporting a specific community with shared concerns (e.g., tasks, security requirements, policies, and compliance considerations). It can be managed by an organization or a third party and can exist on-site or off-site.
[0071] Public cloud: Makes cloud infrastructure available to the public or large industry groups and is owned by an organization that sells cloud services.
[0072] Hybrid cloud: A cloud infrastructure is a combination of two or more clouds (private, community, or public) that remain a single entity but are bound together by standardized or proprietary technologies that enable data and applications to be portable (e.g., cloud bursting for load balancing between clouds).
[0073] Cloud computing environments are service-oriented, focusing on statelessness, loose coupling, modularity, and semantic interoperability. The core of cloud computing is its infrastructure, which includes a network of interconnected nodes.
[0074] Now for reference Figure 8This describes an illustrative cloud computing environment 800 utilizing cloud computing. As shown, the cloud computing environment 800 includes a cloud 800 with one or more cloud computing nodes 810, whose local computing devices used by cloud consumers (such as, for example, personal digital assistants (PDAs) or cellular phones 854A, desktop computers 854B, laptop computers 854C, and / or automotive computer systems 854N) can communicate with the cloud computing nodes 810. The nodes 810 can communicate with each other. They can be physically or virtually grouped (not shown) in one or more networks, such as private clouds, community clouds, public clouds, or hybrid clouds, or combinations thereof, as described above. This allows the cloud computing environment 800 to provide infrastructure, platform, and / or software as services that cloud consumers do not need to maintain on their local computing devices. It should be understood that... Figure 8 The types of computing devices 854A-N shown are merely illustrative, and the computing node 810 and cloud computing environment 850 can communicate with any type of computerized device via any type of network and / or network-addressable connection (e.g., using a web browser).
[0075] See now Figure 9 This demonstrates the 800 (cloud computing environment) Figure 8 This provides a set of functional abstraction layers (900). This should be understood in advance. Figure 9 The components, layers, and functions shown are intended to be illustrative only, and embodiments of this disclosure are not limited thereto. As described, the following layers and corresponding functions are provided:
[0076] The hardware and software layer 960 includes hardware and software components. Examples of hardware components include: a mainframe 961; a server 962 based on a RISC (Reduced Instruction Set Computer) architecture; a server 963; a blade server 964; a storage device 965; and a network and network components 966. In some embodiments, software components include network application server software 967 and database software 968.
[0077] The virtualization layer 970 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual servers 971; virtual storage 972; virtual networks 973, including virtual private networks; virtual applications and operating systems 974; and virtual clients 975.
[0078] In one example, management layer 980 can provide the functions described below: Resource Provisioning 981 Provides dynamic procurement of computing resources and other resources used to perform tasks within the cloud computing environment. Metering and Pricing 982 Provides cost tracking as resources are utilized within the cloud computing environment and bills or invoices for the consumption of these resources. In one example, these resources may include application software licenses. Security Provides authentication for cloud consumers and tasks, as well as protection for data and other resources. User Portal 983 Provides consumers and system administrators with access to the cloud computing environment. Service Level Management 984 Provides cloud resource allocation and management to ensure that required service levels are met. Service Level Agreement (SLA) Planning and Fulfillment 985 Provides pre-scheduling and procurement of cloud resources, anticipating future requirements for those resources according to the SLA.
[0079] The workload layer 990 provides examples of functionalities that can leverage cloud computing environments. Examples of workloads and functionalities that can be provided from this layer include: mapping and navigation 991; software development and lifecycle management 992; virtual classroom education delivery 993; data analytics and processing 994; transaction processing 995; and a workload management module 996 for performing workload management on a hybrid cloud-based platform, as discussed herein.
[0080] in conclusion
[0081] Various embodiments of this disclosure have been described for illustrative purposes, but are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the described embodiments. The terminology used herein has been chosen to best explain the principles of the embodiments, their practical application, or technical improvements to technologies found in the market, or to enable those skilled in the art to understand the embodiments disclosed herein.
[0082] While the content considered to be the best state and / or other instances has been described above, it should be understood that various modifications may be made therein, and the subject matter disclosed herein can be implemented in different forms and instances, and the teachings can be applied to many applications, of which only some have been described herein. The appended claims are intended to claim protection for any and all applications, modifications, and variations that fall within the true scope of this disclosure.
[0083] The components, steps, features, purposes, benefits, and advantages discussed herein are illustrative only. They, and the discussions associated with them, are not intended to limit the scope of protection. While various advantages have been discussed herein, it will be understood that not all embodiments are necessarily required to include all advantages. Unless otherwise stated, all measurements, values, ratings, locations, amplitudes, sizes, and other specifications set forth in this specification (including in the following claims) are approximate and imprecise. They are intended to have a reasonable range of functionality associated with them and consistent with functionality customary in the art to which they pertain.
[0084] Many other embodiments are also conceived. These include embodiments with fewer, additional, and / or different components, steps, features, purposes, benefits, and advantages. These also include embodiments in which components and / or steps are arranged and / or ordered differently.
[0085] The flowcharts and diagrams in this document illustrate the architecture, functionality, and operation of various implementations of this disclosure.
[0086] Although the foregoing has been described in conjunction with exemplary embodiments, it should be understood that the term "exemplary" means only as an example, and not the best or optimal. Nothing stated or shown beyond what is immediately stated above is intended or should be construed as causing any contribution or public equivalent of any component, step, feature, object, benefit, advantage, or advantage, whether or not it is stated in the claims.
[0087] It should be understood that the terms and expressions used herein have their general meanings as assigned to their respective corresponding queries and fields of study, unless otherwise specified herein. Relational terms such as "first" and "second" may be used merely to distinguish one entity or action from another, without necessarily requiring or implying any such actual relationship or order between these entities or actions. The terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but may also include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element beginning with "a" or "an" does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes that element.
[0088] An abstract of this disclosure is provided to allow the reader to quickly determine the nature of this technical disclosure. It is submitted under the understanding that it is not intended to interpret or limit the scope or meaning of the claims. Furthermore, as can be seen from the above detailed description, various features are combined in various embodiments for the purpose of simplification. The method of this disclosure should not be construed as reflecting an intention to have more features than expressly recited in each claim of a claimed embodiment. Rather, as reflected in the following claims, the subject matter of the invention lies in fewer than all features of a single disclosed embodiment. Therefore, the following claims are hereby incorporated into the detailed description, wherein each claim is independently claimed as a separate subject matter.
Claims
1. A computer-implemented method for managing one or more operations of a workload in a platform, the method comprising: Select the resource type to manage the workload on the platform; Identify one or more operations for the selected resource type to be managed; Determine the workload dimensions of one or more identified operations; Determine the minimum number of processes for a given set of identified operations of the selected resource type used to manage the workload; Machine learning is used to determine the coordinated execution time over multiple executions of each of the identified operations; as well as Deploy the minimum number of processes determined to manage the workload.
2. The computer-implemented method according to claim 1, wherein, Determining the workload dimension includes: Determine the coordination time for performing each of the identified operations; and Determine the coordination time interval between two consecutive coordinations for each of the identified operations.
3. The computer-implemented method according to claim 1, wherein, Selecting the resource type includes choosing one or more of bare metal resources, container resources, or virtual machine resources for the management of the workload.
4. The computer-implemented method according to claim 1, wherein, Identifying one or more operations includes identifying at least one of patching operations, event management operations, or compliance operations.
5. The computer-implemented method of claim 1, further comprising using machine learning to determine the coordination time period for each of the identified operations.
6. The computer-implemented method according to claim 1, wherein, Deploying the determined minimum number of processes to perform the management of the workload includes programmatically mapping the identified operations to operators.
7. The computer-implemented method according to claim 1, wherein, Deploying the determined minimum number of processes to perform the management of the workload includes programmatically mapping the identified operations to scalable Kubernetes operators.
8. A computing device for managing one or more operations of workloads in a platform, comprising: processor; A memory coupled to the processor, the memory storing instructions to cause the processor to perform actions, the actions including: Select resource types from multiple resources to manage workloads on the platform; Identify one or more operations for the selected resource type to be managed; Determine the coordination time for performing each of the identified operations; Determine the coordination time interval between two consecutive coordinations for each of the identified operations; Determine the minimum number of processes for a given set of identified operations for managing the selected resource type of the workload; Perform machine learning to determine the coordination time period for each of the identified operations; and Deploy the minimum number of processes determined to manage the workload.
9. The computing device according to claim 8, wherein, The instructions cause the processor to perform additional actions, including performing machine learning to determine the coordinated execution time over multiple executions of each of the identified operations.
10. The computing device according to claim 8, wherein, The various resource types include bare metal, containers, or virtual machines, and The processor is configured to perform workload management for each of the selected multiple resource types.
11. The computing device according to claim 8, wherein, Deploying the determined minimum number of processes to perform the management of the workload includes programmatically mapping the identified operations to scalable Kubernetes operators.
12. The computing device according to claim 8, wherein, The identified operations include one or more of the following: compliance operations, patching operations, event management operations, or deployment operations.
13. A non-transitory computer-readable storage medium tangibly embodying computer-readable program code, the computer-readable program code having computer-readable instructions, which, when executed, cause a computer device to perform one or more operations of a workload in a management platform, the method comprising: Select resource types from multiple resources to manage workloads on the platform; Identify one or more operations for the selected resource type to be managed; Determine the coordination time for performing each of the identified operations; Determine the coordination time interval between two consecutive coordinations for each of the identified operations; Determine the minimum number of processes for a given set of identified operations for managing the selected resource type of the workload; Machine learning is used to determine the coordinated execution time over multiple executions of each of the identified operations; as well as Deploy the minimum number of processes determined to manage the workload.
14. The computer-readable storage medium according to claim 13, wherein, Selecting the resource type includes choosing one of bare metal resources, container resources, or virtual machine resources for workload management.
15. The computer-readable storage medium according to claim 13, wherein, Identifying one or more operations includes identifying at least one of patching operations, event management operations, or compliance operations.
16. The computer-readable storage medium of claim 13, further comprising using machine learning to determine the coordinated time period of each of the identified operations.
17. The computer-readable storage medium of claim 16, wherein, The identified operations include one or more of the following: compliance operations, patching operations, event management operations, or deployment operations.
18. The computer-readable storage medium according to claim 13, wherein, Deploying the minimum number of processes determined to perform workload management includes: programmatically mapping the identified operations to operators.
Citation Information
Patent Citations
Method and system for improving software execution time by optimizing a performance model
CN102576311A
Workload aware dynamic CPU processor core allocation
US10140161B1