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 didier.donsez@imag.fr D. Donsez, CAL & CIEL 2014 From Processing.org 1
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 ERODS 2014 2
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 D. Donsez, CAL & CIEL 2014 5
«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... D. Donsez, CAL & CIEL 2014 6
Le Cloud Computing L'informatique en nuage Présentations et videos sur http://erods.liglab.fr/icar2013/ D. Donsez, CAL & CIEL 2014 7
Pari d'amazon Infrastructure informatique (sur)dimensionné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. 8
Evolution de l'hébergement Extrait de : Forester Research James Staten, with Simon Yates, F. E. G. (2008) 9
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/ 10
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/ 11
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/ 12
Les défis du Cloud Sécurité & Confiance Garantie de service (SLA) Impact énergétique Monitoring détaillé pour la facturation Standardisation Pour faciliter l'interopérabilité et la portabilité (VMs, outils, processus,...) Cas des applications et matériels customisés Grands comptes Difficile de les reproduire dans le cloud multi-tenant) (car From http://erods.liglab.fr/icar2013/ 13
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/ 14
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/ 15
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/ 16
Modèles de service Server SW 18
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 19
Exemples de Clouds publics Google Engine App 20
Big Data Analytics Analyse de grandes masses de données D. Donsez, CAL & CIEL 2014 21
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 1ZB=10^12 GB http://www.snia.org/sites/default/files2/abds2012/tutorials/robpeglar_introduction_analytics%20_big%20data_hadoop.pdf
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 Humanities and Social Sciences Corporate sales, stock market transactions, census, airline traffic, Entertainment Scanned books, historical documents, social interactions data, tracking technologies like RFID, GPS Business & Commerce Data bases from astronomy, genomics, environmental data, transportation data, 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
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 27
Modèles de calcul Big Data Post-Processing Batch TBs / PBs of stored data Continuous Event Streaming 100 MB/s of live data High-latency Decision Support Low-latencyDecisionSupport Map Reduce Event Stream Processing Hadoop, SciDB, Spark, Giraph,... Map-Update MUD8P Storm, S4, Samza, Millwheel,... Discretized Stream Processing Spark Streaming
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... 29
Map Reduce Exemple 30
Modèle de distribution de Map Reduce 31
Event Stream Processing Traitement distribué d'un flot continurecords de Faible latence de la réponse Tolérance aux pannes (replay) mutable state mutable state node 1 node 3 input records output records node 5 input records node 2 Node 4 32
Exemple de chaines de traitement Event Stream Processing Trending Topics VoIPSTREAM (VS) Twitter Sentiment Analysis (SA) From Maycon Bordin's ms thesis 33
Lambda Architecture Nathan Marz (Twitter, Backtype) Batch layer can compute the analytics model of the Speed Layer tica lm ode l Combine Low and High Latency BDA An aly http://jameskinley.tumblr.com/post/37398560534/the-lambda-architecture-principles-for-architecting
36
Un métier en pleine expansion : Data Scientist Double profil : informaticien et maths appliquées Gartner says big data creates big jobs: 4.4 million IT jobs globally to support big data by 2015. 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) http://nirvacana.com/thoughts/becoming-a-data-scientist/ Comment rendre ce «développeur» productif?
Internet of Things Internet des Choses Présentation sur http://membres-liglab.imag.fr/donsez/pub/publi/intergiciels-iot.pdf D. Donsez, CAL & CIEL 2014 38
Petit rappel Échelle logarithmique Niveau de compétence de l usager moyen Ingénieur Cadre Teen Nombre d usagers (humains) Ménagère de moins de 50 ans Senior Nombre de machines Bébé temps D. Donsez, CAL & CIEL 2014 39
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. D. Donsez, CAL & CIEL 2014 41
L'Internet des Choses (IoT) Industrial IoT (IIoT) RFID / NFC phones SCADA Instrumentation Communication Médiation Prise de Décision Action Exploration sensor nodes robot D. Donsez, CAL & CIEL 2014 42
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... D. Donsez, CAL & CIEL 2014 43
Big Picture des Applications de l'internet des Choses Portée du réseau WAN MAN LAN WLAN WSN PAN BAN Domotique SOHO 16/06/2014 Immotique Bâtiment intelligent D. Donsez, CAL & CIEL 2014 Ville «intelligente» Echelle géographique 44 44
Big Picture des Applications de l'iot D. Donsez, CAL & CIEL 2014 45
Les Services Machine-à-Machine (M2M): Nouvelle vague du "e-business" : Services à valeur ajoutée basés sur les dispositifs enfouies Intégration sécurisée Extract Transform Load Environnement Physique Infrastructure IT Action Ana l y se des environnements physiques / opérationnels et des infrastructures IT Support "temps réel"just-in-time ( ) à la prise de décision Intégration avec d'autres contextes d'entreprise Création de nouveaux services Créationde nouveaux modèles économiques D. Donsez, CAL & CIEL 2014 46
M2M Applications and New Business Models Transportation and chain supply Fleet management, Car sharing,... Office appliances Copiers, Vending machines,... Security and Homeland security Security camera Predictive (preventive) maintenance Optimize Behavior study (second choice is Coke is unavailable) Leblanc boilers, Schneider Electrics, BMW... Insurance Pay as you drive (Norwhich Union, AXA in France for business fleet) D. Donsez, CAL & CIEL 2014 47
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... D. Donsez, CAL & CIEL 2014 48
Grande Distribution Cagettes de Fruits / Légumes 1,8 million de cagettes recyclables avec des étiquettes RFID UHF (EPC Gen2) Magasins (1317 Super,Hyper,...) Stations de Lavage Plateformes de Répartition Producteurs Fruits/Légumes (France, Espagne) Images D. Donsez, CAL & CIELprises 2014 dans http://www.rfidjournal.com/articles/view?8933 49
Smart Trash Can (Pay per Trash) Poubelle (RFID) Camion Benne (Balance + GPS) Plastic Omnium, Rapport d'activité 2012, p 39-40. D. Donsez, CAL & CIEL 2014 50
Habitat Intelligent (Smart Building) Objectif : Sécurité, Sureté, Energie, Confort, Assistance,... Exemple : Canopea (vainqueur Solar Decathlon 2012) By courtesy GE2Lab D. Donsez, CAL & CIEL 2014 51
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)... D. Donsez, CAL & CIEL 2014 52
Multitude d'acteurs Le photocopieur en location Le photocopieur est installé en location chez le client 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 D. Donsez, CAL & CIEL 2014 53
Exemple de Scénario Le photocopieur en location (c) Didier Donsez, 2004 Customer Customer install and start the new version of the diagnotic tools Manufacturer Manufacturer update the version on the panel GUI core add a custom tab (ie plugin) to the panel GUI Renter Renter start the scanner function and the mail function of the copier subscribe ($ ) to the scanner function and the mail function of my copier D. Donsez, CAL & CIEL 2014 54
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) D. Donsez, CAL & CIEL 2014 55
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) D. Donsez, CAL & CIEL 2014 56
Publish-Subscribe des Mesures Producteurs Consommateurs Publisher Subscriber topic= "s10/geiger/pps" event.topics= {"#/location"} E6 Publisher topic="s11/hum" Subscriber E4 E1 Publisher topic="s12/temp" E2 E4 PubSub Broker E2 E1 E4 E3 E1 event.topics= {"#/temp","#/hum"} Subscriber event.topics= {"s11/#","s13/#"} E3 Subscriber event.topics= {"s14/#"} Publisher topic= "s13/wind" D. Donsez, CAL & CIEL 2014 57
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. D. Donsez, CAL & CIEL 2014 58
A l'intersection Cloud Computing Big Data Analytics Internet of Things D. Donsez, CAL & CIEL 2014 60
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 Rem : IoT introduit de nouvelles menaces dans le Cloud UbiCloud vs Confidentialité (Privacy, Propriété intellectuelle, ), Souveraineté 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 D. Donsez, CAL & CIEL 2014 62
Cloud of Things Xively, Axeda, (on-demand access to any applications) Open.sen.se Platform as a Service (PaaS) Software as a Service (SaaS) (on-demand platform of delivering your own application) Inrastructure as a Service (IaaS) (on-demand cpu/storage/nw infrastructures) Virtual/Physical Infrastructure (FaaS) IT cooling Deltadrone, Cloud Robotics Smart Green Grid H2 D. Donsez, CAL & CIEL 2014 63
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 D. Donsez, CAL & CIEL 2014 64
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) 65
Et le Génie Logiciel la dedans... Software crisis Encore et toujours... System of Systems of Systems Beaucoup de matériels/logiciels patrimoniaux Grandes variétés de technologies One size does not fit all! D. Donsez, CAL & CIEL 2014 66
La panoplie des outils Programming Langages Java, Python, R, Lua, C/C++,... BPM SPL DSL Design Pattern Architectural styles Mashup and end-user programming Visual, IFTTT (If This Then That) Software evolution support CBSE, SOA,... Continuous Integration Continuous Delivery. D. Donsez, CAL & CIEL 2014 67
Notre expérience chez ERODS Systèmes distribués, Intergiciels et Génie Logici Roboconf CIRUS en perspective D. Donsez, CAL & CIEL 2014 68
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 D. Donsez, CAL & CIEL 2014 69
Cas de l'entreprise Social Network de Linagora Editeur solutions FOSS modèle SaaS MongoDB Node.js LinID OpenLDAP NPM Redis (PubSub) Elastic Search Private cloud operated with OpenStack Debian Giraph James Git Public clouds for cloud bursting operated by Heroku, Azure, Amazon,... D. Donsez, CAL & CIEL 2014 70
Cloud Computing : Application Administrators point of view 0) create an EC2 account and enter (company's) credit card number 1) Define a configuration Time consuming 2) Start AMIs Error Prone 3) Configure dependencies (@IP, port, security, firewalls ) 4) Monitor performance and usage Requests A S D
Cloud Computing : Application Administrators point of view 0) create an EC2 account and enter (company's) credit card number 1) Define a configuration Time consuming 2) Start AMIs Error Prone 3) Configure dependencies (@IP, port, security, firewalls ) 4) Monitor performance and usage Requests A S D Requests A S D 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,... Nightmare
Deployment issues Multi-scale Elastic & adaptative From embedded (box, sensor, card...) to cloud / IaaS More and more devices while IoT emerges 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 What does it do? Automatic deployment/evolution of distributed application configuration on a IaaS 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 Types (inheritance) & Instances 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 192.162.1.2 # 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.4 192.162.1.3
Deployment & Configuration Scripts Repo Artifacts Repo AMIs Repo PubSub vars : Act as a distributed configuration manager AMIs contains a RoboConf agent
CIRUS Motivation Plateforme PaaS pour «Ubilytics» de bout en bout «Simple as Possible» dédié aux PMEs de l'iot Problème Depuis les capteurs jusqu'à l'architecture lambda (cloud) Grande variété des besoins Grande variété des technologies Proposition DSL + Génération de PaaS et SaaS dédiés
Towards "Ubilytics" PaaSs Send selected sensors meausrements M2M Gateway @ Home, Office, City, Warehouse (OpenHAB, IoTSys) In Elastic Hybrid Cloud NoSQL Store MongoDB, Cassandra, HDFS In elastic Cloud Message MessageBroker Broker orormaas or PSaaS MaaS or PSaaS Mosquitto, RabbitMQ, Mosquitto, RabbitMQ, Protocols : MQTT, AMQP, Protocols : MQTT, AMQP, STOMP, XMPP, CoAP, STOMP, XMPP, CoAP, WebRTC, Motwin... WebRTC, Motwin... SmartPhone @ Car, City, Embedded boards smartphones by millions Sensors data messages ie energy Consumption, temperature, images,... MapReduce Hadoop Computed prediction model Realtime ESP Storm, Samza, S4, MQTT, AMQP, Spark Streaming, STOMP... topologies Mashup, Reporting, Dashboard,. (history charts,...) Storing agregates Predictions Trends,... Monitoring Placement (static,dynamic) Deployment & (Re)Configuration (Roboconf) ERODS 2014 82
Conclusion Go West... 83
Q&A D. Donsez, CAL & CIEL 2014 84