CloudML and self-adaptive
cloud-based applications
Alessandro Rossini INF5120
s
• Largest research organisation in Scandinavia
• Technology, Medicine, Social Science
• Headquarters in Trondheim and Oslo
• Offices in Norway, Denmark, USA, Brazil, Chile
• 2100 employees from 70 countries
• 1000 employees holding a Ph.D.
Alessandro Rossini
Education
• 2004-2006 M.Sc., University of L'Aquila, Italy University of Bergen, Norway • 2008-2011 Ph.D., University of Bergen, Norway Employment
• 2007 Software engineer, Integrator, Bergen • 2008-2012 Research fellow, University of Bergen • 2012 Lecturer, Bergen University College • 2012- Research scientist, SINTEF, Oslo
Cloud computing explained
Cloud computing
A computing model enabling ubiquitous network access to a shared and virtualised pool of
computing capabilities (e.g., network, storage, processing, and memory) that can be rapidly provisioned with minimal management effort
Applica'ons Data Run-‐'me OS Virtualisa'on Servers Storage Network Applica'ons Data Run-‐'me OS Virtualisa'on Servers Storage Network Applica'ons Data Run-‐'me OS Virtualisa'on Servers Storage Network Consume r Pro vi der Consume r Pro vi der Pro vi der
Cloudify Foundry Cloud Scalr
jclouds Simple Cloud Deltacloud
Amazon
AWS OpenStack vCloud
Amazon AWS Rackspace IBM SmartCloud Terramark … … … … Frameworks Libraries Stacks PaaS IaaS
Benefits
• Scalability
• Performance
• Availability
Challenges
• Heterogeneity • Incompatibility • Lack of standards • Vendor lock-in • Self-adaptationWed, 19 Feb
Facebook acquires WhatsApp
Sat, 22 Feb
1.8 million users
register to Telegram…
Self-adaptive cloud-based applications
Cloud-based applications that self-adapt to changes in environment and requirements
Dynamically adaptive systems
• Continuous design and adaptation
• Short-term changes in execution environment
CloudML
• Domain-specific language (DSL) for modelling the provisioning and deployment of multi-cloud applications at design-time
• Models@run-time environment for enacting the provisioning and deployment of these
Flexiant [loca'on: UK]
SINTEF (OpenStack) [loca'on: NO] No'fier Tomcat:SC SL:VM Dispatcher Tomcat:SC LL:VM MongoDB VM: Virtual machine SC: Servlet container LB: Load balancer SL: Small GNU/Linux ML: Medium GNU/Linux LL: Large GNU/Linux [elas'city: 1..4 response 'me < 50ms] [elas'city: 1..8] [elas'city: 1..8]
Models@run-time
• Model causally connected to the running system
• A change in the model is reflected on-demand in the running system
• A change in the running system is automatically reflected in the model
Models@run-‐.me
Execu'on environments
Current
model Adapta'on engine
Reasoning engine
Target model
Flexiant [loca'on: UK]
SINTEF (OpenStack) [loca'on: NO] LB LB LB 1:No'fier 2:Tomcat 1:SL 1:Dispatcher 1:Tomcat 1:LL 1:MongoDB 2:MongoDB VM: Virtual machine SC: Servlet container LB: Load balancer SL: Small GNU/Linux ML: Medium GNU/Linux LL: Large GNU/Linux
Run-time deployment model
Flexiant [loca'on: UK]
SINTEF (OpenStack) [loca'on: NO] LB LB LB 1:No'fier 2:Tomcat 1:SL 1:Dispatcher 1:Tomcat 1:LL 1:MongoDB 2:MongoDB VM: Virtual machine SC: Servlet container LB: Load balancer SL: Small GNU/Linux ML: Medium GNU/Linux LL: Large GNU/Linux
Run-time deployment model
Flexiant [loca'on: UK]
SINTEF (OpenStack) [loca'on: NO] LB LB LB 1:No'fier 2:Tomcat 1:SL 1:Dispatcher 1:Tomcat 2:Dispatcher 3:Tomcat 1:LL 1:MongoDB 2:MongoDB VM: Virtual machine SC: Servlet container LB: Load balancer SL: Small GNU/Linux ML: Medium GNU/Linux LL: Large GNU/Linux
Run-time deployment model
Flexiant [loca'on: UK]
SINTEF (OpenStack) [loca'on: NO] LB LB LB 1:No'fier 2:Tomcat 2:No'fier 4:Tomcat 1:SL 1:Dispatcher 1:Tomcat 2:Dispatcher 3:Tomcat 1:LL 1:MongoDB 2:MongoDB VM: Virtual machine SC: Servlet container LB: Load balancer SL: Small GNU/Linux ML: Medium GNU/Linux LL: Large GNU/Linux
Run-time deployment model
Resources
• cloudml.org