DeployWare : Une approche orientée modèle pour un déploiement autonomique fiable en environnements ouverts distribués JTE Systèmes Autonomes – 16 Novembre.

Slides:



Advertisements
Présentations similaires
LES NOMBRES PREMIERS ET COMPOSÉS
Advertisements

Applications N-Tiers Rappels: architecture et méthodologie
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Fabrice Lauri, François Charpillet, Daniel Szer
Distance inter-locuteur
Karima Boudaoud, Charles McCathieNevile
Réflexivité et réseaux d’ information
Première expérience d’utilisation des Web Services dans SmartTools Didier Parigot Projet OASIS INRIA Sophia www-sop.inria.fr/oasis/SmartTools Journée.
Projet FIACRE 1 ACI Sécurité InformatiqueToulouse, novembre 2004 FIACRE Fiabilité des Assemblages de Composants Répartis Modèles et outils pour lanalyse.
Thème 3 : plate-forme de modélisation et de gestion de référentiels XML étapes modélisation des structures (UML) gestion du référentiel de modélisation.
Est Ouest Sud 11 1 Nord 1 RondeNE SO
Sud Ouest Est Nord Individuel 36 joueurs
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Smart House System Framework Vincent Chicherie
Virtualisation dorchestration de services TER Master 1 Infomatique 4 Avril 2008 Encadrant : Philippe Collet.
Approche par composant : Un cadre pour l’ingénierie de la commande
Framework Avancement au Plan Principales avancées pour les parties Ligand, Sites Actifs et Docking Processus dinstallation de.
1 B Système Enjeux et principes Cours DESS Nantes 04 Décembre 2002 Didier ESSAME.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
JOME, un Composant Logiciel pour le Télé-Enseignement des Mathématiques via le WEB, Compatible OpenMath et MathML Laurent DIRAT OVE / I3S-UNSA.
Réalisé avec le soutien de 2005 FAROS : composition de contrats pour la Fiabilité d'ARchitectures Orientées Services Définir un environnement de composition.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
PARTIE 3 : Le SYSTEME D’INFORMATION FUTUR
Les Enterprise Service Bus
Interagir avec un objet mixte Propriétés physiques et numériques Céline Coutrix, Laurence Nigay Équipe Ingénierie de lInteraction Homme-Machine (IIHM)
Etude des Technologies du Web services
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
le profil UML en temps réel MARTE
Vuibert Systèmes dinformation et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 1 : La notion de système.
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
Chaque use-case génère un ou des scénarios, traduits par des diagrammes objets, qui permettent d’introduire et/ou de compléter les diagrammes des catégories.
Rennes, le 18 septembre 2006 Support du paradigme maître-travailleur dans les applications à base de composants Tâche 2.2 Hinde Bouziane Réunion LEGO.
Titre : Implémentation des éléments finis sous Matlab
Configuration de Windows Server 2008 Active Directory
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
LES NOMBRES PREMIERS ET COMPOSÉS
VOC 1 CE2 Je sais utiliser des mots de la vie quotidienne.
Vuibert Systèmes dinformation et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 7 : Les méthodes de conception.
11 DeployWare : Une approche à base de modèles pour un déploiement fiable en environnements ouverts distribués Séminaire Interne ADAM – 19 octobre 2007.
Déploiement de systèmes SCA distribués Damien Fournier Projet SCOrWare / Équipe ADAM - INRIA 4 avril 2007.
PLD GHome H4214 Piccolo Thomas Gu Lei Deville Romain Huang Yachen
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Ecaterina Giacomini Pacurar
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Titre : Implémentation des éléments finis en Matlab
Processus d'un projet F.Pfister
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Équipe 2626 Octobre 2011 Jean Lavoie ing. M.Sc.A.
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels CEI
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Le workflow Encadré par: M . BAIDADA Réalisé par: ATRASSI Najoua
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Module I-C3 : Applications Web IUT R&T 2e année
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
1. Présentation générale du système
Les Chiffres Prêts?
Supports de formation au SQ Unifié
Projet Implémentation du protocole MMT sous Linux
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Introduction au Génie Logiciel
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03.
Bruno Traverson (EDF R&D, pilote de ACCORD)
1 Journee gdr COSMAL 27/01/2009 Exécution Distribuée et Agile de Compositions de Services Françoise Baude & Virginie Legrand
Transcription de la présentation:

DeployWare : Une approche orientée modèle pour un déploiement autonomique fiable en environnements ouverts distribués JTE Systèmes Autonomes – 16 Novembre 2007 – Toulouse Jérémy Dubus, Philippe Merle Jeremy.Dubus@lifl.fr , Philippe.Merle@inria.fr LIFL - GOAL Team INRIA ADAM Project Laboratoire d’Informatique Fondamentale de Lille UMR CNRS 8022

Plan Contexte Problématique Proposition Conclusion Déploiement de systèmes distribués hétérogènes Environnements Ouverts Distribués (EOD) Autonomic computing Problématique Expression du déploiement de systèmes en EOD Validation statique des procédures de déploiement Exécution des procédures de déploiement Proposition Un méta-modèle DeployWare Expression de haut niveau Ajout de sémantique statique et dynamique Une plate-forme d’exécution des modèles Fractal Deployment Framework Conclusion

Déploiement de systèmes distribués Lourde tâche Triple hétérogénéité pour les administrateurs Hétérogénéité matérielle OS, protocoles d’accès à distance, de transfert de fichiers Hétérogénéité des paradigmes Objet, Aspect, Composant, Service, Modèle Hétérogénéité des implantations Ex: SCA, EJB, CCM pour les composants Prise en charge de ces hétérogénéités Cauchemar

Illustration

Difficulté supplémentaire Évolution technologique des réseaux Nombre de machines impliquées fluctuant et imprévisible Environnements ouverts distribués Informatique Ubiquitaire/Ambiante Grilles de calcul Réseaux de senseurs Besoin de déploiement et d’administration autonome

Autonomic Computing Introduit par IBM [Kephart et al. 2003] Inspiré de mécanismes humains Ajout de politiques d’autonomies dans les systèmes distribués Reconfigurations au runtime guidées par des politiques de haut-niveau Repose sur la notion de « Boucle de Contrôle »

Le déploiement à ce jour Trois grandes catégories d’approches Les langages de définition d’architectures (ADL) Mono-paradigme : le composant Ne permettent de déployer que la couche métier Sans prendre en compte l’ouverture des environnements Les modèles génériques de déploiement Généricité entraîne la perte de sémantique (ex. UML) Les outils dédiés de déploiement Très souvent dédiés à une technolgie Passent rarement à l’échelle Trop techniques Outils de reconfiguration Souvent APIs et/ou mécanismes bas-niveau Dédiés à une technologie

1er Challenge : Expression Comment exprimer le déploiement de systèmes hétérogènes Comment déployer un élément d’un système Comment assembler ces éléments du système Comment décrire le déploiement de toute la pile logicielle Librairies, Serveurs d’applications, Applications métiers Comment ajouter la gestion de l’ouverture des environnements Comment exprimer les boucles de contrôle

2e Challenge : Validation Des mécanismes de déploiement et/ou de reconfiguration existent Déploiement/Administration à base d’architectures réifiant le système (JADE) Description à l’aide d’un ADL (déclaratif) Reconfiguration d’architectures (FScript, Rainbow, JASMINe) Réalisation à l’aide de scripts (impératif) Seules vérifications possibles : Syntaxe Typage Quid des validations liées à la sémantique de déploiement ?

3ème Challenge : Exécution Plate-forme capable d’interpréter les informations de haut niveau Exécuter le processus de déploiement en tenant compte Hétérogénéités matérielles Dépendances entre les logiciels Orchestration Indépendamment de l’échelle Performance à grande échelle Support d’exécution des boucles de contrôle

Proposition : DeployWare DeployWare: un environnement … …orienté modèle… DeployWare repose sur un méta-modèle …pour le déploiement fiable… Ajout de sémantique au méta-modèle pour valider les modèles …de systèmes distribués… Plate-forme distribuée d’exécution des modèles de déploiement …en environnements ouverts distribués Ajout des concepts et mécanismes de boucle de contrôle pour l’injection d’autonomie dans le déploiement

Le méta-modèle DeployWare Déploiement distribué Préoccupations transverses ! Architecture globale du système Configuration des logiciels, administration au runtime Administrateur système Définition de la procédure de déploiement d’un logiciel Conditionnement des applications, description des actions élémentaires de déploiement Expert logiciel Description du support matériel Protocole d’accès à distance, transfert de fichiers Expert réseau Volonté de séparation des préoccupations

Le paquetage de l’expert logiciel

Le paquetage de l’admin système _______Paquetage TechnoExpert _______ dependsOn 0..*

Le paquetage Autonomie Choix porté sur « Action-based » policies Par opposition au « goal-based policies » et « utility functions » Caractère événementiel ponctuel des environnements ouvert Granularité fine des politiques Réutilisation accrue Fortement inspiré du paradigme Evénement-Condition-Action du monde des BD Monitor -> Evénement Analyze -> Condition Plan -> Action

Le paquetage d’autonomie Les actions manipulent les concepts du méta-modèle

Sémantique & Vérification (1) Déploiement correct uniquement s’il est réversible Retour possible à la case départ : le Repliement Vérifier que chaque type de procédure de déploiement possède son inverse Start -> Stop, Install -> Uninstall Dans DeployWare Types de procédures liés deux à deux Un logiciel ne pourra pas contenir qu’une seule des deux Exceptions !

dependsOn 0..*

Sémantique & Validation (2) Deux procédures inverses Comportement symétrique Vérifier que pour toute instruction élémentaire dans une procédure donnée L’instruction au comportement inverse figure dans la procédure déclarée inverse LaunchProcess dans Start KillProcess dans Stop Dans DeployWare Type d’instructions déclarées deux à deux Un logiciel est valide si chaque instruction de chaque procédure est « annulée » dans la procédure inverse

dependsOn 0..*

Sémantique & Validation (3) Un logiciel utilise une instruction définie dans un autre logiciel Ex : JOnAS et Java Vérifier que le SoftwareType JOnAS dépend bien du SoftwareType JRE Dans DeployWare On peut associer un type d’instruction à un logiciel Ex: ExecuteJava() avec le SoftwareType JRE Tout logiciel utilisant ce type d’instruction doit dépendre de ce type de logiciel

Sémantique & Validation (3bis) Un logiciel installé sans sa dépendance Dépendances techniques  Erreur pendant le déploiement Dépendances métier  Erreur interne au métier Il faut vérifier que les dépendances d’un type de logiciel donné soient présentes dans le système Conformance par rapport au type Dans DeployWare Pour une SoftwareInstance SI, on vérifie que dependencies contient bien des logiciels de types contenus dans le dependsOn du type SoftwareType de SI

dependsOn 0..*

Sémantique & Validation (4) Un logiciel déployé sur une machine Utilise des ressources sur cette machine Système de fichiers Ports Deux logiciels sur une même machine Ensembles de ressources disjoints Dans DeployWare Les propriétés sont typées, on peut donc type par type vérifier que les ensembles sont bien disjoints pour tous les logiciels deux à deux

dependsOn 0..*

Sémantique de l’autonomie Détection comportements incohérents dans les boucles de contrôle Cycle dans le déclenchement Déclenchement parallèle Shared Trigger Interaction Nouvelle forme de validation La règle d’Intention l’intention de l’« action » d’une politique (« post-condition ») Rapprochement avec un événement Déduction d’un graphe qui révèle entre autres les cycles

Machine Virtuelle DeployWare = FDF Réification sous forme de composants (Fractal) Fine granularité Abstraction des mécanismes de base du déploiement protocoles d’accès distants et de transfert de fichiers, shells, commandes, variables… Infrastructure cible noeuds et hôtes distants, serveurs, terminaux mobiles…  3e préoccupation du déploiement: Expert Réseau Composition afin d’obtenir un composite symbolisant le processus de déploiement

FDF Composants de déploiement Ex. exécution d’une commande distante String getLogin (); User: getPassword getPrivateKey Port: int getPort () ; Hostname: getHostname void execute( cmd_to_exec ); Shell: setVariable( name , value unsetVariable(name,value Protocol: send (command SH, CSH, Windows CMD… SSH, rlogin, telnet.…

FDF Composants « software » Liaisons entre composants = dépendances

Contribution Overview DeployWare ADL file DeployWare Explorer Deployment Configuration Software Components Deployment Components Physical Infrastructure

Personnalités existantes Systèmes à base de SOA SCA Tuscany, JBI PEtALS, BPEL (Orchestra, ActiveBPEL) Systèmes à base de JEE Geronimo, JOnAS, JBoss, Glassfish, JAR, EAR Outils Web Apache, Tomcat, WAR Systèmes à base de CORBA ORBs, OpenCCM Systèmes à base de Fractal Julia, Fractal ADL et RMI Outils Java Ant, JRE, VM pour mobiles Bases de données MySQL Services réseau OpenLDAP Systèmes d’exploitation virtuels QEMU

Console d’administration

Console d’administration

Le passage à l’echelle de FDF FDF optimisé pour utilisation à large échelle Motifs d’architecture Factorisation des définitions Opérationnalisation partielle de nos travaux sur les motifs d’architecture [LMO 07] Composants pour bloc conditionnel, boucle itérative etc. Composants spécifiques pour la Grille Encapsulant mécanismes de réservation Distribution du composite FDF lui-même Fractal RMI optimisé Distribution de ressources (sockets, etc.)

Expériences / Mesures

Expériences / Mesures

L’autonomie dans FDF Composants spécifiques pour l’autonomie Dans un domaine, un Autonomic Manager est un composant FDF capable de : Garder en mémoire la composition du domaine Knowledge local au domaine (Working memory) Ecouter des évènements Pouvant provenir de l’extérieur (sondes) Déclencher des politiques de type ECA Ces composants sont des wrappers de moteur de règles existants (Jess, JBoss Rules) Reconfigurer le domaine Donc ce qu’il réifie (i.e. le système) Grâce à la réflexivité de Fractal

Travaux relatifs Générique Granularité Logicielle Abstraction Validation Autonomie JADE/JASMINe Oui mais dur (API Java) Oui ADL Non Bas niveau TUNe Méta-modèle (Profil UML) Etat/Transition UML J2EEML Non – EJB Seulement (DSML) Code généré SmartFrog API Java ORYA (?) DeployWare (DSML & UML) OUI Oui (EOD)

Conclusion Approche de type MDE pour le déploiement Multi-échelle Séparation des préoccupations transverses du déploiement réparti Description à un haut niveau d’abstraction indépendant des technologies (PIM) Sémantique statique Génération vers une plate-forme d’exécution (PSM) Multi-échelle Multi-granularité Multi-technologies

Conclusion (2) Méta-modèle existe (mais pas encore disponible) Plugin Eclipse pour la création de modèles DeployWare Validations implémentées avec Kermeta Plate-forme FDF existe (et disponible) http://gforge.inria.fr/fdf ~ 25 personnalités/technologies différentes Adopté et intégré dans JOnAS, PEtALS, JASMINe. Prototype prouvant la faisabilité de la transformation de modèle Modèle DeployWare -> Composants FDF

Perspectives Scientifiques Explorer davantage la méta-modélisation Ajout de sémantique dynamique au méta-modèle Capacité de simuler l’exécution des modèles sans tester le déploiement Évaluer les performances théoriques Optimiser le fonctionnement Parallélisation maximale Ajout d’autres préoccupations dans le méta-modèle Gestion transactionnelle du déploiement ?  Continuer d’accroître la « maîtrise » du processus de déploiement

Perspectives techniques Continuer l’opérationnalisation du méta-modèle avec Kermeta Ajout de la sémantique opérationnelle du méta-modèle pour la simulation Approfondir/Évaluer/Optimiser les mécanismes d’autonomie sur cas d’études Pour l’ubiquitaire Pour les grilles de calcul

Merci Questions ? Suggestions ? Critiques ?