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.
COMOT – Platform-as-a-Service for
Software-defined Elastic Systems
Hong-Linh Truong
Distributed Systems Group
Vienna Unive...
Joint work with:
Georgiana Copil, Schahram Dustdar,
Alessio Gambi, Waldemar Hummer,
Duc-Hung Le, Daniel Moldovan, Oliver
M...
Outline
 Motivation
 Fundamental building blocks for software-
defined elastic systems
 Programming, deploying, control...
Recall - Elasticity in computing
1. Demand elasticity
Elastic demands from consumers
2. Output elasticity
Multiple outputs...
Motivation (1)
 Multi-dimensional elasticity is the fundamental
requirement for native cloud services
 resource elastici...
Service
Developer
Infrastructure
Provider
Service
Owner
Service
Developer
Designing and
programming software-
defined elas...
Elasticity
Metrics
Elasticity
Requirements
Elasticity capabilities
(e.g. scale IN/OUT)
So what need to be done? A simple
v...
Fundamental building blocks for
the elasticity
 Conceptualizing and modeling elastic objects and
execution environments
...
Elastic service units as cloud
programming objects
SummerSOC 2014, Hersonissos,
Crete, Greece, 1 July, 2014
9
Modeling typ...
Need to model/capture elasticity
primitive operations
SummerSOC 2014, Hersonissos,
Crete, Greece, 1 July, 2014
10
Programming: example of software-
defined elastic systems (SESs)
Load balancer
t1.micro EBS
+ i2.xlarge EBS+
...
Cost:
/ho...
Deploying, Control, Monitoring and
Testing
 Runtime configuration
 Complex services at multiple software stacks (IaaS,
P...
Deploying, Control, Monitoring and
Testing
 Elasticity monitoring and analysis
 Utilize low-level metrics to build „Elas...
SOME TECHNIQUES – THE
VIENNA WAY
SummerSOC 2014, Hersonissos,
Crete, Greece, 1 July, 2014
14
Programming elasticity:
Quantifying elasticity
SummerSOC 2014, Hersonissos,
Crete, Greece, 1 July, 2014
15
 Quantifying f...
Programming Elasticity:
Recommend elastic service units
Cloud
ecosystems
SummerSOC 2014, Hersonissos,
Crete, Greece, 1 Jul...
Programming Elasticity: Elasticity
Quantifying functions
Elasticity Phase Quantification Coefficients
𝐸𝑙𝑃ℎ𝑎𝑠𝑒𝑄 𝑝 =
𝑣𝑖 ∶ 𝑖𝑓...
Programming: domain specific
languages
SummerSOC 2014, Hersonissos,
Crete, Greece, 1 July, 2014
18
The
programmer
does not...
Runtime deployment and
configuration
 Multi-cloud, multi-stack, complex topologies
 Well-defined APIs for manipulating a...
High level Elasticity control
SYBL (Simple Yet Beautiful
Language) for specifying
elasticity requirements
SYBL-supported r...
Configurations for multiclouds
SummerSOC 2014, Hersonissos,
Crete, Greece, 1 July, 2014
21
..
<ServiceElasticityPrimitives...
Mapping Services Structures to
Elasticity Metrics
SummerSOC 2014, Hersonissos,
Crete, Greece, 1 July, 2014
22
Elasticity d...
Elasticity Analysis for Cloud
Services Moldovan D., G. Copil,Truong H.-L., Dustdar S. (2013). MELA:
Monitoring and Analyzi...
Learning elasticity behavior
We need to learn elasticity behaviors and use
them for controlling cloud services
Georgiana C...
Software-defined
Elastic System
Programming
Software-defined
Elastic System
Programming
Tooling – Elasticity
Programming i...
CoMoT (2)
 CoMoT is built atop:
 QUELLE, rSYBL, MELA, SALSA, AutoCles
 Work on multi-cloud environments
 Parts of comp...
QUELLE – QUantifying ELasticity
utiLity Engine
SummerSOC 2014, Hersonissos,
Crete, Greece, 1 July, 2014
27
Daniel Moldovan...
SALSA - the deployment framework
https://github.com/tuwiendsg/SALSAhttps://github.com/tuwiendsg/SALSA
SummerSOC 2014, Hers...
rSYBL – Elasticity Control Engine
SummerSOC 2014, Hersonissos,
Crete, Greece, 1 July, 2014
29
MELA -- Elasticity Monitoring as a
Service
Daniel Moldovan, Georgiana Copil, Hong-Linh Truong, Schahram Dustdar, MELA: Mon...
Software-defined
Elastic System
Description
Deployment
Multi-Level Elasticity Control
CoMoT – Support
all phases for
elast...
SEE THE FOLLOW-UP DEMO
SummerSOC 2014, Hersonissos,
Crete, Greece, 1 July, 2014
32
Conclusions and future work
 Native cloud applications need novel toolsets
 Design, deployment, control, monitoring and ...
Thanks for your attention!
Hong-Linh Truong
Distributed Systems Group
TU Wien
truong@dsg.tuwien.ac.at
dsg.tuwien.ac.at/res...
Upcoming SlideShare
Loading in …5
×

COMOT – Platform-as-a-Service for Software-defined Elastic Systems

625 views

Published on

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

COMOT – Platform-as-a-Service for Software-defined Elastic Systems

  1. 1. COMOT – Platform-as-a-Service for Software-defined Elastic Systems Hong-Linh Truong Distributed Systems Group Vienna University of Technology truong@dsg.tuwien.ac.at http://dsg.tuwien.ac.at/research/viecom/ SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 1
  2. 2. Joint work with: Georgiana Copil, Schahram Dustdar, Alessio Gambi, Waldemar Hummer, Duc-Hung Le, Daniel Moldovan, Oliver Moser, Tien-Dung Nguyen SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 2 NOTE: The content includes some ongoing work Acknowledgements
  3. 3. Outline  Motivation  Fundamental building blocks for software- defined elastic systems  Programming, deploying, controlling, monitoring and testing elasticity  CoMoT architecture and its services  Demo (next talk)  Conclusions and future work SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 3
  4. 4. Recall - Elasticity in computing 1. Demand elasticity Elastic demands from consumers 2. Output elasticity Multiple outputs with different price and quality 3. Input elasticity Elastic data inputs, e.g., deal with opportunistic data 4. Elastic pricing and quality models associated resources SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 4
  5. 5. Motivation (1)  Multi-dimensional elasticity is the fundamental requirement for native cloud services  resource elasticity, cost elasticity and quality elasticity  But fragmented support on engineering elasticity requirements, execution, monitoring and testing, e.g.,  Only at resource elasticity at the IaaS level  Lack of elasticity monitoring for applications  Testing is not integrated with other phases  Elasticity within single clouds SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 5
  6. 6. Service Developer Infrastructure Provider Service Owner Service Developer Designing and programming software- defined elastic services Designing and programming software- defined elastic services Automatic deployment and configuration Automatic deployment and configuration Elasticity monitoring and analysis Elasticity monitoring and analysis Elasticity ControlElasticity Control Service Owner Infrastructure Provider Service Owner Easy to program elasticity requirements Reduced time to market, easy to reconfigure + Easy to understand service’s elasticity boundaries + Maintains service’s performance while reducing cost Reduces resources overprovisioning + Motivation (2) SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 6 Native cloud service engineering
  7. 7. Elasticity Metrics Elasticity Requirements Elasticity capabilities (e.g. scale IN/OUT) So what need to be done? A simple view SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 7 Programming and deploying services
  8. 8. Fundamental building blocks for the elasticity  Conceptualizing and modeling elastic objects and execution environments  So we can manage diverse types of artifacts and their runtime in a similar manner  Defining and capturing elasticity primitive operations associated with elastic objects and environments  Recommending and Programming elastic objects  a software-defined elastic system (SES) is built from elastic objects  Runtime deploying, control, monitoring and testing techniques for elastic objects SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 8
  9. 9. Elastic service units as cloud programming objects SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 9 Modeling type of units (e.g., computation, data, monitoring,) and their dependencies Consumption, ownership, provisioning, price, etc. Elastic Service Unit Service model Unit Dependency Elastic Capability Function The functional capability of the unit and interface to access the function Capabilities to be elastic under different requirements
  10. 10. Need to model/capture elasticity primitive operations SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 10
  11. 11. Programming: example of software- defined elastic systems (SESs) Load balancer t1.micro EBS + i2.xlarge EBS+ ... Cost: /hours & / GB ? Cost: - OnDemand - Spot - Reserved (1/3 years) Cost: /size/month Cost: - OnDemand - Reserved (1/3 years) Cost: /size/month Greater cost elasticity Mandatory association with EBS ( Elastic Block Store) Greater cost elasticity Optional association with EBS( Elastic Block Store) SummerSOC 2014, Hersonissos, Crete, Greece, 11
  12. 12. Deploying, Control, Monitoring and Testing  Runtime configuration  Complex services at multiple software stacks (IaaS, PaaS and application)  Interfaces with different low-level deployment techniques  Different interactions between deploying and control and monitoring components  Control elasticity  Using a high-level specification for specifying elasticity requirements, constraints and strategies  Based on SYBL/rSYBL ([CCGrid 2013]) SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 12
  13. 13. Deploying, Control, Monitoring and Testing  Elasticity monitoring and analysis  Utilize low-level metrics to build „Elasticity Space“ and analyze the elasticity based on such spaces (based on MELA – [CloudCom 2013])  Monitoring/analysis at multiple levels level (single unit, topology/group, and the whole service  Testing elasticity  Using clouds to test cloud applications as well as to test elasticity properties of cloud applications [ASE2013, IC2014] SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 13
  14. 14. SOME TECHNIQUES – THE VIENNA WAY SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 14
  15. 15. Programming elasticity: Quantifying elasticity SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 15  Quantifying functions and configuration recommendation functions can be used by software development tools Daniel Moldovan, Georgiana Copil, Hong-Linh Truong, Schahram Dustdar, QUELLE – a Framework for Accelerating the Development of Elastic Systems, ESOCC 2014. September 2014 Daniel Moldovan, Georgiana Copil, Hong-Linh Truong, Schahram Dustdar, QUELLE – a Framework for Accelerating the Development of Elastic Systems, ESOCC 2014. September 2014
  16. 16. Programming Elasticity: Recommend elastic service units Cloud ecosystems SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 16 Elastic services to be developed Daniel Moldovan, Georgiana Copil, Hong-Linh Truong, Schahram Dustdar, QUELLE – a Framework for Accelerating the Development of Elastic Systems, ESOCC 2014. September 2014 Daniel Moldovan, Georgiana Copil, Hong-Linh Truong, Schahram Dustdar, QUELLE – a Framework for Accelerating the Development of Elastic Systems, ESOCC 2014. September 2014
  17. 17. Programming Elasticity: Elasticity Quantifying functions Elasticity Phase Quantification Coefficients 𝐸𝑙𝑃ℎ𝑎𝑠𝑒𝑄 𝑝 = 𝑣𝑖 ∶ 𝑖𝑓 𝑝 = 𝐼𝑛𝑠𝑡𝑎𝑛𝑡𝑖𝑎𝑡𝑖𝑜𝑛 𝑇𝑖𝑚𝑒 𝑣𝑟 ∶ 𝑖𝑓 𝑝 = 𝑅𝑢𝑛 𝑇𝑖𝑚𝑒 𝑣𝑖𝑟 ∶ 𝑖𝑓 𝑝 = 𝐵𝑜𝑡ℎ Elasticity Dependency Type Quantification Coefficients 𝐸𝑙𝐷𝑒𝑝𝑒𝑛𝑑𝑒𝑛𝑐𝑦𝑄 𝑑𝑒𝑝 = 𝑣 𝑜 ∶ 𝑖𝑓 𝑑𝑒𝑝 = 𝑂𝑝𝑡𝑖𝑜𝑛𝑎𝑙 𝐴𝑠𝑠𝑜𝑐𝑖𝑎𝑡𝑖𝑜𝑛 𝑣 𝑚 ∶ 𝑖𝑓 𝑑𝑒𝑝 = 𝑀𝑎𝑛𝑑𝑎𝑡𝑜𝑟𝑦 𝐴𝑠𝑠𝑜𝑐𝑖𝑎𝑡𝑖𝑜𝑛 Elasticity Dependency Volatility Quantification Coefficients 𝑉𝑜𝑙𝑎𝑡𝑖𝑙𝑖𝑡𝑦𝑄(𝑑𝑒𝑝) Elasticity Capability Quantification Function 𝐸𝐶𝑄 𝐶 = 𝐸𝑙𝑃ℎ𝑎𝑠𝑒𝑄 𝐶. 𝑝ℎ𝑎𝑠𝑒 ∗ 𝑑𝑒𝑝 ∈𝐶.𝑑𝑒𝑝𝑒𝑛𝑑𝑒𝑛𝑐𝑖𝑒𝑠 𝑉𝑜𝑙𝑎𝑡𝑖𝑙𝑖𝑡𝑦𝑄 𝑑𝑒𝑝 ∗ 𝐸𝑙𝐷𝑒𝑝𝑒𝑛𝑑𝑒𝑛𝑐𝑦𝑄(𝑑𝑒𝑝) Elasticity Quantification Function 𝐸𝑄 𝑆 = 𝐷 ∈ 𝑐𝑜𝑠𝑡, 𝑞𝑢𝑎𝑙𝑖𝑡𝑦, 𝑟𝑒𝑠𝑜𝑢𝑟𝑐𝑒, 𝑊 𝐷 ∗ 𝐶 ∈𝐷.𝑐𝑎𝑝𝑎𝑏𝑖𝑙𝑖𝑡𝑖𝑒𝑠 𝐸𝐶𝑄 𝐶 SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 17
  18. 18. Programming: domain specific languages SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 18 The programmer does not want to deal with all types of nodes/artifacts
  19. 19. Runtime deployment and configuration  Multi-cloud, multi-stack, complex topologies  Well-defined APIs for manipulating and provisioning objects  Support different types of objects, e.g., VMs, services, IoT sensors, gateways, SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 19
  20. 20. High level Elasticity control SYBL (Simple Yet Beautiful Language) for specifying elasticity requirements SYBL-supported requirement levels Cloud Service Level Service Topology Level Service Unit Level Relationship Level Programming/Code Level #SYBL.CloudServiceLevel Cons1: CONSTRAINT responseTime < 5 ms Cons2: CONSTRAINT responseTime < 10 ms WHEN nbOfUsers > 10000 Str1: STRATEGY CASE fulfilled(Cons1) OR fulfilled(Cons2): minimize(cost) #SYBL.ServiceUnitLevel Str2: STRATEGY CASE ioCost < 3 Euro : maximize( dataFreshness ) #SYBL.CodeRegionLevel Cons4: CONSTRAINT dataAccuracy>90% AND cost<4 Euro #SYBL.CloudServiceLevel Cons1: CONSTRAINT responseTime < 5 ms Cons2: CONSTRAINT responseTime < 10 ms WHEN nbOfUsers > 10000 Str1: STRATEGY CASE fulfilled(Cons1) OR fulfilled(Cons2): minimize(cost) #SYBL.ServiceUnitLevel Str2: STRATEGY CASE ioCost < 3 Euro : maximize( dataFreshness ) #SYBL.CodeRegionLevel Cons4: CONSTRAINT dataAccuracy>90% AND cost<4 Euro Georgiana Copil, Daniel Moldovan, Hong-Linh Truong, Schahram Dustdar, "SYBL: an Extensible Language for Controlling Elasticity in Cloud Applications", 13th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), May 14-16, 2013, Delft, Netherlands Georgiana Copil, Daniel Moldovan, Hong-Linh Truong, Schahram Dustdar, "SYBL: an Extensible Language for Controlling Elasticity in Cloud Applications", 13th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), May 14-16, 2013, Delft, Netherlands SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 20
  21. 21. Configurations for multiclouds SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 21 .. <ServiceElasticityPrimitives id="FCO" ServiceProvider="Flexiant FCO"> <ElasticityPrimitive id="ScaleIn" name="Remove VM" parameters=""/> <ElasticityPrimitive id="ScaleOut" name="Create new VM" parameters=""/> <ElasticityPrimitive id="AllocateIP" name="Allocate public IP" parameters="UUID"/> <ElasticityPrimitive id="AttachDisk" name="Attach NewDisk" parameters="UUID"> … <PrimitiveDependency dependencyType="AFTER_ENFORCEMENT" primitiveID="Reboot"/> … MultipleEnforcementPlugins = flexiant:at.ac.tuwien.dsg.rSybl.cloudInteractionUnit.enfor cementPlugins.flexiant.EnforcementFlexiantAPI, openstack:at.ac.tuwien.dsg.rSybl.cloudInteractionUnit.en forcementPlugins.openstack.EnforcementOpenstackAPI Configuraring low- level Plug-ins to work with multiple clouds Configuraring and capturing elasticity primitive operations associated with service units
  22. 22. Mapping Services Structures to Elasticity Metrics SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 22 Elasticity directives can be changed at runtime
  23. 23. Elasticity Analysis for Cloud Services Moldovan D., G. Copil,Truong H.-L., Dustdar S. (2013). MELA: Monitoring and Analyzing Elasticity of Cloud Service. CloudCom 2013 Moldovan D., G. Copil,Truong H.-L., Dustdar S. (2013). MELA: Monitoring and Analyzing Elasticity of Cloud Service. CloudCom 2013 Elasticity space functions: to determine if a service unit/service is in the “elasticity behavior” Elasticity space functions: to determine if a service unit/service is in the “elasticity behavior” Elasticity Pathway functions: to characterize the elasticity behavior from a general/particular view Elasticity Pathway functions: to characterize the elasticity behavior from a general/particular view Elasticity Space SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 23
  24. 24. Learning elasticity behavior We need to learn elasticity behaviors and use them for controlling cloud services Georgiana Copil, Demetris Trihinas, Hong-Linh Truong, Daniel Moldovan, George Pallis, Schahram Dustdar, Marios Dikaiakos, ADVISE – a Framework for Evaluating Cloud Service Elasticity Behavior. May 2014. On Submission Georgiana Copil, Demetris Trihinas, Hong-Linh Truong, Daniel Moldovan, George Pallis, Schahram Dustdar, Marios Dikaiakos, ADVISE – a Framework for Evaluating Cloud Service Elasticity Behavior. May 2014. On Submission SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 24
  25. 25. Software-defined Elastic System Programming Software-defined Elastic System Programming Tooling – Elasticity Programming in Cloud Systems Elastic Service Ecosystem and Recommendation Elastic Service Ecosystem and Recommendation DeploymentDeployment Deployment Service Deployment Service Test Generating and Execution Test Generating and Execution Elastic Test Service Elastic Test Service deploy SDS/ service units deploy elasticity controller and monitor Elasticity Analysis Elasticity Analysis deploy test cases ElasticizingElasticizing Elasticity Monitoring and Analysis Elasticity Monitoring and Analysis Elasticity Control Elasticity Control test control monitor CoMoT PaaS Core Services Multi-Cloud Environments Service Ecosystems Service Artifact Repository Service units CoMoT (1) SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 25 Hong-Linh Truong et al., "CoMoT – A Platform-as-a-Service for Elasticity in the Cloud", IEEE International Workshop on the Future of PaaS. Colocated with IC2E 2014 Hong-Linh Truong et al., "CoMoT – A Platform-as-a-Service for Elasticity in the Cloud", IEEE International Workshop on the Future of PaaS. Colocated with IC2E 2014
  26. 26. CoMoT (2)  CoMoT is built atop:  QUELLE, rSYBL, MELA, SALSA, AutoCles  Work on multi-cloud environments  Parts of complex applications are deployed in different clouds  GIT: https://github.com/tuwiendsg and https://github.com/whummer/AUToCLES SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 26
  27. 27. QUELLE – QUantifying ELasticity utiLity Engine SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 27 Daniel Moldovan, Georgiana Copil, Hong-Linh Truong, Schahram Dustdar, QUELLE – a Framework for Accelerating the Development of Elastic Systems, ESOCC 2014. September 2014 Daniel Moldovan, Georgiana Copil, Hong-Linh Truong, Schahram Dustdar, QUELLE – a Framework for Accelerating the Development of Elastic Systems, ESOCC 2014. September 2014
  28. 28. SALSA - the deployment framework https://github.com/tuwiendsg/SALSAhttps://github.com/tuwiendsg/SALSA SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 28 Support cloud services at data centers and IoT environments
  29. 29. rSYBL – Elasticity Control Engine SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 29
  30. 30. MELA -- Elasticity Monitoring as a Service Daniel Moldovan, Georgiana Copil, Hong-Linh Truong, Schahram Dustdar, MELA: Monitoring and Analyzing Elasticity of Cloud Services. CloudCom 2013 Daniel Moldovan, Georgiana Copil, Hong-Linh Truong, Schahram Dustdar, MELA: Monitoring and Analyzing Elasticity of Cloud Services. CloudCom 2013 SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 30
  31. 31. Software-defined Elastic System Description Deployment Multi-Level Elasticity Control CoMoT – Support all phases for elasticity engineering of cloud software services SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 31
  32. 32. SEE THE FOLLOW-UP DEMO SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 32
  33. 33. Conclusions and future work  Native cloud applications need novel toolsets  Design, deployment, control, monitoring and testing of elasticity in interwoven engineering phases  CoMoT introduces concepts of elastic objects and fundamental building blocks for engineering an end- to-end elasticity for cloud services  Future works  DSL for elastic objects  Further work on hot deployment and configuration under elasticity control  Testing elasticity dependencies SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 33
  34. 34. Thanks for your attention! Hong-Linh Truong Distributed Systems Group TU Wien truong@dsg.tuwien.ac.at dsg.tuwien.ac.at/research/viecom SummerSOC 2014, Hersonissos, Crete, Greece, 1 July, 2014 34

×