16/06/14 D. Donsez, CAL & CIEL 2014 1
CAL CIEL 2014
Conférence francophone sur l'Architecture Logicielle + Conférence en IngénieriE du Logiciel
http://cal2014.enseeiht.fr/
Internet des Choses,
Cloud Computing et Big Data :
nouvelles frontières pour le Génie Logiciel
Didier Donsez
Université de Grenoble LIG / ERODS
[email protected]
From Processing.org
16/06/14 ERODS 2014 2
LIG ERODS
●
LIG Laboratoire d'Informatique de Grenoble
–
UMR CNRS, UJF, GINP, UPMF, INRIA
–
Computer Sciences and ICT
–
Up to 500 researchers and PhD students
●
ERODS
–
Distributed Systems
–
Middleware
–
Autonomic Computing
–
Benchmarks
–
Software Engineering
Cloud Computing Big Data Analytics
Internet of (Every)Things
16/06/14 D. Donsez, CAL & CIEL 2014 5
Sommaire
●
Nouveaux domaines
– Cloud Computing
– Big Data Analytics
– Internet des Choses et du reste
– A l'intersection …
●
Et le Génie Logiciel dans tout ça !
●
Des exemples chez ERODS
– Roboconf
– CIRUS
16/06/14 D. Donsez, CAL & CIEL 2014 6
« Nouveaux » domaines pour l’ingénierie logicielle
●
Cloud Computing
●
Big Data Analytics
●
Internet des Choses et du reste
●
Réseaux sociaux
●
Mobile computing
●
Crowd sourcing
●
Open data
●
...
16/06/14 D. Donsez, CAL & CIEL 2014 7
Le Cloud Computing L'informatique en nuage
Présentations et videos sur http://erods.liglab.fr/icar2013/
8
Pari d'Amazon
●
In f r a s t ru c t u re in f o rm a t iq u e ( s u r) d im e n s io n n é e pour les piques de visite (Noël, …)
●
Sous-utilisé à 80 % le restant du temps
→ Idée en 2007 : louer CPU et Stockage lors
des périodes creuses.
9
Extrait de : Forester Research James Staten, with Simon Yates, F. E. G. (2008)
Evolution de l'hébergement
10
Définition (parmi d'autres) du Cloud
●
Ensemble de ressources/applications/services
s'exécutant dans un environnement distribué, accessible via les protocoles web standards, et dont l'ensemble
fournit un service ayant les caractéristiques suivantes :
–
Paiement à l'usage
●
Fonction de la durée et de la quantité d'utilisation
–
Illusion d'une infinité de ressources (scalabilité)
–
Abstraction de l'infrastructure matérielle
● Virtualisation système, Virtualisation langage
–
Mutualisation entre plusieurs clients
● Le multi-tenant
From http://erods.liglab.fr/icar2013/
11
Modèle économique et tarifaire
●
Gratuité (période d'essai)
●
Pay-per-use (durée et quantité de ressources utilisées)
–
Bande passante (interne au cloud, vers/depuis l'extérieur)
–
# I/O sur disque
–
CPU time, clock wall
–
Quantité de mémoire RAM
●
Souscription mensuelle/annuelle
–
Niveaux SLA/QoS
–
Plafonds
●
Enchère
–
Spot VMs
●
Revendeurs
–
Tiers utilisant le cloud pour leur client
From http://erods.liglab.fr/icar2013/
12
Apports du Cloud
Allocation/dés-allocation rapide (à la demande) de ressources
Aucune procédure administrative
Accessible de partout via un navigateur
24/7
Facilité d'utilisation
TCO moins élevé
Moins de personnel
Pas de parc informatique interne à gérer
Paiement à l'usage
Ouvert à tous
Pas d'investissements initiaux importants
Fonctionnement versus Investissement
From http://erods.liglab.fr/icar2013/
13
Les défis du Cloud
S é c u r ité & C o n fia n c e
Garantie de service (SLA)
Impact énergétique
Monitoring détaillé pour la facturation
Standardisation
P o u r fa c ilite r l'in te r o p é ra b ilit é e t la p o rt a b ilité (V M s , o u tils , processus, ...)
C a s d e s a p p li c a ti o n s e t m a té ri e ls c u s to m is é s
– G r a n d s c o m p te s
– D iffici le d e le s re p ro d u ire d a n s le c lo u d (ca multi-tenant) r
From http://erods.liglab.fr/icar2013/
14
Les modèles de Cloud
●
2 typologies du Cloud
•Déploiement : quel est le degré d'intervention (en matière d'administration) de l'utilisateur dans la plate-forme
• Service : quel est le type de service qu'offre la plate-forme
Extrait de la définition du cloud fournie par la NIST (National Institute of Standards and Technology)
From http://erods.liglab.fr/icar2013/
15
Modèles de déploiement
Cloud communautaire : le cloud a été mis sur pied pour fournir un service commun à un ensemble d'entreprises. Ex. : UnivCloud.
Cloud privé : le cloud a été mis sur pied par une entreprise et son accès est restreint aux membres de cette entreprise.
Cloud publique : le cloud a été mis sur pied par une entreprise pour en faire un business en l'ouvrant à des personnes
extérieures. Ex. : Amazon web services, Microsoft Azure, Eolas, etc.
Cloud hybride : c'est une combinaison entre un cloud privé et plusieurs cloud publiques. Cloud bursting
From http://erods.liglab.fr/icar2013/
16
Modèles de services
IaaS : Le cloud fournit un service de stockage et de calcul virtualisé
• Ex. : Amazon EC2, Windows Azure, etc.
PaaS : le cloud fournit une plate-forme de construction et d'exécution d'applications dans l'infrastructure sous-jacente
• Ex. : Google App Engine, Windows Azure web rôle, etc.
SaaS : le cloud fournit directement l'application qu'a besoin l'utilisateur
• Ex. : Google docs, SalesForce, mbed.org
From http://erods.liglab.fr/icar2013/
18
Server SW
Modèles de service
19
Acteurs dans le Cloud
Fournisseur de cloud
–
fournit une plateforme de cloud, comprenant l'infrastructure matérielle.
–
Ex. : Amazon Web Services
Receleur/mandataire de cloud
–
agrège plusieurs plateformes de cloud, dont il n'est pas le propriétaire, afin d'en fournir une qu'il revend aux clients.
–
Ex. : RightScale
Client/Utilisateur du cloud
–
utilise directement les ressources de la plateforme de cloud.
Développeur de cloud
–
produit des outils pour le cloud.
➢
Ex. : IBM, UshareSoft
20
App Engine
Exemples de Clouds publics
16/06/14 D. Donsez, CAL & CIEL 2014 21
Big Data Analytics
Analyse de grandes masses de données
Big data is like teenage sex
●
“Big data is like teenage sex: everyone talks about it, nobody really knows how to do it,
everyone thinks everyone else is doing it, so everyone claims they are doing it…”
●
Dan Ariely, Professor at Duke University, TED
speaker
Le déluge de données
http://www.snia.org/sites/default/files2/ABDS2012/Tutorials/RobPeglar_Introduction_Analytics%20_Big%20Data_Hadoop.pdf
1ZB=10^12 GB
Informatique Décisionnelle Préoccupations Variées
http://www.snia.org/sites/default/files2/ABDS2012/Tutorials/RobPeglar_Introduction_Analytics%20_Big%20Data_Hadoop.pdf
Notre monde est dirigé par les données
●
Science
–
Data bases from astronomy, genomics, environmental data, transportation data, …
●
Humanities and Social Sciences
–
Scanned books, historical documents, social interactions data, tracking technologies like RFID, GPS …
●
Business & Commerce
–
Corporate sales, stock market transactions, census, airline traffic, …
●
Entertainment
–
Internet images, movies, MP3 files, …
●
Medicine
–
MRI & CT scans, patient records, …
4+1 grands poncifes du Big Data
Volume Velocité Variété Véracité + Valeur
27
Comment analyser
ce déluge de données ?
●
En très peu de temps
●
Pour accélérer et améliorer les prises de décision
→ Difficile à traiter avec les outils BI classiques (OLTP, OLAP, …)
Nouveaux modèles de traitements massivement distribués
●
Milliers de nœuds de calcul (à la demande)
●
Tolérance aux pannes
→ Repenser toutes les méthodes statistiques
Modèles de calcul Big Data
●
P o s t- P ro c e s s in g B a tc h
–
TBs / PBs of stored data
●
High-latency Decision Support
→ Map Reduce
–
H a d oo p , S c iD B , S pa rk , G irap h , ...
●
Continuous Event Streaming
–
100 MB/s of live data
●
Low-latency Decision Support
→ Event Stream Processing
–
S to r m , S 4 , S a m z a , M il lw h e e l, .. .
●
Discretized Stream Processing
●
Spark Streaming
●
Map-Update
●
MUD8P
29
Map Reduce
Modèle de programmation
➢
Calcul distribué en mode batch (sur grille/cloud)
●
Deux fonctions
●
Map
➢
Organise les données en blocs
➢
Calcul des couples « clés-valeurs »
●
Reduce
➢
Utilise les couples « clés-valeurs »
➢
Effectue un calcul
●
Hadoop : implantation open source de MapReduce
●
Maître & Workers (map, reduce), HDFS pour le stockage (input/output)
●
Ecosystème : Hive, Pig, Mahout, Hbase ...
●
Pionnier : Google( 20PB par jour), Yahoo !, Amazon, Facebook …
➢
HDaaS : Hortonworks, Amazon, Azure ...
30
Map Reduce
Exemple
31
Modèle de distribution
de Map Reduce
32
Event Stream Processing
●
Tr a it e m e n t d is t r ib u é d ' u n flo t c o n tin u re d c e o r d s
– F a i b le la te n c e d e la r é p o n s e
– Tolérance aux pannes (replay)
mutable state
node 1 input
records
node 2 input
records
mutable state
node 3
node 5
Node 4
output records
33
Exemple de chaines de traitement Event Stream Processing
Trending Topics VoIPSTREAM (VS)
Twitter Sentiment Analysis (SA)
From Maycon Bordin's ms thesis
http://jameskinley.tumblr.com/post/37398560534/the-lambda-architecture-principles-for-architecting
Lambda Architecture
Nathan Marz (Twitter, Backtype)
●
Combine Low and High Latency BDA
Batch layer can compute the analytics model
of the Speed Layer
Analytical Model
36
Un métier en pleine expansion : Data Scientist
http://nirvacana.com/thoughts/becoming-a-data-scientist/
Gartner says big data creates big jobs:
4.4 million IT jobs globally to support big
d a t a b y 2 0 1 5 .
http://www.gartner.com/newsroom/id/22 07915
The U.S. could face a shortage by 2018 of 140,000 to 190,000 people with "deep analytical talent" and of 1.5 million people capable of analyzing data in ways that enable business decisions. (McKinsey &
Co)
Big Data industry is worth more than $100 billion growing at almost 10% a year
(roughly twice as fast as the software business)
Comment rendre ce « développeur » productif ?
Double profil : informaticien et maths appliquées
16/06/14 D. Donsez, CAL & CIEL 2014 38
Internet of Things Internet des Choses
Présentation sur
http://membres-liglab.imag.fr/donsez/pub/publi/intergiciels-iot.pdf
16/06/14 D. Donsez, CAL & CIEL 2014 39
Petit rappel
Niveau de compétence de l’usager moyen
Nombre de machines
Nombre
d’usagers (humains)
temps Échelle logarithmique
Ingénieur
Cadre
Ménagère de moins de
50 ans
Bébé
Senior
Teen
16/06/14 D. Donsez, CAL & CIEL 2014 41
L'Internet des Choses : la Vision
●
Mark Weiser 1991
–
The most profound technologies are those thatdisappear. They weave themselves into thefabric of everyday life until they
areindistinguishable from it
●
Kevin Ashton,1999
–
The problem is, people have limited time, attention and accuracy—
all of which means they are not very good at capturing data about
things in the real world. And that's a big deal. We're physical, and
so is our environment … If we had computers that knew everything
there was to know about things—using data they gathered without
any help from us—we would be able to track and count everything,
and greatly reduce waste, loss and cost.
16/06/14 D. Donsez, CAL & CIEL 2014 42
L'Internet des Choses (IoT)
Instrumentation Communication Médiation
Prise de Décision Action
Exploration
phones
robot RFID / NFC
SCADA
sensor nodes Industrial IoT
(IIoT)
16/06/14 D. Donsez, CAL & CIEL 2014 43
Internet(s) des choses et des trucs
●
Internet of Everything
●
Internet of People
●
Internet of My Things
●
Industrial Internet of Things (IIoT)
●
Fog Computing
●
Cyber-Physical Systems
●
...
16/06/1416/06/2014 D. Donsez, CAL & CIEL 2014 44 44
Big Picture des Applications de l'Internet des Choses
Domotique
SOHO Immotique
Bâtiment intelligent Ville
« intelligente » Echelle
géographique Portée
du réseau
WAN
MAN
LAN WLAN WSN PAN BAN
16/06/14 D. Donsez, CAL & CIEL 2014 45
Big Picture des Applications de l'IoT
16/06/14 D. Donsez, CAL & CIEL 2014 46
16/06/14
Environnement Physique
Extract Transform Load
Infrastructure IT Action
Analyse
Les Services Machine-à-Machine (M2M):
Nouvelle vague du "e-business" :
S e rv ic e s à v a le u r a jo u té e b a s é s s u r le s d is p o s itifs e n fo u ie s
Intégration sécurisée
des environnements physiques / opérationnels et des infrastructures IT
●
Support "temps réel" ( ju s t -in - tim e ) à la prise de décision
●
Intégration avec d'autres contextes d'entreprise
●
Création de nouveaux services
●
Création de nouveaux modèles économiques
16/06/14 D. Donsez, CAL & CIEL 2014 47
M2M Applications
and New Business Models
●
Transportation and chain supply
Fleet management, Car sharing, ...
●
Office appliances
Copiers, Vending machines, ...
Optimize
Behavior study (second choice is Coke is unavailable)
●
Security and Homeland security
Security camera
●
Predictive (preventive) maintenance
Leblanc boilers, Schneider Electrics, BMW ...
●
Insurance
Pay as you drive (Norwhich Union, AXA in France for business
fleet)
16/06/14 D. Donsez, CAL & CIEL 2014 48
M2M Applications
and New Business Models
...
●
Healthcare
Glycemy (blood sugar level)
Hypertension heart attack forecast
Assistive Technologies
●
Smart city
Intelligent trash can
Optimize travel according levels of all trash containers
Pay per Trash (Plastic Omnium)
Interactive Digital Signage
Pay per View (eye tracking)
●
Etc ...
16/06/14 D. Donsez, CAL & CIEL 2014 49
Grande Distribution
Cagettes de Fruits / Légumes
●
1,8 million de cagettes recyclables avec des étiquettes RFID UHF (EPC Gen2)
Plateformes de Répartition
Producteurs Fruits/Légumes
(France, Espagne)
Stations de Lavage Magasins
(1317 Super,Hyper, ...)
Images prises dans http://www.rfidjournal.com/articles/view?8933
16/06/14 D. Donsez, CAL & CIEL 2014 50
Smart Trash Can (Pay per Trash)
●
P o u b e l le ( R F ID ) → C a m i o n B e n n e ( B a la n c e + G P S )
Plastic Omnium, Rapport d'activité 2012, p 39-40.
16/06/14 D. Donsez, CAL & CIEL 2014 51
Habitat Intelligent (Smart Building)
●
Objectif : Sécurité, Sureté, Energie, Confort, Assistance, ...
●
Exemple : Canopea (v a in q u e u r S o la r D e ca th lo n 2 0 1 2 )
By courtesy GE2Lab
16/06/14 D. Donsez, CAL & CIEL 2014 52
Smart Urban Lighting
http://www.inesocompany.com/
●
Eclairage urbain
–
40 % de la facture d'électricité des villes
–
1900 milliard de kg de CO2 (4 fois les émission de la France)
●
Contrôle individuel des lampadaires urbains
–
1 sur 2,
–
gradation (LED),
–
présence,
–
« précède moi »
–
« je suis en panne » (maintenance)
–
...
16/06/14 D. Donsez, CAL & CIEL 2014 53
Multitude d'acteurs
Le photocopieur en location
●
L e p h oto c o pieu r es t in s ta llé en lo c at io n c he z le c lien t
●
Le loueur (est une organisme financier) facture mensuellement à la consommation
– Fixe mensuel + tarif par feuille
●
Le loueur sous-traite la maintenance simple à une société spécialisée
●
La société de maintenance réalise un diagnostic à distance avant d’envoyer un agent
●
L’agent de maintenance interroge sur place le logiciel de diagnostic
●
Le fabricant peut mettre à jour le logiciel embarqué
– RICOH (26% copier market share) inclut une passerelle OSGi dans ses photocopieurs (en 2006).
● http://www2.osgi.org/wiki/uploads/Conference/OSGiCommunityBushnaq.pdf
16/06/14 D. Donsez, CAL & CIEL 2014 54 (c) Didier Donsez, 2004
Customer Customer
Exemple de Scénario
Le photocopieur en location
Manufacturer Manufacturer
Renter Renter
install and start the new version
of the diagnotic tools
update the version on the panel GUI core
add a custom tab (ie plugin) to the
panel GUI
start the scanner function and the mail function of
the copier
subscribe ($€£) to the scanner function and the mail function of my copier
16/06/14 D. Donsez, CAL & CIEL 2014 55
Présent : Solutions M2M ad-hoc
●
Centré Domaine
–
Dédié (voir « fermé ») à un secteur d'activité
–
Un équipement → Un usage
●
Faible mutualisation
des infrastructures matérielles et logicielles
●
Solutions multi-acteurs/opérateurs difficiles
●
Perte d'opportunités inter-secteurs
→ Intergiciels, Méthodes Logicielles, … communes
(indépendant de domaines)
16/06/14 D. Donsez, CAL & CIEL 2014 56
Patrons d'architecture IoT récurrents
●
SOA (Service Oriented Architecture)
–
Couplage faible, Late binding
●
Evénementiel
–
Publish – Subscribe
● QoS (realtime, reliable, elastic)
●
Médiation
–
ECA (Event Condition Action)
–
CEP (Complex Event Processing)
–
EST (Event Stream Processing)
●
ETL (Extract – Transform – Load)
●
Architecture Lambda (Map-Reduce & ESP)
16/06/14 D. Donsez, CAL & CIEL 2014 57
Publish-Subscribe des Mesures
PubSub Broker PubSub
Broker Publisher
topic="s11/hum"
Publisher topic="s11/hum"
Subscriber
event.topics= {"#/location"}
Subscriber
event.topics= {"#/location"}
Publisher topic="s12/temp"
Publisher topic="s12/temp"
Publisher topic=
"s13/wind"
Publisher topic=
"s13/wind"
Subscriber
event.topics= {"#/temp","#/hum"}
Subscriber
event.topics= {"#/temp","#/hum"}
Subscriber
event.topics= {"s11/#","s13/#"}
Subscriber
event.topics= {"s11/#","s13/#"}
Subscriber
event.topics=
{"s14/#"}
Subscriber
event.topics=
{"s14/#"}
E2
E2
E3
E3
E1 E1
E1 E4
E4 E4
Publisher
topic=
"s10/geiger/pps"
Publisher
topic=
"s10/geiger/pps"
E6
Producteurs Consommateurs
16/06/14 D. Donsez, CAL & CIEL 2014 58
L'embarras du choix en PubSub
Spécifications
• OSGi Event Admin : Wire Admin
• CORBA Data Distribution Service (DDS)
• AMPQ
• AMMP
• STOMP
• MQTT
• M3DA
• XMPP IoT
• ROS (Robot Operating System)
• UPnP GENA
• PubSubHubbub
• HTTP/REST
• CoAP CORE
• Siena
● Apache Kafka
Opérateurs CloudPubSub-as-a-Service
• Xively
• Axeda
• Open.sen.se
• Thingworx
• SKYNET.im
• ClearBlade
• 2lemetry
• AirVantage
• WSO2 MB
• …
• Twitter dans une certaine mesure.
16/06/14 D. Donsez, CAL & CIEL 2014 60
A l'intersection
Cloud
Computing
Big Data Analytics
Internet
of Things
16/06/14 D. Donsez, CAL & CIEL 2014 62
IoT et Cloud Computing
UbiCloud, Cloud of Things, ...
Intérêts pour l'IoT
–
TCO, Résilience, Elasticité, Déport de calcul, « Big Data » Stream …
●
vs Confidentialité (Privacy, Propriété intellectuelle, …), Souveraineté
–
Rem : IoT introduit de nouvelles menaces dans le Cloud
●
UbiCloud
–
Clouds with/for Ubi-terminals (smartphones, tablettes, voitures, IDS, ...)
●
Cloud of Things (CoT)
–
Cloud for Things (mediation et stockage des mesures, ...)
–
Things are facilities in the FaaS
16/06/14 D. Donsez, CAL & CIEL 2014 63
Cloud of Things
Virtual/Physical Infrastructure (FaaS) Inrastructure as a Service (IaaS)
(on-demand cpu/storage/nw infrastructures)
Platform as a Service (PaaS)
(on-demand platform of delivering your own application)
Software as a Service (SaaS)
(on-demand access to any applications)
Smart Green Grid
H2
IT cooling
Deltadrone, Cloud Robotics Xively,
Axeda, Open.sen.se
16/06/14 D. Donsez, CAL & CIEL 2014 64
Big Data and IoT
Ubilytics : Ubiquitous big data analytics
●
Milliards de Capteurs : source de données
●
Sensor Big Data' 4V
●
Sensor Data Variety
●
Sensor Data Volume
●
Sensor Data Velocity
●
Sensor Data Veracity
●
Ubilytics : Ubiquitous big data analytics
–
Lambda Architecture
●
Map-Reduce
●
Event Stream Processing
–
Ubilytics-as-a-Service
–
65
Exemple d'Ubilytics
Energy Consumption Forecast
Forecasts at 1min, 5min, 15min, 60min and 120min Anticipate electricity demand
for ajusting the production (ie. save energy and avoid blackout)
16/06/14 D. Donsez, CAL & CIEL 2014 66
Et le Génie Logiciel la dedans ...
●
S o f t w a r e c r is is
– E n c o r e e t to u j o u rs ...
●
System of Systems of Systems
– Beaucoup de matériels/logiciels patrimoniaux
– Grandes variétés de technologies
●
O n e s iz e d o e s n o t f it a ll !
16/06/14 D. Donsez, CAL & CIEL 2014 67
La panoplie des outils
●
Programming Langages
– Java, Python, R, Lua, C/C++, ...
●
BPM
●
SPL
●
DSL
●
Design Pattern
●
Architectural styles
– CBSE, SOA, ...
●
Mashup and end-user programming
– Visual, IFTTT (If This Then That)
●
Software evolution support
– Continuous Integration
– Continuous Delivery
●
….
16/06/14 D. Donsez, CAL & CIEL 2014 68
Notre expérience chez ERODS
S y s t è m e s d is t rib u é s , I n t e r g ic ie ls e t G é n ie L o g ic ie l Roboconf
CIRUS en perspective
16/06/14 D. Donsez, CAL & CIEL 2014 69
Roboconf
●
Problème du déploiement et de la (re)configuration d'applications distribuées sur un multi-cloud
– Cloudify, RightScale, Scalr
●
Roboconf
–
Projet commun Linagora & ERODS
–
Liens
●
http://roboconf.net/
●
https://github.com/roboconf
16/06/14 D. Donsez, CAL & CIEL 2014 70
Cas de l'Entreprise Social Network de Linagora
●
Editeur solutions FOSS → modèle SaaS
Private cloud
operated with OpenStack
Public clouds for cloud bursting operated by Heroku, Azure, Amazon, ...
MongoDB
Node.js Redis (PubSub)
OpenLDAP
Elastic Search
LinID Debian
NPM
Git James
Giraph
Cloud Computing :
Application Administrators point of view
A S D
0) create an EC2 account and enter (company's) credit card number
1) Define a configuration
2) Start AMIs
3) Configure dependencies (@IP, port, security, firewalls …) 4) Monitor performance and usage
Time consuming Error Prone
Requests
Cloud Computing :
Application Administrators point of view
A
A
S
S D
D 0) create an EC2 account and enter (company's) credit card number 1) Define a configuration
2) Start AMIs
3) Configure dependencies (@IP, port, security, firewalls …) 4) Monitor performance and usage
5) Change the configuration
6) Start additionnal AMIs / Stop existing AMIs / Migrate AMIs 7) Re-Configure dependencies (@IP, port, security, …)
...
10) Pay monthly $$$$$ for CPU time, ...
Time consuming Error Prone
Nightmare Requests
Requests
Deployment issues
●
Multi-scale
–
From embedded (box, sensor, card...) to cloud / IaaS
–
More and more devices while IoT emerges
●
Elastic & adaptative
–
Add/remove components (eg. according to load patterns)
–
Adapt data flow (eg. load balancing)
–
Optimize (eg. co-locate)
●
Dependencies to be resolved at runtime
–
Location of components (eg. where to send data)
–
Configuration information (eg. database credentials)
Roboconf
●
Motivation
Automatic deployment/evolution of
distributed application configuration on a IaaS
●
What does it do ?
Instantiates and manages VM in the IaaS
Deploys components on those VM
Makes those components to configure each other
●
RoboConf Design Principles
–
SOA (loose-coupling, asynchronous registry)
–
Configuration Inheritance
–
Composition (Systems of Systems)
–
Configuration Evolution
–
→ DSL for describing configurations (ADL)
Roboconf DSL
Configuration Model
●
Ty p e s (in h e r ita n c e ) & I n s ta n c e s
●
Import & Export Variables → pubsub
lifecycles scripts in
BASH, PUPPET, WAR, OSGi …
Exported variables (default values)
Imported variables
(synchronized)
Children components
Exemple d'application 3-tiers
Component Types
Exemple d'application 3-tiers Component Instances
# Registry
MySQL.ip=192.162.1.4 MySQL.port=3306
Tomcat-1.ip=192.162.1.3 Tomcat-2.ip=192.162.1.2
192.162.1.1
192.162.1.2
192.162.1.3
192.162.1.4
Deployment & Configuration
PubSub vars : Act as a distributed configuration manager
AMIs Repo
Scripts Repo
Artifacts Repo
AMIs contains
a RoboConf agent
CIRUS
●
Motivation
–
Plateforme PaaS pour « Ubilytics »
–
de bout en bout
●
Depuis les capteurs jusqu'à l'architecture lambda (cloud)
–
« Simple as Possible » → dédié aux PMEs de l'IoT
●
Problème
–
Grande variété des besoins
–
Grande variété des technologies
●
Proposition
–
DSL + Génération de PaaS et SaaS dédiés
16/06/14 ERODS 2014 82
Towards "Ubilytics" PaaSs
Message Broker or MaaS or PSaaS
Mosquitto, RabbitMQ, … Protocols : MQTT, AMQP,
STOMP, XMPP, CoAP, WebRTC, Motwin ...
Message Broker or MaaS or PSaaS
Mosquitto, RabbitMQ, … Protocols : MQTT, AMQP,
STOMP, XMPP, CoAP, WebRTC, Motwin ...
SmartPhone
@ Car, City, …
M2M Gateway
@ Home, Office, City, Warehouse (OpenHAB, IoTSys)
Sensors data messages ie energy Consumption, temperature, images , ...
Send selected sensors meausrements
Embedded boards smartphones
by millions
In elastic Cloud
Realtime ESP Storm, Samza, S4, Spark Streaming, …
topologies MQTT, AMQP,
STOMP ...
Monitoring Placement (static,dynamic)
Deployment & (Re)Configuration (Roboconf)
MapReduce
Hadoop NoSQL Store
MongoDB, Cassandra, HDFS
In Elastic Hybrid Cloud
Computed
prediction model
Predictions Trends, ...
Mashup, Reporting, Dashboard, . (history charts, ...)
Storing agregates
83
Conclusion
●
Go West ...
16/06/14 D. Donsez, CAL & CIEL 2014 84