SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013
-
Upload
georgiana-copil -
Category
Technology
-
view
1.314 -
download
1
description
Transcript of SYBL: An extensible language for elasticity specifications in cloud applications -- CCGRID2013
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
CCGRID, April 8, 2023 2
Overview
Motivation Elasticity Requirements Specification Approach SYBL
– Language Constructs– Examples of Elasticity Controls
SYBL Runtime Experiments Conclusions and Future Work
CCGRID, April 8, 2023 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%.”
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…”
CCGRID, April 8, 2023 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
CCGRID, April 8, 2023 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
CCGRID, April 8, 2023 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
CCGRID, April 8, 2023 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
CCGRID, April 8, 2023 9
Main concepts used in SYBL [1/4]
„Monitoring“– Directive for describing what needs to be monitored
and under what conditions
CCGRID, April 8, 2023 10
Main concepts used in SYBL [2/4]
„Constraint“– Directive for describing what needs to true and under
what conditions
CCGRID, April 8, 2023 11
Main concepts used in SYBL [3/4]
„Strategy“– Directive for describing how to achieve certain goals
and under what conditions
CCGRID, April 8, 2023 12
Main concepts used in SYBL [4/4]
Other constructs: predefined functions and environment variables
CCGRID, April 8, 2023 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
CCGRID, April 8, 2023 14
Examples of SYBL Elasticity Controls
SYBL elasticity requirements – cloud customer
Possible conflict?• Cost targeted by
different users at different levels
• Different constraints
No conflict• Cost at application
level ≠ Cost at component level ≠
Cost at programming level
CCGRID, April 8, 2023 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)
– ...
CCGRID, April 8, 2023 16
SYBL Runtime1. SYBL directives inserted in application
2. The SYBL elasticity requirements are captured andtransformed into calls towards the Local Service
3. The elasticity requirements are enforced locally if possible, otherwise they are sent to the Control Service
4. The Cloud Service uses the Monitoringand Enforcement API for communicatingwith Cloud APIs and Monitoring tools
CCGRID, April 8, 2023 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
CCGRID, April 8, 2023 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
CCGRID, April 8, 2023 19
Experiments – SYBL Elasticity Requirements Description [2/2]
Goal: fine-grained elasticity requirements specification at programming level
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
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 bySYBL strategies
CCGRID, April 8, 2023 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/prototy
pes.html Future work
– Extend our implementation of the SYBL runtime stack– Utilize SYBL for various types of applications
CCGRID, April 8, 2023 23
Thanks for your attention!
Georgiana Copil
[email protected]://www.infosys.tuwien.ac.at/staff/ecopil/
Distributed Systems GroupVienna University of TechnologyAustria
CCGRID, April 8, 2023 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
CCGRID, April 8, 2023 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)