Enterprises adopt workflow management tools to automate their business processes and handle complex batch processing. Batch applications are computationally data intensive and if executed during business hours by an enterprise, may impact its critical customer front-end applications due to their high resource cost. In addition, delay or failures in batch-application execution have significant business impact potential due to their high do-over cost in time and compute resources.
To make quick business decisions, real-time inputs to business intelligence applications are critical and these applications have to perform complex operations and generate reports with speed and accuracy. Delays may impact business decisions and produce a rippling effect on business operations. In addition, front-end applications such as e-commerce and financial analysis platforms need to be served a large set of data in real-time as they perform complex and computationally intensive algorithms based on customer requests. Therefore, in a time when enterprises are experiencing pressure to make their business more agile, their business applications need to perform and scale optimally and, preferably, in real-time.
Current batch application processing solutions are based on dedicated clustering technologies for high availability and performance. Although clustering technologies allow computing infrastructure to scale-out on-demand to a certain extent they may be unable to grow beyond their local spatial environment and are generally homogenous computing clusters. However, batch processing applications may require a highly heterogeneous and distributed environment for fast real-time scale out that integrates fault tolerance. Therefore, merely clustered based batch solutions may be unable to meet an enterprise's demands.