WORKFLOW ENGINE FOR CLOUDS
SURAJ PANDEY, DILEBAN KARUNAMOORTHY,and RAJKUMAR BUYYA
A workflow models a process as consisting of a series of steps that simplifies thecomplexity of execution and management of applications. Scientific workflowsin domains such as high-energy physics and life sciences utilize distributedresources in order to access, manage, and process a large amount of data from ahigher level. Processing and managing such large amounts of data require theuse of a distributed collection of computation and storage facilities. Theseresources are often limited in supply and are shared among many competingusers. The recent progress in virtualization technologies and the rapid growthof cloud computing services have opened a new paradigm in distributedcomputing for utilizing existing (and often cheaper) resource pools for on-demand and scalable scientific computing. Scientific Workflow ManagementSystems (WfMS) need to adapt to this new paradigm in order to leverage thebenefits of cloud services.
Cloud services vary in the levels of abstraction and hence the type of servicethey present to application users. Infrastructure virtualization enables provi-ders such as Amazon1 to offer virtual hardware for use in compute- and data-intensive workflow applications. Platform-as-a-Service (PaaS) clouds expose ahigher-level development and runtime environment for building and deployingworkflow applications on cloud infrastructures. Such services may also exposedomain-specific concepts for rapid-application development. Further up in thecloud stack are Software-as-a-Service providers who offer end users with
Cloud Computing: Principles and Paradigms, Edited by Rajkumar Buyya, James Broberg andAndrzej Goscinski Copyright r 2011 John Wiley & Sons, Inc.
standardized software solutions that could be integrated into existingworkflows.
This chapter presents workflow engines and its integration with the cloudcomputing paradigm. We start by reviewing existing solutions for workflowapplications and their limitations with respect to scalability and on-demandaccess.We thendiscuss someof thekeybenefits that cloud services offerworkflowapplications, compared to traditional grid environments. Next, we give a briefintroduction toworkflowmanagement systems in order to highlight componentsthat will become an essential part of the discussions in this chapter. We discussstrategies for utilizing cloud resources in workflow applications next, along witharchitectural changes, useful tools, and services. We then present a case study onthe use of cloud services for a scientific workflow application and finally end thechapter with a discussion on visionary thoughts and the key challenges to realizethem. In order to aid our discussions, we refer to the workflow managementsystem and cloud middleware developed at CLOUDS Lab, University ofMelbourne. These tools, referred to as Cloudbus toolkit , henceforth, aremature platforms arising from years of research and development.
Over the recent past, a considerable body of work has been done on the use ofworkflow systems for scientific applications. Yu and Buyya  provide acomprehensive taxonomy of workflow management systems based on work-flow design, workflow scheduling, fault management, and data movement.They characterize and classify different approaches for building and executingworkflows on Grids. They also study existing grid workflow systems high-lighting key features and differences.
Some of the popular workflow systems for scientific applications includeDAGMan (Directed Acyclic Graph MANager) [3, 4], Pegasus , Kepler ,and Taverna workbench . DAGMan is a workflow engine under the Pegasusworkflow management system. Pegasus uses DAGMan to run the executableworkflow. Kepler provides support for Web-service-based workflows. It usesan actor-oriented design approach for composing and executing scientificapplication workflows. The computational components are called actors, andthey are linked together to form a workflow. The Taverna workbench enablesthe automation of experimental methods through the integration of variousservices, including WSDL-based single operation Web services, into workflows.For a detailed description of these systems, we refer you to Yu and Buyya .
Scientific workflows are commonly executed on shared infrastructure such asTera-Grid,2 Open Science Grid,3 and dedicated clusters . Existing workflowsystems tend to utilize these global Grid resources that are made available
2 http://www.teragrid.org3 http://www.opensciencegrid.org
322 WORKFLOW ENGINE FOR CLOUDS
through prior agreements and typically at no cost. The notion of leveragingvirtualized resources was new, and the idea of using resources as a utility [9, 10]was limited to academic papers and was not implemented in practice. With theadvent of cloud computing paradigm, economy-based utility computing isgaining widespread adoption in the industry.
Deelman et al.  presented a simulation-based study on the costs involvedwhen executing scientific application workflows using cloud services. Theystudied the cost performance trade-offs of different execution and resourceprovisioning plans, and they also studied the storage and communication feesof Amazon S3 in the context of an astronomy application known as Montage[5, 10]. They conclude that cloud computing is a cost-effective solution for data-intensive applications.
The Cloudbus toolkit  is our initiative toward providing viable solutionsfor using cloud infrastructures. We propose a wider vision that incorporates aninter-cloud architecture and a market-oriented utility computing model. TheCloudbus workflow engine , presented in the sections to follow, is a steptoward scaling workflow applications on clouds using market-orientedcomputing.
12.3 WORKFLOW MANAGEMENT SYSTEMS AND CLOUDS
The primary benefit of moving to clouds is application scalability. Unlike grids,scalability of cloud resources allows real-time provisioning of resources to meetapplication requirements at runtime or prior to execution. The elastic nature ofclouds facilitates changing of resource quantities and characteristics to vary atruntime, thus dynamically scaling up when there is a greater need for additionalresources and scaling down when the demand is low. This enables workflowmanagement systems to readily meet quality-of-service (QoS) requirements ofapplications, as opposed to the traditional approach that required advancereservation of resources in global multi-user grid environments. With mostcloud computing services coming from large commercial organizations, service-level agreements (SLAs) have been an important concern to both the serviceproviders and consumers. Due to competitions within emerging serviceproviders, greater care is being taken in designing SLAs that seek to offer (a)better QoS guarantees to customers and (b) clear terms for compensation in theevent of violation. This allows workflow management systems to provide betterend-to-end guarantees when meeting the service requirements of users bymapping them to service providers based on characteristics of SLAs. Econom-ically motivated, commercial cloud providers strive to provide better servicesguarantees compared to grid service providers. Cloud providers also takeadvantage of economies of scale, providing compute, storage, and bandwidthresources at substantially lower costs. Thus utilizing public cloud services couldbe economical and a cheaper alternative (or add-on) to the more expensivededicated resources. One of the benefits of using virtualized resources for
12.3 WORKFLOW MANAGEMENT SYSTEMS AND CLOUDS 323
workflow execution, as opposed to having direct access to the physicalmachine, is the reduced need for securing the physical resource from maliciouscode using techniques such as sandboxing. However, the long-term effect ofusing virtualized resources in clouds that effectively share a slice of thephysical machine, as opposed to using dedicated resources for high-perfor-mance applications, is an interesting research question.
12.3.1 Architectural Overview
Figure 12.1 presents a high-level architectural view of a WorkflowManagementSystem (WfMS) utilizing cloud resources to drive the execution of a scientific
A storage service such as FTP or Amazon S3for temporary storage of applicationcomponents, such as executable and datafiles, and output (result) files.
Workflow Management System schedules jobs in workflow to remoteresources based on user-specified QoSrequirements and SLA-basednegotiation with remote resourcescapable of meeting those demands.
Local cluster with fixednumber of resources
Amazon EC2 instancesto augment to the local cluster
Aneka EnterpriseCloud Platform
Job C3Job B2
Amazon Web Services
FIGURE 12.1. Workflow engine in the cloud.
324 WORKFLOW ENGINE FOR CLOUDS
workflow application. The workflow system comprises the workflow engine, aresource broker , and plug-ins for communicating with various technolo-gical platforms, such as Aneka  and Amazon EC2. A detailed architecturedescribing the components of a WfMS is given i