Déploiement dans Jade
Transcription
Déploiement dans Jade
Introduction au Déploiement Noël De Palma - Projet SARDES - INRIA - IMAG LSR Remerciement à d. donsez 03/03/06 PLAN Définition et problématique OSGI FRACTAL JADE Conclusion 03/03/06 2 Définition Environnement distribué complexe Déploiement Infrastructure matérielle Logiciels distribués omniprésents Installation Configuration Démarrage C’est une brique de base pour les taches d’administration 03/03/06 Gestion des fautes Gestion des performances Mise à jour 3 Problématique Un exemple concret : Serveur J2EE sur cluster Répartiteur de charge Clients Serveur HTTP Serveur d’EJB Base de Données Configuration hétérogènes Dépendances multiples Serveur de Servlet Matérielle, packaging, services, démarrage Pannes ? Performances ? Mise a jour ? Terminaison ? 03/03/06 4 Besoins Déploiement initial de l’application « Composant » patrimoniaux Différents niveaux de granularité Insertion/suppression d’un composant dans une infrastructure existante Ajouter des propriétés au déploiement Atomicité Sécurité Passage a l’échelle Placement actif et intelligent Connaissance de l’environnement Système Middleware Application Matériel et logiciel => C’est une application répartie complexe 03/03/06 5 Composant logiciel : définition générale Élément logiciel à grain arbitraire Liaison Effectuée de manière non fonctionnelle Contrôle P L A T Composition Effectuée de manière non fonctionnelle H I E R A R C H I Q U E R E F L E X I F Cycle de vie Introspection Reconfiguration Exemple : un modèle a plat Apache Tomcat Worker.properties 03/03/06 Mysql mysql.properties 6 OSGI Déploiement dynamique de service Installation Ajout, Retrait, Mise à jour de service 03/03/06 Gestion des dépendances de package Cycle de vie Chargement/déchargement de code dynamique (java) Lancement 7 Vue en couche 03/03/06 8 Structure d’un bundle = 1 jar 03/03/06 9 Cycle de vie d’un bundle 03/03/06 10 Liaison entre services 03/03/06 11 Liaison entre services 03/03/06 12 Liaison entre services 03/03/06 13 OSGI : bilan Installation, ajout/retrait de service Modèle plat Liaison explicite Besoin de service associé (spec v4) OBR ServiceBinder Téléchargement des bundles absents Expression non fonctionnelle des dépendances de services Pas de vision globale 03/03/06 14 Fractal Modèle de composant multi-cible et réflexif (java, C, .net) Composition, liaison, introspection et contrôle Déploiement Programmatique Descriptif Langage de description Extensible (ADL) Vue distribuée globale Infrastructure de déploiement 03/03/06 Spécialisable Ordonnancement 15 Les composants Composant Fractal Component interfaces serveur -ou fournies -reçoivent des appels -à gauche par convention Component BindingController LifeCycleController ContentController Gestion du cycle de vie (start, stop) Gestion du contenu d'un composite BindingController Introspection (des interfaces) ContentController interfaces clientes -ou requises -émettent des appels -à droite par convention T2 i2 LifeCycleController T3 i3 Component T1 i1 interfaces de contrôle Gestion des liaisons des interfaces clientes Attributecontroller 03/03/06 16 Composant comme abstraction commune Exemple d’abstraction AJP13 connexion APACHE/TOMCAT Apache1/sci21 1/ log on sci21 2/ stop the apache server (script shutdown) 3/ update config file 4/ restart the apache server (script httpd) workers.tomcat_home=/tmp/depalma_tomcat_local workers.java_home=/cluster/java/j2sdk1.4.2_01 ps=/ worker.worker.port=8098 worker.worker.host=sci20 worker.worker.type=ajp13 worker.worker.lbfactor=100 worker.list=worker, loadbalancer worker.loadbalancer.type=lb worker.loadbalancer.balanced_workers=worker Worker.properties 03/03/06 Tomcat1/sci20 Tomcat2/sci22 1/ Apache1.stop() Apache1.unbind("ajp-itf") Apache1.bind(“ajp-itf“,tomcat2-itf) Apache1.start() 1’/ change la config 1DL 1’’/ GUI : fractal explorer Jade 17 Fractal ADL <definition name="BasicClientServer"> <interface name="m" role="server" signature="pkg.Main" > <component name="client" definition="BasicClient"/> <component name="server" definition="BasicServer"/> <binding client="this.m" server="client.m"/> <binding client="client.s" server="server.s"/> <virtualnode name=“node1”/> </definition> m m client s s server BasicClientServer 03/03/06 18 Usine ADL Usine pour le déploiement Loader ADL Factory Compiler Task Backend Task Scheduler 03/03/06 cmp factory cmp factory cmp factory node1 node1 node1 19 Fractal : bilan Modèle composite et réflexif Ordonnancement spécialisable Déploiement distribué Pas d’installation,ni de gestion de dépendances 03/03/06 20 JADE Fonctionnalité d’administration autonome Modèle de Component (Fractal - Julia) Wrap des ressources legacy (hard/soft) a un grain arbitraire Interface homogène d’administration Mécanisme de reconfiguration OSGI Plugger des politiques de déploiement actives et intelligentes Installation et packaging Déploiement actif Boucle de contrôle Jade QoS-Aware deployer (e.g., ADL factory, node discovery, node allocator...) Failure-Aware deployer Repair sensors sensors Common Service actuators actuators Managed System 03/03/06 21 Élément d’architecture Managed Elements Politique de déploiement active Basé sur la connaissance de l’infrastructure Boucle de contrôle Nodes Réifie une ressource sous forme de composant Réifie une machine physique Services commun Ressources deployer, node allocation, node discovery, naming … Node Core Services Controllers OSGI OBR Factory Managed_elements apache 03/03/06 JMS JNDI node Discovery OBR node alloc Res Deployment SR … Heart Beat 22 Scénario J2EE cluster Déploiement orienté QoS Déploiement orienté réparation Déploiement orienté protection Multimédia 03/03/06 23 Déploiement orienté QoS : dimensionnement dynamique Objective Dimensionnement automatique de l’infrastructure. QoS-Aware Deployment Sizing sensors actuators Node 3 Node 1 Switch L5 Node 3 tomcat Node 4 CJDBC Node 5 BD Node 1 tomcat Node 4 Switch L5 Node 3 tomcat … 03/03/06 Node 5 BD CJDBC Node 5 BD … 24 Déploiement orienté réparation Deployment Manager System Representation Repair Node Switch Node Node Apa Tom Node Node BD CJDBC sensors Node2 actuators Node4 Apache tomcat Node6 BD Switch L5 03/03/06 tom Node Node Node2 Node7 Node1 Apa Node BD Node 4 Node7 Node1 Apache tomcat Node9 BD Switch CJDBC L5 Apache tomcat Node8 Node3 Node5 BD CJDBC Apache tomcat Node8 Node 3 Node5 BD 25 Déploiement orienté Protection Auto-configuration de parefeux lors du déploiement des middleware Canaux de communication valides Auto-configuration des ports Cohérence lors du démarrage ou de l’arrêt d’un serveur protection sensors Node 1 Switch actuators Apache Tomcat CJDBC Firewall Firewall Firewall Node 3 Node 4 Node 8 Firewall Firewall 03/03/06 CJDBC Node 7 Apache Tomcat Firewall Firewall Firewall Node 5 Node 6 Node 9 CJDBC 26 Autres cas applicatif : multimédia QoS aware deployment portail Node 1 cpu transcoder1 transcoder2 profile Node 3 Helix server Node 2 cpu Node 4 transcoder3 Helix server transcoder4 03/03/06 27 Conclusion Installation, configuration, démarrage Assurer des propriétés non-fonctionnelles Dynamicité Atomicité Sécurité … Ajout/retrait de service Déploiement actif C’est une application répartie complexe Besoin d’un framework de déploiement extensible 03/03/06 28 ANNEXE : Architecture de JADE Politique de gestion Reparation QoS tomcat BD Node Discovery Res Deployment apache 03/03/06 node2 JBR … Managed element node1 … Jade Common Services Managed element node1 apache Protection node3 SR JNDI node4 node5 JMS node6 Node Allocator … 29 ANNEXE : SmartFrog Un Langage de description Un modele de composant Indépendant de fichier de configuration legacy Compositions Politique de déploiement (un workflows) Cycle de vie du logiciel Une infrastructure de déploiement Déploiement distribué Service commun 03/03/06 Naming, sécurité … 30 ANNEXE : SF Langage Description 03/03/06 déclarative du système à déployer Composant (avec composition) Paramètres, Interconnexion Indépendant d’un ordonnancement 31 ANNEXE : SmartFrog component model Politique de déploiement (bib de composant) Séquence, parallèle, ordonnancement spécifique … Cycle de vie du logiciel => déploiement distribué hiérarchique parallèle 03/03/06 32 ANNEXE : Infrastructure de déploiement 03/03/06 33