Welcome!

Virtualization Authors: Jason Bloomberg, Pat Romanski, Dana Gardner, Liz McMillan, Maureen O'Gara

Related Topics: Cloud Expo, SOA & WOA, Virtualization

Cloud Expo: Article

Best Practices for Cloud Workload Management

Return of batch jobs

The biggest issue for the today's enterprises is the ways and means of measuring their computing / processing workloads that need to run their business and then work on the ways and means of optimizing the same.

Workload is the amount of work assigned to, or done by, a client, workgroup, server, or Internetwork in a given time period. For example if we take a manufacturing organization, a workload can be a combination of:

  • Interactive or Network Intensive Workloads: The amount of online entry of sales orders, program planning, warranty claims that are referred to a help desk and similar interactive applications.
  • Content or Storage Intensive Workloads: The amount of huge content management systems that stores TBs of data, especially engineering drawings, CAD, CAM related.
  • In Memory / CPU Intensive or Calculation Related Workloads: Most of the advanced algorithms in a typical product design, like how to calculate the mass, width, breadth of a product and its consumption power etc., are highly resource intensive and are typically proprietary scientific calculations specific to the industry.
  • Batch Workloads: These workloads may utilize a combination of processor and storage; however they are not as calculation intensive in nature. However, they perform repetitive tasks for a large volume of records. For example, to generate a compliance related document to be sent to federal government for all the products that have been manufactured in the last quarter or a billing related batch job come under this category.

As the amount of data storage grows in the PETA BYTES and so is the associated processing, the biggest challenge the enterprises will face in the near future is how to make an optimal computing environment to take care of these workloads so that they are finished in the business-requested latency while the computing power needed to do them is optimal while dynamic and scalable to take care increased demands.

Workload Optimization and Challenges
The biggest challenge most enterprises face today is first, how to measure their work load size. Unlike a few other sizing parameters like Function Points (which defines the size of an application), LOC ( the size of the raw computing code), there are not many good industry standard measures to give an indication of a workload.

In today's world the complexity of the IT organization is determined by the $$ value of IT budget spending (like ours is a $5 billion IT shop), but not really about we process XXXX of workloads in a month. For example MIPS (millions of instructions per second (MIPS) is one such a measure to calculate the workload characteristics of an enterprise.

The other issues in today's enterprise workload processing are:

  • Most workloads are written for specific hardware and or software environments and making it difficult for enterprises to dynamically allocate them to the available compute and storage capacity.
  • The newer developer community are not having the same level of business logic of the legacy era resulting in the critical workloads written in a serial or single threaded manner and scaling them even in a Cloud infrastructure is difficult
  • Batch Jobs are used, but their ability to divide and rule the processing needs are limited.

Due to these application characteristics, most organization are not able to optimize their workloads because the workloads tend to contend for the same resources resulting in a deadlock situation among them. Also the operational expenses and capital expenses remain the same even when moved to a Dynamic infrastructure environments like Cloud.

Best Practices from Batch Jobs for a Legacy Era

  • Most batch jobs are written with parallel processing and workload scalability in mind. We can hardly see any batch program that does not utilize a organizational parameters like Division, State, Country etc., that makes them to be run in parallel in multiple servers at the same time.
  • Within a single instance of a batch job, the concept of ‘Divide and Rule' is employed well enough to be able to scale to multiple virtual servers in a Cloud world. For example most batch jobs split the tasks into Job Steps and the resource intensive operations like SORT, MERGE, TRANSFORM are done in independent manner, such that the multiple parallel fine grained resources can be put to task.
  • Most batch jobs have a restart logic, such that they can pick right from where they left. Considering a Cloud infrastructure where the work load can be internally moved to the available virtual machines, such characteristic of Batch Jobs are highly desirable to optimize the work load. This ensures that no processing power is wasted even due to a failed batch job, as we can always continue from where we left.
  • Good Monitoring and Instrumentation options, monitoring the flow of the batch jobs have been given ultimate importance and easier to track their progress even the work load moved to different servers.

Consider the above characteristics of the older batch jobs, against the monolithic stored procedures or business components that perform most of the processing in a single thread, so that even if a dynamic computing facility is available they will not scale up much.

Summary
In today's down economy, optimizing the work load has been the highest priority for the enterprises. While the cloud computing platform definitely provides a foundation for it, it is also up to the application characteristics within the enterprise to best utilize it.

There needs to be a shift from the single-threaded CPU-intensive applications to batch applications which are designed in alignment with the way the underlying business naturally divided among organizational divisions. This will help in the application workload optimized for the cloud and virtualized platform.

More Stories By Srinivasan Sundara Rajan

Srinivasan Sundara Rajan works at Gavs Technologies as a Chief Architect. His primary focus is enabling Agile Enterprises by facilitating the adoption of Every Thing As A Service Model with particular concentration on BpaaS (Business Process As A Service). Srinivasan is currently writing a series of articles on Indutry SaaS/BpaaS use cases which enterprises can adopt.All the views expressed are Srinivasan's independent analysis of industry and solutions and need not necessarily be of his current or past organizations. Srinivasan would like to thank every one who augmented his Architectural skills with Analytical ideas.