Transcription of SPEEDL - A Declarative Event-Based Language to …
1 SPEEDL A Declarative Event-Based Language toDefine the scaling behavior of cloud ApplicationsRostyslav Zabolotnyi , Philipp Leitner , Stefan Schulte , Schahram Dustdar Distributed Systems Group, Vienna University of Technology{rstzab, , software evolution & architecture lab, University of Contemporary cloud providers offer out-of-the-boxauto- scaling solutions. However, defining a non-trivial scalingbehavior that goes beyond the feature set provided by existingsolutions is still challenging. In this paper we presentSPEEDL,adeclarative and extensible domain-specific Language that simpli-fies the creation of elastic scaling behavior on top of IaaS the creation of event-driven policies forresource management (How many resources, and what resourcetypes, are needed?)}
2 , as well as task mapping (Which tasks shouldbe handled by which resources?). based on a dataset of real-lifescaling policies, we demonstrate thatSPEEDLcan cover mostscaling behaviors real-life developers want to express, and thatthe resultingSPEEDL policies are at the same time substantiallymore compact, easier to read, and less error-prone than thesame behavior expressed via a general-purpose INTRODUCTIONN owadays, the benefits of cloud computing [1] are widelyrecognized. Software development in the cloud is more agile,delivers value to the customer faster [2], and the pay asyou go pricing model reduces server under-utilization [3].However, to make efficient use of pay as you go pricing, cloud -native applications need to be able to adjust their cloudresource usageelastically.
3 That is, an application needs tocontinuously monitor its state, and acquire new or releaseexisting cloud resources accordingly. Modern Platform-as-a-Service (PaaS) solutions ( , Google Appengine1or IBMB luemix2) provide simple automated, rule- based solutionsto this problem, which , add and remove servers basedon CPU utilization thresholds. Those simple solutions are aperfect fit for many three-tier web applications [4]. However,there are many real-life applications that do not fit this some applications , incoming tasks differ substantially inresource usage per request, or the architectural design requiresnon-trivial mapping of tasks to resources [5]. Similarly, prob-lems appear when legislative rules regarding data handlingapply.
4 For example, the European Union establishes specificrules for how medical data is to be handled by these situations, cloud developers generally fall back toInfrastructure-as-a-Service (IaaS) clouds, which allow more1 elasticity control. However, choosing IaaS alsoimplies that developers have to create their own cloud man-agement solutions, which are both, cumbersome and error-prone. Further, manual development of elasticity behavior isrepetitive, as conceptually the same kind of abstract behaviorneeds to be implemented in many different this paper we presentSPEEDL, a Declarative and exten-sible domain-specific Language [6] (DSL) that simplifies thecreation of elastic, application-specific cloud scaling behavioron top of IaaS for the definition ofscaling policies, , a set of event-condition-action (ECA)rules managing the amount and types of resources ( , VMinstances) acquired from the cloud , as well as the mappingof incoming tasks to these resources for processing.
5 Unlikeexisting industrial solutions,SPEEDLis extensible and allowsfor application-specific rules. For demonstration purposes, weillustrateSPEEDL using a Java- based implementation on topof our existing JCloudScale framework [7]. Further, we show, based on a dataset of real-life scaling policies, thatSPEEDLcan cover most scaling behaviors real-life developers want toexpress, and that the resultingSPEEDL policies are at thesame time substantially more compact, easier to read, and lesserror-prone than the same behavior expressed in pure Java. Aninitial version ofSPEEDL will be made available as part ofthe JCloudScale open source project3, but the DSL is not hard-wired to JCloudScale and can easily be realized stand-aloneas MOTIVATINGSCENARIOTo motivate the remainder of this paper, we now brieflyintroduce an illustrative scenario of an application requiringmore expressive elasticity rules than what existing industrialsolutions are able to motivating scenario is in the medical domain.
6 Wheneverfuture parents need to perform a detailed fetal scan, theyhave to wait for multiple days in order to obtain results. Themain reason for this delay is the image processing softwarethat struggles to provide results in a reasonable time on thelimited hardware available on hospital premises. Clearly, cloudcomputing is a natural way to resolve this problem. Indeed,there are ongoing efforts in this direction [8].3 IEEE World Congress on Services978-1-4673-7275-6/15 $ 2015 IEEEDOI IEEE World Congress on Services978-1-4673-7275-6/15 $ 2015 IEEEDOI IEEE World Congress on Services978-1-4673-7275-6/15 $ 2015 IEEEDOI ..Figure 1. Overview of Motivating ScenarioA simplified illustration of this scenario is depicted inFigure 1.
7 Each scan performed by a doctor results in a taskthat has to be processed using available computation resources,either within the medical institution, or in a public cloud . Theclinic is saving money by processing data locally wheneversufficient resources are available or a case is marked by amedical practitioner as not urgent. However, when informationis urgent, or local resources are insufficient, a task is processedin the cloud . When the task is completed, it is shown on thedoctor s the task routing component in Figure 1 resultsin a number of challenges. Modern cloud providers alreadyoffer load balancing solutions, but mainly within their ownecosystems and focusing on simple random or round-robindistribution [9].
8 In the described scenario, the system needs toschedule tasks across a hybrid cloud , depending on the currentlocal situation and task severity. Additionally, due to legalreasons, unless a patient agrees, all private information hasto stay within the hospital boundaries [10]. Another problemis that existing resource management solutions ( , auto- scaling ) usually consist of external rule- based systems thattreat the application as a black box [11]. Due to this, it isvery difficult to provide any domain-specific knowledge tothe external component or adjust resource usage accordingly tothe doctors schedule and already-known upcoming patient ap-pointments. A sometimes used, but cumbersome, workaroundis to use artificial metrics and events that trigger requiredinfrastructure adaptations in advance [12].
9 In this paper, we present an approach that allows developersto more easily implement a custom resource management andtask scheduling solution, based on doctors timetable or legalagreements with each client, in the same way to an in-housesolution. Our approach not only reduces vendor lock-in, butalso allows the hospital to use their existing resources moreefficiently, decide how many and which types of resources toacquire from the public cloud based on load predictions, andincorporate domain knowledge in a way that a solution thattreats the application purely as a black box RELATEDWORKThe problem of task scheduling did not originate in thecloud computing area. Clearly, the workload distribution chal-lenge is present in any distributed or parallel system [13].
10 With the appearance and maturing of common schedulingalgorithms [9], DSLs for scheduling and distributed systemsstarted to appear. Nowadays task scheduling, often in a formof DSLs, is researched for instance within the fields of highperformance computing [14] and embedded systems [15]. Inthe area of cloud computing, scheduling is usually performedin a form of balancing [9] or greedy [16] workload distributionin order to parallelize execution or optimize resource approaches satisfy data processing or classic three-tier [4] cloud applications , and usually do not require complexDSLs or special scheduling frameworks. However, when taskdistribution needs to address such dynamic or domain-specificfeatures as data locality [17] or system heterogeneity [18],the necessity of an additional layer of abstraction becomesmore plausible.