Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
SYBL: an Extensible Language for
Controlling Elasticity in Cloud Applications
Georgiana Copil, Daniel Moldovan,
Hong-Linh ...
CCGRID, 23 May 2013 2
Overview
 Motivation
 Elasticity Requirements Specification Approach
 SYBL
– Language Constructs
...
CCGRID, 23 May 2013 3
Motivation – Complex and High-Level
Elasticity Control Requirements [1/2]
 Application user: “If th...
Motivation –Complex and High-Level
Elasticity Control Requirements [2/2]
Elasticity control needed at different levels, co...
CCGRID, 23 May 2013 5
Elasticity & Cloud …
 Resource Scaling in Industry Approach
– Amazon: AutoScale
– Paraleap: AzureWa...
CCGRID, 23 May 2013 6
Elasticity & Cloud …
 Multi-dimensional nature of elasticity [Dustdar 2011]
• Quality, Cost and Res...
CCGRID, 23 May 2013 7
Our approach – using directives for specifying
and controlling elasticity requirements
 The user ca...
CCGRID, 23 May 2013 8
SYBL – Overview
 SYBL (Simple Yet Beautiful Language)
– Language for elasticity requirements specif...
CCGRID, 23 May 2013 9
Main concepts used in SYBL [1/4]
 „Monitoring“
– Directive for describing what needs to be monitore...
CCGRID, 23 May 2013 10
Main concepts used in SYBL [2/4]
 „Constraint“
– Directive for describing what needs to true and u...
CCGRID, 23 May 2013 11
Main concepts used in SYBL [3/4]
 „Strategy“
– Directive for describing how to achieve certain goa...
CCGRID, 23 May 2013 12
Main concepts used in SYBL [4/4]
 Other constructs: predefined functions and environment
variables
CCGRID, 23 May 2013 13
Examples of SYBL Elasticity Controls
 SYBL elasticity requirements – cloud provider
– Specifying a...
CCGRID, 23 May 2013 14
Examples of SYBL Elasticity Controls
 SYBL elasticity requirements – cloud customer
Possible confl...
CCGRID, 23 May 2013 15
SYBL and Implementation
 Current SYBL implementation
– in Java using Java annotations
• @SYBLAnnot...
CCGRID, 23 May 2013 16
SYBL Runtime
1. SYBL directives inserted in application
3. The elasticity requirements are
enforced...
CCGRID, 23 May 2013 17
Experiments – Setup
 Cloud infrastructure
– OpenStack based, 100 cores
• Possible actions: adding/...
CCGRID, 23 May 2013 18
Experiments – SYBL Elasticity
Requirements Description [1/2]
 Goal: controlling application compon...
CCGRID, 23 May 2013 19
Experiments – SYBL Elasticity
Requirements Description [2/2]
 Goal: fine-grained elasticity requir...
Experiments – Results [1/2]
Using SYBL specifications, we can adapt the application for
achieving the quality/cost/resourc...
Experiments – Results [2/2]
Application elasticity is a complex property, evolving over time on
multiple dimensions
Cost, ...
CCGRID, 23 May 2013 22
Conclusions and Future Work
 We present SYBL and its Runtime as a novel means for
specifying and c...
CCGRID, 23 May 2013 23
Thanks for your attention!
Georgiana Copil
e.copil@dsg.tuwien.ac.at
http://www.infosys.tuwien.ac.at...
CCGRID, 23 May 2013 24
References [1/2]
 [Dustdar 2011] Schahram Dustdar, Yike Guo, Benjamin Satzger, Hong Linh
Truong: P...
CCGRID, 23 May 2013 25
References [2/2]
 [Martin 2011] Patrick Martin, Andrew Brown, Wendy Powley, Jose Luis Vazquez-
Pol...
Upcoming SlideShare
Loading in …5
×

of

SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 1 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 2 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 3 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 4 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 5 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 6 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 7 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 8 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 9 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 10 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 11 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 12 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 13 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 14 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 15 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 16 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 17 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 18 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 19 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 20 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 21 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 22 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 23 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 24 SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013 Slide 25
Upcoming SlideShare
Cost-aware scalability of applications in public clouds
Next
Download to read offline and view in fullscreen.

0 Likes

Share

Download to read offline

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

Download to read offline

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.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

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

  1. 1. SYBL: an Extensible Language for Controlling Elasticity in Cloud Applications Georgiana Copil, Daniel Moldovan, Hong-Linh Truong, Schahram Dustdar Distributed Systems Group, Vienna University of Technology
  2. 2. CCGRID, 23 May 2013 2 Overview  Motivation  Elasticity Requirements Specification Approach  SYBL – Language Constructs – Examples of Elasticity Controls  SYBL Runtime  Experiments  Conclusions and Future Work
  3. 3. CCGRID, 23 May 2013 3 Motivation – Complex and High-Level Elasticity Control Requirements [1/2]  Application user: “If the cost is greater than 800 Euro, there should be a scale-in action for keeping costs in acceptable limits”  Software provider: “Response time should be less than an amount varying with the number of users.”  Developer: “The result from the data analytics algorithm must reach a certain data accuracy under a cost constraint. I don’t care about how many resources should be used for executing this code.”  Cloud provider: “When availability is higher than 99% for a period of time, and the cost is the same as for availability 80%, the cost should increase with 10%.”
  4. 4. Motivation –Complex and High-Level Elasticity Control Requirements [2/2] Elasticity control needed at different levels, covering Application, Component, Code-level Cost “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. 5. CCGRID, 23 May 2013 5 Elasticity & 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. 6. CCGRID, 23 May 2013 6 Elasticity & 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. 7. CCGRID, 23 May 2013 7 Our approach – using directives for specifying and controlling elasticity requirements  The user can rely on high-level specifications language – Specifying elasticity control directives at multiple levels required by multiple types of users • Considering the application structure for multiple levels of control • Address the elasticity requirements specification needs of multiple types of users – 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 application structure • Online/on the fly elasticity control  This paper – Focus on elasticity requirements specification
  8. 8. CCGRID, 23 May 2013 8 SYBL – Overview  SYBL (Simple Yet Beautiful Language) – Language for elasticity requirements specification – Possible users: cloud provider, application owner, application developer, 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. 9. CCGRID, 23 May 2013 9 Main concepts used in SYBL [1/4]  „Monitoring“ – Directive for describing what needs to be monitored and under what conditions
  10. 10. CCGRID, 23 May 2013 10 Main concepts used in SYBL [2/4]  „Constraint“ – Directive for describing what needs to true and under what conditions
  11. 11. CCGRID, 23 May 2013 11 Main concepts used in SYBL [3/4]  „Strategy“ – Directive for describing how to achieve certain goals and under what conditions
  12. 12. CCGRID, 23 May 2013 12 Main concepts used in SYBL [4/4]  Other constructs: predefined functions and environment variables
  13. 13. CCGRID, 23 May 2013 13 Examples 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. 14. CCGRID, 23 May 2013 14 Examples of SYBL Elasticity Controls  SYBL elasticity requirements – cloud customer Possible conflict? • Cost targeted by different users at different levels • Different constraints
  15. 15. CCGRID, 23 May 2013 15 SYBL and Implementation  Current SYBL implementation – in Java using Java annotations • @SYBLAnnotation(monitoring=„“,constraints=„“,strategies=„“) – in XML • Specific xml schema – <ProgrammingDirective><Constraints><Constraint name=c1>...</Constraint></Constraints>...</ProgrammingDirective>  Other possibilities – C# Attributes • [ProgrammingAttribute(monitoring=„“,constraints=„“,strategies=„“)] – Python Decorators • @ProgrammingDecorator(monitoring,constraints,strategies) – ...
  16. 16. CCGRID, 23 May 2013 16 SYBL Runtime 1. SYBL directives inserted in application 3. The elasticity requirements are enforced locally if possible, otherwise they are sent to the Control Service 4. The Cloud Service uses the Monitoring and Enforcement API for communicating with Cloud APIs and Monitoring tools
  17. 17. CCGRID, 23 May 2013 17 Experiments – 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. 18. CCGRID, 23 May 2013 18 Experiments – SYBL Elasticity Requirements Description [1/2]  Goal: controlling application component elasticity based on performance conditions  Easy specification – Don’t have to work with JClouds or any other tools for connecting to the Cloud APIs – Don’t have to process monitoring
  19. 19. CCGRID, 23 May 2013 19 Experiments – SYBL Elasticity Requirements Description [2/2]  Goal: fine-grained elasticity requirements specification at programming level
  20. 20. Experiments – Results [1/2] Using SYBL specifications, we can adapt the application for achieving the quality/cost/resources elasticity SYBL runtime adds/removes virtual machines on demand
  21. 21. Experiments – Results [2/2] Application elasticity is a complex property, evolving over time on multiple dimensions Cost, Resources and Quality progressively increase Cost, Resources and Quality progressively decrease When quality is too low an adaptation action is triggered by SYBL strategies
  22. 22. CCGRID, 23 May 2013 22 Conclusions and Future Work  We present SYBL and its Runtime as a novel means for specifying and controlling elasticity – Wide range of users, applications – Easy-to-use elasticity specifications  Prototypes – http://www.infosys.tuwien.ac.at/research/viecom/prototypes.html  Future work – Extend our implementation of the SYBL runtime stack – Utilize SYBL for various types of applications
  23. 23. CCGRID, 23 May 2013 23 Thanks for your attention! Georgiana Copil e.copil@dsg.tuwien.ac.at http://www.infosys.tuwien.ac.at/staff/ecopil/ Distributed Systems Group Vienna University of Technology Austria
  24. 24. CCGRID, 23 May 2013 24 References [1/2]  [Dustdar 2011] Schahram Dustdar, Yike Guo, Benjamin Satzger, Hong Linh Truong: 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, Victor Gil, and Luis M. Vaquero. 2009. Service specification in cloud environments based on extensions to open standards. In Proceedings of the Fourth International ICST Conference on COMmunication System softWAre and middlewaRE (COMSWARE '09)  [Han 2012] Rui Han, Li Guo, Moustafa M. Ghanem, and Yike Guo. “Lightweight Resource Scaling for Cloud Applications”. In Proceedings of the 2012 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (ccgrid 2012) (CCGRID '12)  [Li 2012] Zheng Li; O'Brien, L.; He Zhang; Cai, R., "On a Catalogue of Metrics for Evaluating Commercial Cloud Services," 2012 ACM/IEEE 13th International Conference on Grid Computing (GRID), vol., no., pp.164,173, 20-23 Sept. 2012
  25. 25. CCGRID, 23 May 2013 25 References [2/2]  [Martin 2011] Patrick Martin, Andrew Brown, Wendy Powley, Jose Luis Vazquez- Poletti, "Autonomic management of elastic services in the cloud," Computers and Communications (ISCC), 2011 IEEE Symposium on , vol., no., pp.135,140, June 28 2011-July 1 2011  [Moran 2011] Daniel Morán, Luis M. Vaquero, and Fermín Galán."Elastically Ruling the Cloud: Specifying Application's Behavior in Federated Clouds," 2011 IEEE International Conference on Cloud Computing (CLOUD)  [Sharma 2011] Upendra Sharma, Prashant Shenoy, Sambit Sahu, and Anees Shaikh. “A Cost-Aware Elasticity Provisioning System for the Cloud”. In Proceedings of 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 management on shared clouds for heterogenous bursty data streams. In Proceedings of the 9th international conference on Economics of Grids, Clouds, Systems, and Services (GECON'12)

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.

Views

Total views

2,416

On Slideshare

0

From embeds

0

Number of embeds

102

Actions

Downloads

30

Shares

0

Comments

0

Likes

0

×