|
Purpose This document discusses the requirements for job scheduling software in the modern distributed enterprise. It provides a comprehensive list of key job scheduling features and a description of each feature. A companion checklist is also available. The checklist is designed to assist those actively evaluating job scheduling and event-driven automation software by providing a tool for quickly and efficiently gathering information on products under consideration. To set the proper context for a detailed discussion of key job scheduling features, this document includes some background and history of the evolution of the job scheduling marketplace. This background will help the reader understand how changing business and industry requirements impact the job scheduling arena. Among the handful of disciplines that routinely take place in the data center, job scheduling may be the most important of all. This is a bold statement, given that job scheduling competes with other important systems management functions like file backup, network management and security. While these are important disciplines in their own right, there is no arguing that, depending on the size of the enterprise, a job scheduler is routinely managing thousands—or, in many cases, tens of thousands—of individual mission critical business processes every day. In fact, the number of processes involved can be so large that a manual approach is not possible. Custom job scheduling solutions that rely on native operating system utilities such as CRON, NT Scheduler, PERL and VB scripts quickly collapse under the weight of their own unmanageable “spaghetti code” and custom scripting requirements. Given this backdrop, it is easy to see how job schedulers are an indispensable part of your IT infrastructure. Background The discipline of job scheduling was first established in the 1970s when it became a key strategic infrastructure component for large mainframe-oriented data centers. A variety of products were created and extensively marketed, and it became widely accepted that a reliable job scheduling tool was required to effectively manage batch-oriented applications on the mainframe. During this period of mainframe-centric computing, a common understanding of the key features of job scheduling began to emerge. When UNIX began to make inroads into mainstream data centers in the mid-1990s, IT managers widened their search to job scheduling solutions for managing batch processing in a distributed environment. As the shift to UNIX began, few of the existing mainframe vendors created new job scheduling offerings to fill the void. Instead, mainframe vendors and many mainframe-oriented data centers experimented with attempts to manage distributed workload from the mainframe. As UNIX servers continued to make their way into the core data center, a new group of competitors entered the market with products created expressly for managing distributed job scheduling. As the two competing approaches were deployed, it quickly became apparent that the products created expressly for the distributed environment were a far better approach, and the mainframe approach to managing distributed workload was relegated to a small market segment. Even so, many mainframe data centers still cling to the elusive dream of managing all workload regardless of platform from a single mainframe console. Unfortunately, few if any have been able to achieve this goal, and few vendors appear to focus on the issue. The early distributed offerings proved to be reasonably robust and did a passable job of mimicking mainframe scheduling features and functions, but they suffered from being first generation products. Eventually, all of the prominent vendors of these products “hit the wall” in terms of scalability, flexibility and ease of use and were ultimately acquired in the late 1990s by mainframe companies still grappling with the unique issues and challenges of the distributed marketplace. During the period that the first generation products were being acquired, new players began to emerge, crafting more advanced solutions for job scheduling in the distributed environment.
|