In-Depth
Q&A: Effective Workload Management
How can an enterprise continue to meet its business goals while running applications on fewer servers?
How can an enterprise continue to meet its business goals while running applications on fewer servers? The answer may lie in how you balance your workloads. For an exploration of workload demands, preventing server sprawl, and the role virtualization plays in IT’s actions, we spoke with Fred van den Bosch, chief executive officer at Librato, a workload management software vendor.
Enterprise Systems: How do you define workload management?
Fred van den Bosch: Generally speaking, workload management balances the resource consumption of applications running in a data center with meeting business goals and achieving predictable performance all while minimizing resource requirements, especially during peak load periods. In addition to this “active management” functionality, there is also a monitoring component to workload management that collects data on resource usage as a basis for application profiling, chargeback, and capacity planning.
What is the history of workload management? Is it a new concept?
The fundamental concept of workload management has been around for several decades in the mainframe world and has also been implemented for UNIX operating systems such as Solaris with products such as Solaris Resource Manager (SRM).
What is the business challenge that workload management is trying to solve?
The core business challenge that workload management is trying to address is: How does an enterprise continue to meet its business goals while running applications on fewer servers?
What are the key technical requirements for an effective workload management solution?
There are four key technical requirements that an enterprise should consider when evaluating a workload management solution. First, the solution should manage usage of all server resources (CPU, memory, storage I/O, and network I/O). Second, it should also provide dynamic resource rebalancing, in other words, an application or workload should be able to utilize more than its allocated share of a resource (e.g., CPU) if other workloads are not utilizing all of their allocations. The frequency with which rebalancing is done determines how efficient resources can be utilized.
Third, the solution should impose minimal overhead on the servers on which it is deployed.Finally, the solution should work across the key operating environments (Operating Systems and hypervisors) in your data center.
All research and indications from users suggest that the number of servers in a typical data center is increasing rather than decreasing. How can workload management help enterprises combat this server sprawl and better manage their data centers?
Workload management allows IT managers to consolidate applications on to fewer servers without compromising service level agreements (SLAs). For example, instead of running one application per server with 5 to 10 percent utilization (on average), workload management makes server consolidation possible -- to run multiple applications on the same server and increase utilization to 80 percent or more. Without workload management there is no guarantee that applications will be able to meet their SLA’s when running on the same server.
Can you give us an example use case of how a customer would benefit from workload management?
There are many use cases for workload management, but a very simple and powerful one is the so-called “sponge” use case to achieve server consolidation.
Most companies run business-critical applications, such as financial trading or online transaction processing, on dedicated servers so they can guarantee that the applications will always get the resources (e.g., CPU, memory) required to meet their SLAs. The result of this arrangement is a large number of servers that are woefully underutilized, resulting in a waste of capital and operational expenses.
Workload management makes it possible to run background workloads (e.g., for business analysis or financial simulations) that are typically performed on dedicated servers or in a “grid” environment, on servers running business-critical applications. The background applications will “sponge up” resources not used by the business-critical applications without any impact on their performance or responsiveness.
The sponge use case is applicable in any environment that has a mix of interactive and background or “grid” workloads and taken to its logical end, makes it possible to run both workloads in a single, integrated environment that minimizes the server resources required.
Can workload management work in a virtualized environment?
Yes, workload management can be used in a virtualized environment to monitor application resource usage for capacity planning, chargeback, or application profiling purposes. Hypervisors typically provide active workload management capabilities, but in some cases specialized workload managers can provide more efficient allocation of resources across virtual machines.
What are the obstacles to implementing an effective workload manager?
The only potential obstacles are incompatibilities between the workloads to be consolidated. In general, this isn’t a problem, but there could be conflicts in the use of resources such as DLLs, communication ports, or corporate security policies that preclude certain applications from being co-resident.
What are some of the best practices that IT can follow to develop effective workload management plans?
Typically, workload management is deployed in three stages. The first is to profile the applications running in the data center, second is to implement workload management policies based upon the application profiles, and third is to fine-tune the policies based upon additional gathered data and experience.
High-end workload management products provide mechanisms to extract detailed statistics about application resource usage, including access patterns to shared storage devices. Armed with this information IT managers can make a very good first-order determination about which applications can be consolidated and the system resources that should be allocated to each. The statistics collected by the workload manager make it possible to continuously improve and adapt the resource allocation policies to achieve optimal resource utilization and related cost savings.
How does Librato play in the workload management market?
Librato offers Load Manager and Load Monitor. Load Manager provides a workload management solution that manages usage of all server resources (CPU, memory, network I/O and storage I/O). It does fine-grained rebalancing of resource usage; typical overhead is of less than 1 percent, which is very lightweight. Load Monitor provides fine-grained data gathering on application resource usage, for application profiling, charge-back, and capacity planning. Our products support x86 platforms running Linux and Windows on physical or virtual servers and require no modifications to the OS or the applications under management. There’s more information on our Web site (http://www.librato.com).