HAL Id: hal-01011039
https://hal.inria.fr/hal-01011039
Submitted on 22 Jun 2014
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
SALOON, a Platform for Selecting and Configuring Cloud Environments
Clément Quinton, Daniel Romero, Laurence Duchien
To cite this version:
Clément Quinton, Daniel Romero, Laurence Duchien. SALOON, a Platform for Selecting and Con- figuring Cloud Environments. EIT ICT Labs Future Cloud Symposium, Jun 2014, Rennes, France.
�hal-01011039�
SALOON,'a'Pla+orm'for'Selec2ng'and' Configuring'Cloud'Environments
Clément Quinton, Daniel Romero, Laurence Duchien Inria Lille-Nord Europe, Université Lille 1, LIFL UMR CNRS 8022
Context
Problem Statement
}
SaaS PaaS IaaS
Challenges
SALOON
Perspectives
Application
Operating System Libraries, Database
Application Server
Infrastructure
- Which%cloud%environment…%
%%%%%Iaas,%PaaS
Cloud%compu3ng%has%recently%emerged%as%a%major%trend%in%distributed%
compu3ng.% This% layered% model% enables% the% configura3on% of% many%
compu3ng% resources% that% can% be% provisioned% to% support% the%
deployment%of%applica3ons,%provided%as% So@wareBasBaBService%(SaaS).%
Many% cloud% providers,% either% at% Infrastructure% (IaaS)% or% PlaHorm%
(PaaS)%level,%propose%different%services%and%pricing%models.
C₁ : find%an%environment%providing%all%func3onali3es%required%by%
the%applica3on%to%run%properly%and%that%is%suitable%regarding%nonB func3onal%requirements%for%these%func3onali3es.
C₂ : find%a%correct%configura3on%of%this%environment%regarding%
the%set%of%func3onali3es%provided%according%to%C₁.%%%
C₃ : ensure%a%reliable%way%to%configure%the%cloud%environment.
PaaSIaaS
B%Evolu3on%of%the%plaHorm B%Dynamic%So@ware%Product%Lines B%Mul3BCloud%deployment
References
Automated Selection and Configuration of Cloud Environments Using Software Product Lines Principles. Clément Quinton, Daniel Romero and Laurence Duchien. In Proceedings of the 7th IEEE International Conference on Cloud Computing, CLOUD'14. Anchorage, USA. Acceptance rate: 20%.
Acknowledgments: this work is partially supported by the EU FP7 PaaSage project Features
Selection 2
Application Server
Cloud
Database
SQL NoSQL
Tomcat Jetty
Variability)Model
Application Server
Cloud
Database
SQL NoSQL
Tomcat Jetty
Product)configura4on
Assets
{"id":&"SensApp",
&&"nodeTypes":&[{&"id":&"t14micro",
& &&&&&&&&"os":&"GNULinux",
& &&&&&&&&&… }&],
&&"artefactTypes":&[
{"id":&"NoSQL",
&"retrieval":&"wget&http://cloudml.org/services/nosql.sh",
&"deployment":&"sudo&nosql.sh",
&"provides":&[{&"id":&"NoSQLDB"&}]&&}, {"id":&"Jetty",
&"retrieval":&"wget&http://cloudml.org/services/jetty.sh",
&"deployment":&"sudo&jetty.sh",
&"provides":&[{&"id":&"JettyContainer"&}]&&},
&
{"id":&"SensApp",
&…
&"deployment":&"sudo&sensapp.sh",
&"requires":&[{&"id":&"JettyContainer"&},
&&&&&&&&&&&&&&{&"id":&"NoSQLDB"&}]&&}
] }&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&...
{"id":&"SensApp",
&&"nodeTypes":&[{&"id":&"t14micro",
&&&&&&&&&"os":&"GNULinux",
&&&&&&&&&&… }&],
&&"artefactTypes":&[
{"id":&"NoSQL",
&"retrieval":&"wget&http://cloudml.org/services/nosql.sh",
&"deployment":&"sudo&nosql.sh",
&"provides":&[{&"id":&"NoSQLDB"&}]&&}, {"id":&"Jetty",
&"retrieval":&"wget&http://cloudml.org/services/jetty.sh",
&"deployment":&"sudo&jetty.sh",
&"provides":&[{&"id":&"JettyContainer"&}]&&},
&
{"id":&"SensApp",
&…
&"deployment":&"sudo&sensapp.sh",
&"requires":&[{&"id":&"JettyContainer"&},
&&&&&&&&&&&&&&{&"id":&"NoSQLDB"&}]&&}
] }&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&...
{"id":&"SensApp",
&&"nodeTypes":&[{&"id":&"t14micro",
& &&&&&&&&"os":&"GNULinux",
& &&&&&&&&&… }&],
&&"artefactTypes":&[
{"id":&"NoSQL",
&"retrieval":&"wget&http://cloudml.org/services/nosql.sh",
&"deployment":&"sudo&nosql.sh",
&"provides":&[{&"id":&"NoSQLDB"&}]&&}, {"id":&"Jetty",
&"retrieval":&"wget&http://cloudml.org/services/jetty.sh",
&"deployment":&"sudo&jetty.sh",
&"provides":&[{&"id":&"JettyContainer"&}]&&},
&
{"id":&"SensApp",
&…
&"deployment":&"sudo&sensapp.sh",
&"requires":&[{&"id":&"JettyContainer"&},
&&&&&&&&&&&&&&{&"id":&"NoSQLDB"&}]&&}
] }&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&...
{"id":&"SensApp",
&&"nodeTypes":&[{&"id":&"t14micro",
&&&&&&&&&"os":&"GNULinux",
&&&&&&&&&&… }&],
&&"artefactTypes":&[
{"id":&"NoSQL",
&"retrieval":&"wget&http://cloudml.org/services/nosql.sh",
&"deployment":&"sudo&nosql.sh",
&"provides":&[{&"id":&"NoSQLDB"&}]&&}, {"id":&"Jetty",
&"retrieval":&"wget&http://cloudml.org/services/jetty.sh",
&"deployment":&"sudo&jetty.sh",
&"provides":&[{&"id":&"JettyContainer"&}]&&},
&
{"id":&"SensApp",
&…
&"deployment":&"sudo&sensapp.sh",
&"requires":&[{&"id":&"JettyContainer"&},
&&&&&&&&&&&&&&{&"id":&"NoSQLDB"&}]&&}
] }&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&...
Composi4on
So#ware(Product(Line(A(
Requirements Specification
Configuration Analysis
configuration
Cloud A
Cloud i
Cloud N
...
...
1
4 5
3
defines : Manual Tasks
: Automated Tasks Domain
Expert
defines
Domain Expert Developer
Developer
SPL(i(
SPL(N(
A(
...
executes
B%…%based%on%which%criteria%?
%%%%%Price,%performance,%reliability...
B%How%to%configure%?
%%%%%manually% %error7prone
Feature Model A