Your SlideShare is downloading. ×
SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013


Published on

Presentation given at CCGRID, May 2013 …

Presentation given at CCGRID, May 2013

Abstract: Elasticity in cloud computing is a complex problem, regarding not only resource elasticity but also quality and cost elasticity, and most importantly, the relations among the three. Therefore, existing support for controlling elasticity in complex applications, focusing solely on resource scaling, is not adequate. In this paper we present SYBL - a novel language for controlling elasticity in cloud applications - and its runtime system. SYBL allows specifying in detail elasticity monitoring, constraints, and strategies at different levels of cloud applications, including the whole application, application component, and within application component code. Based on simple SYBL elasticity directives, our runtime system will perform complex elasticity controls for the client, by leveraging underlying cloud monitoring and resource management APIs. We also present a prototype implementation and experiments illustrating how SYBL can be used in real-world scenarios.

Published in: Technology

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide
  • Linh: maybe you can change the headline to stress the "research challenges", e.g., "Complex and high-level elasticity control requirements"
  • Clarify the relationship between high level elasticity requirements and low level onesLinh: what would be a single statement to emphasize this slide? e.g., complexity of cloud services and elasticity can be applied/occur in all these levels?
  • Linh: what is a single statement to describe the related work? E.g., too limited? Not enough?
  • Focus on elasticity specification – show that we propose abstract specification which can be mapped on different languagesLinh: elaborate a bit the approach, but short, e.g., first, second, third.
  • - stress the benefits-
  • - stress the benefits-
  • New Slides about sybl and implementation
  • Linh: can you use animation to describe steps. the presentation should be better with clear steps. can you also say about the implementation?
  • Linh: What about thesystem of the experiment?How many machines? Etc.
  • Linh: “First write down what is the goal?Then here is the way how we supportWhy it is good?”
  • Linh: “What is the goal? What is the conclusion of the experiment here?”
  • Transcript

    • 1. SYBL: an Extensible Language forControlling Elasticity in Cloud ApplicationsGeorgiana Copil, Daniel Moldovan,Hong-Linh Truong, Schahram DustdarDistributed Systems Group,Vienna University of Technology
    • 2. CCGRID, 23 May 2013 2Overview Motivation Elasticity Requirements Specification Approach SYBL– Language Constructs– Examples of Elasticity Controls SYBL Runtime Experiments Conclusions and Future Work
    • 3. CCGRID, 23 May 2013 3Motivation – Complex and High-LevelElasticity Control Requirements [1/2] Application user: “If the cost is greater than 800 Euro, thereshould be a scale-in action for keeping costs in acceptable limits” Software provider: “Response time should be less than anamount varying with the number of users.” Developer: “The result from the data analytics algorithm mustreach a certain data accuracy under a cost constraint. I don’t careabout how many resources should be used for executing thiscode.” Cloud provider: “When availability is higher than 99% for a periodof time, and the cost is the same as for availability 80%, the costshould increase with 10%.”
    • 4. Motivation –Complex and High-LevelElasticity Control Requirements [2/2]Elasticity control needed at different levels, coveringApplication, Component, Code-levelCost“If the cost is greater than 800 Euro…”Quality“Response time should be less than an amount varying…”Resources“allocated memory should be at least 6 GB…”
    • 5. CCGRID, 23 May 2013 5Elasticity & Cloud … Resource Scaling in Industry Approach– Amazon: AutoScale– Paraleap: AzureWatch– CloudStack: AutoScale– Cloud Solution K7: ScaleInfra Research Works for Elasticity– Controlling resource elasticity [Han 2012]– Measuring resource elasticity [Martin 2011], [Li 2012]– Controlling resource elasticity for cost optimization [Sharma 2012] [Tosana-Casalaz 2012] Limited view on elasticity control
    • 6. CCGRID, 23 May 2013 6Elasticity & Cloud … Multi-dimensional nature of elasticity [Dustdar 2011]• Quality, Cost and Resources How can we support elasticity specification?– Consider complex application structure– Consider multi-dimensional elasticity
    • 7. CCGRID, 23 May 2013 7Our approach – using directives for specifyingand controlling elasticity requirements The user can rely on high-level specifications language– Specifying elasticity control directives at multiple levels requiredby multiple types of users• Considering the application structure for multiple levels of control• Address the elasticity requirements specification needs of multiple types ofusers– Cloud application owner, software provider, software developer, PaaS provider• Allow high-level specifications– Transparently transformed into complex elasticity control– Controlling elasticity at multiple levels of considering applicationstructure• Online/on the fly elasticity control This paper– Focus on elasticity requirements specification
    • 8. CCGRID, 23 May 2013 8SYBL – Overview SYBL (Simple Yet Beautiful Language)– Language for elasticity requirements specification– Possible users: cloud provider, application owner, applicationdeveloper, software provider– Goals: easy to use, high-level, multiple levels of control SYBL-supported requirement levels– Application Level– Component Level– Programming/Code Level Core SYBL concepts– <Monitoring, Constraint, Strategy> structure– Predefined functions and environment variables
    • 9. CCGRID, 23 May 2013 9Main concepts used in SYBL [1/4] „Monitoring“– Directive for describing what needs to be monitored and underwhat conditions
    • 10. CCGRID, 23 May 2013 10Main concepts used in SYBL [2/4] „Constraint“– Directive for describing what needs to true and under whatconditions
    • 11. CCGRID, 23 May 2013 11Main concepts used in SYBL [3/4] „Strategy“– Directive for describing how to achieve certain goals and underwhat conditions
    • 12. CCGRID, 23 May 2013 12Main concepts used in SYBL [4/4] Other constructs: predefined functions and environmentvariables
    • 13. CCGRID, 23 May 2013 13Examples of SYBL Elasticity Controls SYBL elasticity requirements – cloud provider– Specifying application level elasticity directives• For adapting the application to demand• For defining cost schema
    • 14. CCGRID, 23 May 2013 14Examples of SYBL Elasticity Controls SYBL elasticity requirements – cloud customerPossible conflict?• Cost targeted bydifferent users atdifferent levels• Different constraints
    • 15. CCGRID, 23 May 2013 15SYBL and Implementation Current SYBL implementation– in Java using Java annotations• @SYBLAnnotation(monitoring=„“,constraints=„“,strategies=„“)– in XML• Specific xml schema– <ProgrammingDirective><Constraints><Constraintname=c1>...</Constraint></Constraints>...</ProgrammingDirective> Other possibilities– C# Attributes• [ProgrammingAttribute(monitoring=„“,constraints=„“,strategies=„“)]– Python Decorators• @ProgrammingDecorator(monitoring,constraints,strategies)– ...
    • 16. CCGRID, 23 May 2013 16SYBL Runtime1. SYBL directives inserted in application3. The elasticity requirements areenforced locally if possible, otherwisethey are sent to the Control Service4. The Cloud Service uses the Monitoringand Enforcement API for communicatingwith Cloud APIs and Monitoring tools
    • 17. CCGRID, 23 May 2013 17Experiments – Setup Cloud infrastructure– OpenStack based, 100 cores• Possible actions: adding/removing virtual machines• Ganglia for monitoring Application used All software components are pre-installed in VM images
    • 18. CCGRID, 23 May 2013 18Experiments – SYBL ElasticityRequirements Description [1/2] Goal: controlling application component elasticity basedon performance conditions Easy specification– Don’t have to work with JClouds or any other tools forconnecting to the Cloud APIs– Don’t have to process monitoring
    • 19. CCGRID, 23 May 2013 19Experiments – SYBL ElasticityRequirements Description [2/2] Goal: fine-grained elasticity requirements specificationat programming level
    • 20. Experiments – Results [1/2]Using SYBL specifications, we can adapt the application forachieving the quality/cost/resources elasticitySYBL runtime adds/removes virtual machines on demand
    • 21. Experiments – Results [2/2]Application elasticity is a complex property, evolving over time onmultiple dimensionsCost, Resources and Quality progressivelyincreaseCost, Resources and Qualityprogressively decreaseWhen quality is too lowan adaptationaction is triggered bySYBL strategies
    • 22. CCGRID, 23 May 2013 22Conclusions and Future Work We present SYBL and its Runtime as a novel means forspecifying and controlling elasticity– Wide range of users, applications– Easy-to-use elasticity specifications Prototypes– Future work– Extend our implementation of the SYBL runtime stack– Utilize SYBL for various types of applications
    • 23. CCGRID, 23 May 2013 23Thanks for your attention!Georgiana Systems GroupVienna University of TechnologyAustria
    • 24. CCGRID, 23 May 2013 24References [1/2] [Dustdar 2011] Schahram Dustdar, Yike Guo, Benjamin Satzger, Hong LinhTruong: Principles of Elastic Processes. IEEE Internet Computing 15(5): 66-71(2011) [Galán 2009] Fermín Galán, Americo Sampaio, Luis Rodero-Merino, Irit Loy, VictorGil, and Luis M. Vaquero. 2009. Service specification in cloud environments basedon extensions to open standards. In Proceedings of the Fourth International ICSTConference on COMmunication System softWAre and middlewaRE (COMSWARE09) [Han 2012] Rui Han, Li Guo, Moustafa M. Ghanem, and Yike Guo. “LightweightResource Scaling for Cloud Applications”. In Proceedings of the 2012 12thIEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (ccgrid2012) (CCGRID 12) [Li 2012] Zheng Li; OBrien, L.; He Zhang; Cai, R., "On a Catalogue of Metrics forEvaluating Commercial Cloud Services," 2012 ACM/IEEE 13th InternationalConference on Grid Computing (GRID), vol., no., pp.164,173, 20-23 Sept. 2012
    • 25. CCGRID, 23 May 2013 25References [2/2] [Martin 2011] Patrick Martin, Andrew Brown, Wendy Powley, Jose Luis Vazquez-Poletti, "Autonomic management of elastic services in the cloud," Computers andCommunications (ISCC), 2011 IEEE Symposium on , vol., no., pp.135,140, June 282011-July 1 2011 [Moran 2011] Daniel Morán, Luis M. Vaquero, and Fermín Galán."Elastically Rulingthe Cloud: Specifying Applications Behavior in Federated Clouds," 2011 IEEEInternational Conference on Cloud Computing (CLOUD) [Sharma 2011] Upendra Sharma, Prashant Shenoy, Sambit Sahu, and AneesShaikh. “A Cost-Aware Elasticity Provisioning System for the Cloud”. In Proceedingsof the 2011 31st International Conference on Distributed Computing Systems(ICDCS 11) [Tolosana-Calasanz 2012] Rafael Tolosana-Calasanz, José Ángel Bañares,Congduc Pham, and Omer F. Rana. 2012. Revenue-Based resource managementon shared clouds for heterogenous bursty data streams. In Proceedings of the 9thinternational conference on Economics of Grids, Clouds, Systems, and Services(GECON12)