Method, computing device, and program for managing workload operations
A computer-implemented method optimizes workload management in hybrid clouds by selecting resource types, identifying operations, and deploying minimum processes using machine learning, addressing maintenance and resource monitoring challenges, and enhancing efficiency.
Patent Information
- Application Number
- JP2023507364
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-08-15
- Filing Date
- 2021-08-12
- Publication Date
- 2024-12-10
- Estimated Expiration
- 2041-08-12
AI Technical Summary
Existing workload management in hybrid cloud environments faces challenges such as increased maintenance costs and idle time due to the sequential nature of operator execution, limited resource monitoring, and capacity and cost issues, especially with the migration to container environments.
A computer-implemented method that selects resource types, identifies operations, determines adjustment times and periods, and deploys a minimum number of processes to manage workloads efficiently across heterogeneous resources using machine learning and programmatically mapping operations to operators.
Enhances workload management by reducing the number of operators needed, minimizing processing power and memory usage, and improving efficiency in hybrid cloud environments.
Smart Images

Figure 0007597480000001 
Figure 0007597480000002 
Figure 0007597480000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates generally to deploying and managing computer resources, and more particularly to managing workloads in a hybrid cloud environment. [Background technology]
[0002] There is growing support for computing resources that utilize infrastructure and platforms across hybrid cloud environments. For example, the use of virtual machines and application containers that package or encapsulate software code and all of its dependencies continues to evolve and grow. Challenges continue to exist in the areas of security, lifecycle management, and operational needs to provide easy deployment and management of resources in the hybrid cloud.
[0003] Platforms such as Kubernetes can facilitate the running of applications in public and private clouds through the use of components and tools. With the increasing complexity of hybrid clouds and other composite infrastructures / platforms, it becomes necessary to ensure the satisfaction of both functional and non-functional requirements of such computing resources without consuming excessive time and capital. In response, the use of operators to automate the monitoring of computing resources and facilitate the installation, updating, and management of such resources is gaining support, as this approach reduces / eliminates concerns about the underlying platform for cloud services.
[0004] However, while operators (e.g., Kubernetes operators) can be used to observe the current state of a resource (among multiple resources) and correct any deviation between the desired and actual state of the resource, they are limited in the number of resources they can monitor. For example, implementing an operator for each individual resource in a workload increases the maintenance cost since each resource has to be managed. Also, implementing an operator for each individual resource in a workload increases the idle time of the operator. Although an operator can manage multiple resources, each operator can only monitor a limited number of resources to satisfy the resource requirements due to the sequential nature of the execution of application state adjustment jobs. For example, in a hybrid cloud environment, hybrid workloads pose a capacity and cost challenge for operator applications. Hence, there is a need for enhanced workload management, especially now as 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 managing the workload on a platform. One or more operations to be managed on the platform are identified. A coordinated execution time is determined for each of the operations to be managed, and a coordinated duration is determined for each operation. A minimum number of processes for management of a given set of operations on the resources is determined, and processes are deployed to manage the workload. Management of heterogeneous resources (e.g., different types of workloads) can be provided by a single computer-implemented method, which improves computer efficiency and enhances workload management capabilities.
[0006] In one embodiment, selecting the resource type includes selecting one of a bare metal resource, a container resource, or a virtual machine resource to manage the workload. Because hybrid cloud environments will have different types of resources and there is a desire to migrate towards container operations, a computer-implemented method that can manage different types of resources provides improved functionality.
[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, wherein such various operations may all be managed by a single computer-implemented method.
[0008] In one embodiment, the computer-implemented method includes using machine learning to determine an adjusted execution time for multiple executions of each of the identified operations.
[0009] In one embodiment, the computer-implemented method includes using machine learning to determine an adjustment period and an adjustment execution time for each of the identified operations.
[0010] In one embodiment, deploying the determined minimum number of processes to perform workload management may include 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 a memory coupled to the processor. The memory stores instructions that cause the processor to perform operations 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. An adjusted execution time is determined for execution of each of the identified operations. An adjustment period between two successive adjustments is determined for each of the identified operations. A minimum number of processes for workload management of a given set of the identified operations on the selected resource type is calculated, and the determined minimum number of processes is deployed to perform the workload management.
[0012] In one embodiment, a machine-readable medium is configured having computer-readable program code having computer-readable instructions that, when executed, cause a computing device to perform a method for managing one or more operations of a workload in a hybrid cloud environment.
[0013] These and other features will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings.
[0014] The drawings are of exemplary embodiments. They do not describe all embodiments. Other embodiments may be used in addition or instead. 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, or without all components or steps shown, or both. When the same numeral appears in different drawings, it refers to the same or similar components or steps. [Brief description of the drawings]
[0015] [Figure 1A] 1 is a diagram providing an architectural overview of a hybrid workload in accordance with an illustrative embodiment. [Figure 1B] 1B illustrates further details of the configuration of resources used in conjunction with the hybrid workload resource types illustrated in FIG. 1A according to an example embodiment. [Diagram 2] FIG. 1 illustrates the operation of managing resources using operators according to an example embodiment. [Diagram 3] FIG. 1 illustrates a design and framework for managing workloads in a hybrid cloud environment, according to an illustrative embodiment. [Figure 4] FIG. 13 illustrates a calculation of adjustment period and execution time according to an example embodiment. [Diagram 5] FIG. 1 illustrates an example of using integer linear programming in accordance with an illustrative embodiment. [Figure 6] 1 is a flowchart of a method for managing one or more operations of a workload in a hybrid cloud environment according to an example embodiment. [Figure 7] FIG. 1 is a functional block diagram of a computer hardware platform capable of communicating with various networked components according to an exemplary embodiment. [Figure 8] FIG. 1 illustrates an exemplary cloud computing environment that utilizes cloud computing. [Figure 9] A diagram depicting the set of functional abstraction layers provided by a cloud computing environment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0016] Overview In the following detailed description, numerous specific details are set forth by way of example to provide an understanding of the relevant teachings. However, it should be understood that the present teachings may be practiced without these details. In other instances, well-known methods, procedures, components, or circuits, or combinations thereof, have been described at a relatively high level without detailed descriptions in order to avoid unnecessarily obscuring aspects of the present teachings.
[0017] In some exemplary embodiments, a Kubernetes operator is used. However, it should be understood that the present disclosure is not limited to the use of a Kubernetes operator. A Kubernetes operator is an application deployment methodology that enhances the Kubernetes platform to manage complex workloads, such as distributed systems that use quorum mechanisms and databases. A Kubernetes operator facilitates automated deployment, scaling, and operation of application containers so that entities can define how applications run and interact with each other. A scalable Kubernetes system may provide, for example, isolation between items that allows for the expansion (e.g., scaling) of content and the removal of any item without affecting the other contents. The determined minimum number of processes for performing workload management includes programmatically mapping the identified operations to a scalable Kubernetes operator.
[0018] The computer-implemented systems and methods provide improved efficiency of computer operations. For example, in accordance with the teachings herein, improved management of workloads includes a single management tool managing a heterogeneous group of resources (e.g., bare bones, containers, virtual machines) in a hybrid cloud environment with a minimal number of operators (including, but not limited to, a Kubernetes operator), resulting in a reduced amount of processing power and reduced use of computer memory.
[0019] Example Architecture FIG. 1A is a diagram 100A providing an architectural overview of a hybrid workload, according to an example embodiment. A hybrid workload 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), or a type of deployment (bare metal, vm, container, external services), or the like, or a combination thereof. It should be understood that a hybrid cloud combines an on-premises infrastructure / platform (e.g., private cloud) with a public cloud. While some embodiments contemplate deploying a Kubernetes operator within a private infrastructure or public cloud, the present disclosure is not limited to such deployments, nor is it limited to a Kubernetes operator.
[0020] For example, Figure 1A illustrates a hybrid workload resource type 101 that includes traditional information technology (IT) resources 110, private resources 120, and public resources 130. Key 102 illustrates the shading used in the configuration illustrated in the hybrid workload resource type, which may include containers 103, virtual machines (VMs) 104, and physical machines (PMs) 105. It should be understood that the configuration illustrated in Figure 1A is provided for illustrative purposes, and the present disclosure is not limited to the illustrated embodiments shown and described herein.
[0021] Referring to the shading identified by key 102 in FIG. 1A, hybrid workload resource types in traditional IT 110 resources may include application 111, application server 112, and database 113, which are configured as virtual machine (VM) resources. Additionally, the illustrated traditional IT resources 110 also include application 114, application server 115, and database 116, which are configured as container resources. The dotted lines in FIG. 1A indicate specific groupings of applications, application servers, and databases that include items from two or more resources, and are labeled as configuration 1, configuration 2, and configuration 3. For example, configuration 1 includes application 121 and application server 122 from private resources 120 and database 113 from traditional IT sources 110. Configuration 2 includes application 134 and application server 135 from public resources 130 and database 123 from private resources 120. Configuration 3 includes an application 134 and an application server 135 from public resources 130 and a database 126 from private resources 120 .
[0022] The illustrated private resources 120 include, for example, an application 121, an application server 122, and a database (DB) 123, which are configured as VM resources. Additionally, an application 124 and an application server 125 are shown along with a database 126. Access to the applications 121, 124, the databases 123, 126, and the application servers 122, 125 is restricted, as symbolized by locks 127, 128.
[0023] Public resources 130 include, for example, application 131, application server 132, and database 133 that are configured for the VM, and application 134, application server 135, and database 136 that are configured for the container resources.
[0024] FIG. 1B illustrates further details of different configurations of resources used for hybrid workload resource type 101 shown in FIG. 1A. The configurations illustrated in FIG. 1B correspond to configurations 1, 2, and 3 identified by dotted lines in FIG. 1A. Key 102 from FIG. 1A is shown again in FIG. 1B to facilitate explanation of FIG. 1B. For example, the configurations illustrated in FIG. 1B are VM 140 only, physical machine (PM)+VM+container 150, or container 160 only. It should be understood that the configurations illustrated in FIG. 1B are not exhaustive of the scope of this disclosure.
[0025] FIG. 2 illustrates managing resources 200 for a hybrid cloud 241 using an operator 205 (e.g., an Ansible® operator) according to an example embodiment. The operator 205 includes a controller 215 configured to observe, analyze, and act on the resources. An API server 225, such as a Kubernetes "K8" API server, is shown in communication with both the operator 205 and custom resources 235. The custom resources 235 are objects of a custom resource definition 212. For example, the operator 205 processes resources according to the custom resource definition 212. A mapping operation of operation types to the custom resource definition 212 and to the custom resources 235 is performed when a minimum number of processes (e.g., a Kubernetes operator) is determined to provide the desired (e.g., optimal) management of a given set of operations on the resources. The operation types may include compliance (e.g., file permissions and password complexity), patching (e.g., service patches and service packs), event management (e.g., low disk space and low memory space), and deployment / changes (e.g., DB upgrade, file system extension). A table may be used to map the operation types to custom resources 235. Regrouping of custom resources 235 may occur based on changes in workload. Operator 205 is configured with at least the functionality shown in table 255 such that operator 205 may obtain the current state of the application and compare the current state to the desired state in custom resources 235. If a deviation is found, playbook 211 may be invoked to correct the application state. It should be understood that the present disclosure is not limited to the configuration shown and described in FIG. 2. For example, API server 225 is not limited to a K8 API server.
[0026] 3 illustrates a design and framework 300 for managing workloads in a hybrid cloud environment, according to an example embodiment. Operations of specific resource types selected for workload management are identified. Some non-exhaustive examples of operations of specific resource types are discussed herein below.
[0027] For example, as shown in the non-limiting example of FIG. 3, the operations may include compliance operations 305, patching operations 307, or event management operations 309, or combinations thereof. Compliance operations 305 may include features and rules ranging from password complexity to file permissions. Patching operations 307 may include operations ranging from, for example, applying security patches to installing and updating service packs. Event management operations 309 may include monitoring features such as low memory conditions, low disk space, and the like. Event management operations 309 may include determining workload dimensions of one or more identified operations of a resource type selected for workload management. For example, determining adjustment times and adjustment durations for execution of the operations may be based on workload lifecycle data, user requests, and the like, and may be updated by machine learning. Operations 305, 307, 309 are provided as corresponding partitions 311, 313, 315 that are used to deploy a determined minimum number of processes (e.g., Kubernetes operators) for performing workload management.
[0028] FIG. 4 is a diagram 400 of calculation of adjustment period and adjustment execution time according to an exemplary embodiment. The adjustment period can be based on user request, such as pure empirical experience, or can be data driven from past workload life cycles (e.g., historical execution). The adjustment period provides information on how frequently an operation should be monitored. The adjustment period may be determined as the period between two consecutive adjustments for each of the identified operations selected for workload management. For example, with respect to the operations shown in FIG. 3, the compliance operation 305 may have an adjustment period of, for example, 2 hours. The adjustment period of the patching operation 307 may be weekly, while the adjustment period of the event management 309 may be on demand. It is to be understood that the adjustment periods mentioned above are illustrative examples and no limitations exist based on these adjustment period examples.
[0029] With continued reference to FIG. 4, a total operation execution time 405 is shown by calculating the sum of a number of execution times t1 410 through tn 420. Although FIG. 4 shows that the password complexity function is running (e.g., compliance operation 305 shown in FIG. 3), the operation execution time can be determined for any of the other operations as shown in FIG. 4. A graph 430 of the number of actions executed versus time is shown. As shown in FIG. 4, the calculated number of operation actions (e.g., security patch, service pack for patching, password complexity for compliance, file permissions, and out of memory, out of disk for event management) is 14 (e.g., 4+3+7 as shown). Accordingly, an adjusted execution time 425 can be determined as equal to the operation execution time 405 divided by the total number of operation actions.
[0030] With regard to the calculation of the adjustment period and the adjusted execution time 425, machine learning may be used to determine / predict the adjustment period 425 for multiple executions of the identified operation. Machine learning may also be used to determine / predict the adjustment period for each of the identified operations. Training data, such as life cycle workload (history of executions), may be used and updated with additional workload information as the next execution occurs. The determination of the operations with adjustment period and adjustment execution time may be repeated as new operation information is provided or at predetermined intervals, such that the machine learning may determine the adjustment execution time and / or adjustment period for multiple executions of the identified operation with greater accuracy. It should be understood that FIG. 4 is provided for illustrative purposes and the determination of adjustment period and adjustment execution time is not limited to the operations shown in FIG. 4.
[0031] FIG. 5 illustrates an example of determining group operations 500 using Integer Linear Programming (ILP), according to an exemplary embodiment. Modeling is performed to find the most efficient allocation of grouped operators possible. In this case, cost considerations may refer to the efficiency of computational operations. One way to determine group operations is to treat each operation as a single entity, whose cost is the estimated coordination execution time. The key consideration is how to group a set of operations across a minimum number of operators, given a set of operations, each with a coordination cost. Using (ILP) to perform fractional LP using approximation 510 and rounding 520, the result 530 is shown as a calculated number of operators (minimum z) subject to (e.g., including as conditions) conditions including the set of all resources, the set of all intervals in which the resources can be scheduled, the coordination period, and the maximum number of parallel coordinations using one operator. Other techniques such as greedy / GA may be used to calculate the minimum number of operators. Using ILP, the problem gives an integer solution to the number of operators. Problems in the nondeterministic polynomial time (NP) class are not solved in polynomial execution time, but rather solutions are verified in polynomial execution time. NP-hardness is a property that defines 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 an input of r ∈ R operations associated with a coordination period (RP) and coordination time / cost (RC). The algorithm schedules all operations while minimizing the number of operators used (z). A time interval i ∈ I(r) of length RC is selected in which operation r is to be executed. For each operation r ∈ R, there is an indicator variable x to identify whether operation r can be scheduled for time interval i. Each operation is scheduled for 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 discrete intervals.
[0032] Example Process With the above overview of an example architecture, it may be useful to now consider a high-level discussion of an example process. To this end, in conjunction with Figures 2, 3, and 4, Figure 6 depicts a flowchart 600 of a computer-implemented method for managing one or more operations of a workload in a hybrid cloud environment, in accordance with an example embodiment.
[0033] In operation 610, a resource type is selected from a plurality of resources for workload management on the cloud-based platform. There are many different resource types that may be selected, such as bare metal resources, virtual machine resources, or container resources. In hybrid cloud environments, there are often multiple types of resources, and the computer-implemented method may provide workload management for the multiple resources.
[0034] In operation 620, one or more operations to be managed for the selected resource type are identified. As shown in Figure 3, some non-limiting examples of operations may include compliance operations 305, patching operations 307, or event management operations 309. As previously discussed herein, Figure 3 illustrates that these operations are provided as partitions that are used to deploy a determined minimum number of processes (e.g., Kubernetes operators) to perform workload management.
[0035] In operation 630, workload dimensions of the identified operation or operations are determined. FIG. 4 and its description herein above provide examples of workload dimensions such as adjustment period and adjustment execution time. The adjustment period can be set by pure experience, user desire, or data driven from past workload life cycle (execution history), or a combination thereof. The adjustment execution time can be calculated as shown in FIG. 4. The workload dimensions can be learned and updated by machine learning. For example, the machine learning can be supervised or unsupervised. In the case of supervised machine learning, the execution history data can be labeled as a training set.
[0036] In operation 640, a minimum number of processes for workload management of a given set of identified operations of a selected resource type may be determined. As shown in FIG. 5, one way to determine the minimum number of processes is through the use of ILP. In conjunction with the description of FIG. 2 herein above, operation types may be mapped to custom resource definitions (CRDs) that are applied to custom resources. Based on changes in workload, custom resources may be regrouped. ILP is a problem formulation and modeling may be performed to calculate a more efficient or most efficient grouping of operations.
[0037] At step 650, the determined minimum number of processes for performing workload management is deployed. Deploying the determined minimum number of processes for performing workload management may include programmatically mapping the identified operations to operators. The operators may be Kubernetes operators, which may be scalable for the workload. While the process ends at operation 650, machine learning may be performed to learn and / or update the determined workload dimensions, such as adjustment duration and adjustment execution time for multiple execution steps.
[0038] 7 provides a functional block diagram of a computer hardware platform 700. In particular, FIG. 7 illustrates a network or host computer platform 700 that is specifically configured for use in implementing the method illustrated in FIG.
[0039] The computer platform 700 may include a central processing unit (CPU) 704, a hard disk drive (HDD) 706, a 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, which are connected to the system bus 702. The HDD 706 may include a data store.
[0040] In one embodiment, the HDD 706 has functionality including storing programs capable of executing various processes, such as for executing a workload management module 750, in a manner as described herein. The workload management module 750 provides overall management of a selected workload. The custom resource module 748 monitors state descriptions of resources, and the ILP module 746 provides modeling functionality for determining groups of operations. To increase the accuracy of the determined adjustment times and durations, a machine learning module 740 and training samples 742 can be used. There can be various modules configured to perform different functions, which may vary in amount.
[0041] For example, the training sample module 742 stores various data for training the processor using the machine learning module 740 that is configured to perform machine learning regarding workload management, including determining an adjustment time and an adjustment period for each of the identified operations as previously discussed herein.
[0042] In one embodiment, a program such as Apache™ may be stored to operate the system as a web server. In one embodiment, HDD 706 may store executable applications, including one or more library software modules, such as those related to the Java™ Runtime Environment program for implementing a JVM (Java™ Virtual Machine).
[0043] Example Cloud Platform As discussed above, the functionality associated with the environmental and ecological optimization methods may include cloud. Although the present disclosure includes a detailed description of cloud computing as described below, it should be understood that the implementation of the teachings described herein is not limited to a cloud computing environment. Rather, embodiments of the present disclosure may be implemented in conjunction with any other type of computing environment now known or later developed.
[0044] Cloud computing is a service delivery model for enabling 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) that can be rapidly provisioned and released with minimal administrative effort or interaction with the service provider. The cloud model may include at least five characteristics, at least three service models, and at least four deployment models.
[0045] Its features are as follows. On-Demand Self-Service: Cloud customers can automatically and unilaterally provision computing capacity, such as server time and network storage, as needed, without human interaction with the service provider.
[0046] Pervasive Network Access: Functionality is available over the network and accessed through standard mechanisms, facilitating use by heterogeneous thin- or thick-client platforms (e.g., cell phones, laptops, and PDAs).
[0047] Resource Pooling: The provider's computing resources are pooled using a multi-tenant model, with various physical and virtual resources dynamically allocated and reallocated according to demand to serve multiple consumers. Consumers have a sense of location independence in that they generally have no control or knowledge of the exact location of the resources provided, although they may be able to identify the location at a higher level of abstraction (e.g., country, state, or data center).
[0048] Rapid Elasticity: Capabilities can be rapidly provisioned and rapidly scaled out, and rapidly released and rapidly scaled in, quickly and elastically, sometimes automatically. To the consumer, the capabilities available for provisioning are often seemingly unlimited and can be purchased in any quantity at any time.
[0049] Metering Services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at a level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both providers and consumers of the services being utilized.
[0050] The service model is as follows: Software as a Service (SaaS): The functionality offered to the consumer is the use of the provider's applications running on a cloud infrastructure. These applications are accessible from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, which may include networks, servers, operating systems, storage, or even individual application functions, with the possible exception of application configuration settings specific to a limited number of users.
[0051] Platform as a Service (PaaS): The functionality offered to the Customer is the placement of applications created or acquired by the Customer using programming languages and tools supported by the Provider onto a cloud infrastructure that the Customer does not manage or control, including the underlying cloud infrastructure including networks, servers, operating systems, or storage, but does have control over the deployed applications and, in some cases, the configuration of the application's hosting environment.
[0052] Infrastructure as a Service (IaaS): The functionality provided to the customer is the provisioning of processing, storage, networking, and other basic computing resources onto which the customer can deploy and run any software, which may include operating systems and applications. The customer does not manage or control the underlying cloud infrastructure, but does have control over the operating systems, storage, deployed applications, and in some cases, limited control over selected networking components (e.g., host firewalls).
[0053] The deployment model is as follows: Private Cloud: The cloud infrastructure is hosted solely for an organization. It may be managed by that organization or a third party and may exist on or off premises.
[0054] Community Cloud: This cloud infrastructure is shared by several organizations to support a specific community with common interests (e.g., mission, security requirements, policies, and compliance considerations). It may be managed by those organizations or by a third party and may exist on or off premises.
[0055] Public Cloud: The cloud infrastructure is available to the general public or large industry groups and is owned by organizations that sell cloud services.
[0056] Hybrid Cloud: This cloud infrastructure is a composite of two or more clouds (private, community, or public) that remain their own entities but are bound together by standardized or proprietary technologies that allow data and application portability (e.g. cloud bursting for load balancing between clouds).
[0057] Cloud computing environments are service-oriented with a focus on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure that includes a network of interconnected nodes.
[0058] Referring now to FIG. 8, an exemplary cloud computing environment 800 utilizing cloud computing is depicted. As shown, the cloud computing environment 800 includes a cloud 800 having one or more cloud computing nodes 810 with which local computing devices used by cloud users, such as a personal digital assistant (PDA) or cell phone 854A, a desktop computer 854B, a laptop computer 854C, or an automobile computer system 854N, or combinations thereof, can communicate. The nodes 810 may communicate with each other. They may be physically or virtually grouped in one or more networks, such as a private, community, public, or hybrid cloud, or combinations thereof, as described herein above (not shown). This enables the cloud computing environment 800 to provide infrastructure, platform, and / or software as a service without the cloud user having to maintain resources on a local computing device. It will be understood that the several types of computing devices 854A-854N shown in FIG. 8 are intended to be merely illustrative, and that 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 connections (e.g., using a web browser).
[0059] 9, there is shown a set of functional abstraction layers 900 provided by cloud computing environment 800 (FIG. 8). It should be understood in advance that the components, layers, and functions shown in FIG. 9 are intended to be merely illustrative, and that embodiments of the present disclosure are not limited thereto. As depicted, the following layers and corresponding functions are provided:
[0060] Hardware and software layer 960 includes hardware and software components. Examples of hardware components include mainframes 961, RISC (reduced instruction set computer) architecture based servers 962, servers 963, blade servers 964, storage devices 965, and networks and networking components 966. In some embodiments, software components include network application server software 967 and database software 968.
[0061] The virtualization layer 970 provides an abstraction layer that may provide examples of the following virtual entities: virtual servers 971, virtual storage 972, virtual networks including virtual private networks 973, virtual applications and operating systems 974, and virtual clients 975.
[0062] In one example, the management layer 980 may provide the functionality described below: Resource provisioning 981 provides dynamic procurement of computing and other resources utilized to execute tasks within the cloud computing environment. Metering and pricing 982 provides cost tracking as resources are utilized within the cloud computing environment and billing or invoicing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification for cloud consumers and tasks, and protection of data and other resources. User portal 983 provides consumers and system administrators with access to the cloud computing environment. Service level management 984 provides allocation and management of cloud computing resources such that required service levels are met. Service level agreement (SLA) planning and fulfillment 985 provides proactive coordination and procurement of cloud computing resources anticipated to be needed in the future by SLAs.
[0063] The workload layer 990 provides examples of functionality for which cloud computing environments are utilized. Examples of workloads and functions provided from this layer include mapping and navigation 991, software development and lifecycle management 992, virtual classroom instructional delivery 993, data analytics processing 994, transaction processing 995, and a workload management module 996 for performing workload management for a hybrid cloud-based platform as discussed herein.
[0064] conclusion Although the description of various embodiments of the present teachings has been presented for illustrative purposes, they 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 in this specification has been selected to best explain the principles of the embodiments, practical applications, or technical improvements to the technology found in the market, or to allow other skilled in the art to understand the embodiments disclosed herein.
[0065] While the above describes what is believed to be the best mode and / or other examples, it is understood that various modifications may be made therein and that the subject matter disclosed herein may be embodied in various forms and examples, and that the teachings may be applied to numerous applications, only some of which are described herein. It is intended that the following claims claim any and all applications, modifications, and variations that are within the true scope of the present teachings.
[0066] The components, steps, features, objects, benefits, and advantages discussed herein are merely exemplary. None of them, nor any of the discussion related thereto, are intended to limit the scope of protection. Although various advantages have been discussed herein, it will be understood that not all embodiments necessarily include all advantages. Unless otherwise stated, all measurements, values, ratings, positions, dimensions, sizes, and other dimensions specified herein, including those in the following claims, are approximate and not precise. They are intended to have a reasonable range consistent with the functions to which they relate and with those customary in the art to which they relate.
[0067] Numerous other embodiments are also contemplated, including embodiments that have fewer, additional, or different, or combinations of, components, steps, features, objects, benefits, and advantages, as well as embodiments in which the components and / or steps are arranged and / or ordered in a different manner.
[0068] The flowcharts and diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations according to various embodiments of the present disclosure.
[0069] While the above subject matter has been described in connection with exemplary embodiments, it is understood that the term "exemplary" is intended as an example only, not as best or optimal. Other than as immediately above, nothing stated or illustrated is intended to be or should be construed as a provision to the public of any element, step, feature, object, benefit, advantage, or equivalent, whether or not claimed.
[0070] The terms and expressions used herein will be understood to have the ordinary meanings as accorded to such terms and expressions with respect to their respective fields of study and research, unless a specific meaning is otherwise expressly stated herein. Terms indicating relationships, such as first and second, may be used only to distinguish one entity or operation from another, without necessarily requiring or implying any such actual relationship or sequence between the entities or operations. The terms "comprises," "comprising," or any other variation thereof, are intended to include a non-exclusive inclusion, where a process, method, article, or apparatus comprising recited elements may include not only those elements, but also other elements not expressly recited or inherent in such process, method, article, or apparatus. An element preceded by "a" or "an" does not, in the absence of further constraints, exclude the presence of additional identical elements in the process, method, article, or apparatus comprising the element.
[0071] The Abstract is provided to allow the reader to quickly ascertain the nature of the technical disclosure. The Abstract is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. Moreover, in the above Detailed Description, it can be seen that various features have been grouped together in various embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments have more features than are expressly recited in each claim. Rather, as reflected in the following claims, inventive subject matter consists in less than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as separately claimed subject matter.
Claims
1. A method for managing one or more operations of a workload on a platform through computer information processing, comprising: selecting a resource type for managing the workload on the platform; identifying one or more operations to be managed for the selected resource type; determining a workload dimension of the identified one or more operations; determining a minimum number of processes to manage a given set of the identified operations of the selected resource type of the workload; deploying the determined minimum number of processes to manage the workload.
2. Determining the workload dimensions includes: determining a coordinated time for performing each of the identified operations; and and determining an adjustment period between two successive adjustments for each of the identified operations.
3. 2. The method of claim 1, wherein selecting the resource type comprises selecting one or more of a bare metal resource, a container resource, or a virtual machine resource for the management of the workload.
4. The method of claim 1 , wherein the identifying one or more operations includes identifying at least one of a patching operation, an event management operation, or a compliance operation.
5. The method of claim 1 , further comprising using machine learning to determine an adjusted execution time for multiple executions of each of the identified operations.
6. The method of claim 5 , further comprising using machine learning to determine an adjustment period for each of the identified operations.
7. The method of claim 1 , wherein deploying the determined minimum number of processes to perform the management of the workload comprises programmatically mapping the identified operations to operators.
8. 2. The method of claim 1, wherein deploying the determined minimum number of processes to perform management of the workload comprises programmatically mapping the identified operations to scalable Kubernetes operators.
9. 1. A computing device for managing one or more operations of a workload in a platform, comprising: A processor; a memory coupled to the processor, the memory comprising: selecting a resource type from a plurality of resources for managing a workload on the platform; identifying one or more operations to be managed for the selected resource type; determining a coordinated time for performing each of the identified operations; and determining an adjustment period between two successive adjustments for each of the identified operations; determining a minimum number of processes to manage a given set of the identified operations of the selected resource type of the workload; deploying the determined minimum number of processes to manage the workload.
10. 10. The computing device of claim 9, wherein the instructions cause the processor to perform additional operations including performing machine learning to determine an adjusted execution time for multiple executions of each of the identified operations.
11. 10. The computing device of claim 9, wherein the instructions cause the processor to perform an additional operation including performing machine learning to determine an adjustment period for each of the identified operations.
12. the plurality of resource types includes bare metal, container, or virtual machine; 10. The computing device of claim 9, wherein the processor is configured to perform workload management for each of the selected plurality of resource types.
13. 10. The computing device of claim 9, wherein deploying the determined minimum number of processes to perform the management of the workload comprises programmatically mapping the identified operations to scalable Kubernetes operators.
14. The computing device of claim 9 , wherein the identified operation includes one or more of a compliance operation, a patching operation, an event management operation, or a deployment operation.
15. A computer program causing a computer to execute the method according to any one of claims 1 to 8.
16. A storage medium having the computer program of claim 15 stored on a computer-readable storage medium.
Citation Information
Patent Citations
Configuration management device, configuration management method and configuration management program
JP2014182576A
Workload scheduling across heterogeneous resource environments
US10447806B1
Orchestration engine blueprint aspects for hybrid cloud composition
WO2019116225A1
