Systèmes Logiciels et Applications Réparties



Documents pareils
Prise en compte des ressources dans les composants logiciels parallèles

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

Introduction au Déploiement

Grid 5000 : Administration d une infrastructure distribuée et développement d outils de déploiement et d isolation réseau

1. Introduction à la distribution des traitements et des données

Jérémy Dubus. Une démarche orientée modèle pour le déploiement de systèmes en environnements

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

Architecture à base de composants pour le déploiement adaptatif des applications multicomposants

Serveur d'application à la juste taille

Architectures n-tiers Intergiciels à objets et services web

JOnAS 5. Serveur d application d

Tolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques

Introduction aux applications réparties

Infrastructure Management

Java pour le Web. Cours Java - F. Michel

La virtualisation, si simple!

CSI351 Systèmes d exploitation Instructions pour rouler Linux avec Virtual PC dans la salle de labo 2052

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Rapport d activité. Mathieu Souchaud Juin 2007

OpenCCM : une infrastructure à composants pour le déploiement d'applications à base de composants CORBA

CAHIER DES CHARGES D IMPLANTATION

JASMINe, smart tool for your SOA platform management

Introduction aux «Services Web»

Le moteur de workflow JBPM

Mise en œuvre des serveurs d application

CORBA haute performance

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

Administration autonome d applications réparties sur grilles

Programme ASI Développeur

Administration d'infrastructures logicielles avec Jade

Le passage à l échelle de serveur J2EE : le cas des EJB

JOnAS Day 5.1. Outils de développements

Patrons de Conception (Design Patterns)

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

Cisco Certified Network Associate

Systèmes d'informations historique et mutations

Serveurs de noms Protocoles HTTP et FTP

Hébergement de sites Web

Installer Enterprise Miner 5.1 en SAS environnement Windows

Messagerie asynchrone et Services Web

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Services Réseaux - Couche Application. TODARO Cédric

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. Stephane.Vialle@supelec.fr

Utiliser le portail d accès distant Pour les personnels de l université LYON1

Formation en Logiciels Libres. Fiche d inscription

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

Un exemple de cloud au LUPM : Stratuslab

Architecture de la grille

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

ECOLE POLYTECHNIQUE DSI. Utilisation des serveurs mandataires («proxy») avec les protocoles d usage courant

FOSS Enterprise Integration Plattaform

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

JASMINe. Outils de gestion et supervision d'infrastructure intergicielle.

Le Cloud Open-Mind! Emilien Macchi

Dossier de compétences :

SSH, le shell sécurisé

L3 informatique TP n o 2 : Les applications réseau

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Catalogue des Formations Techniques

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

DG-ADAJ: Une plateforme Desktop Grid

Vulgarisation Java EE Java EE, c est quoi?

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine Slimane.bah@emi.ac.ma

Architecture et Extensions d ArcGIS Server

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Business Process Execution Language

Programmation Internet Cours 4

A. Architecture du serveur Tomcat 6

Développement des Systèmes d Information

MANUEL D INSTALLATION de GEONETWORK sur un serveur LINUX CentOS 4

Environnements de Développement

Fiche Technique. Cisco Security Agent

Les applications Internet

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Système Principal (hôte) 2008 Enterprise x64

Les risques HERVE SCHAUER HSC

BMC Middleware Management

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Des solutions J2EE open source professionnelles adaptées à votre système d information d entreprise

Evolution des technologies et émergence du cloud computing Drissa HOUATRA, Orange Labs Issy

ClariLog - Asset View Suite

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Urbanisation des Systèmes d'information

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

Tour des Unités du C.I.A.M. Tour des Unités du C.I.A.M. Maurice Baudry Laboratoire Statistique & Génome, Évry.

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Open Source Job Scheduler. Installation(s)

ARCHITECTURE ET SYSTÈMES D'EXPLOITATIONS

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

SUJET DES FINALES NATIONALES Sujet jour 1 version 1

Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT

Raspberry pi : Développer une petite application web sur Raspberry

Étude de l application DNS (Domain Name System)

Les formations. Administrateur Systèmes et Réseaux. ENI Ecole Informatique

Refonte front-office / back-office - Architecture & Conception -

Architectures web/bases de données

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

Transcription:

des Systèmes Logiciels et Applications Réparties GOAL/ADAM Team Laboratoire d Informatique Fondamentale de Lille & INRIA Institut National des Télecommunications, Evry 16 janvier 2008

Plan Introduction 1 Introduction 2 Complexité Hétérogènéité Validation Passage à l échelle 3 Le méta-modèle FDF Déploiement distribué avec explorer 4 5

Plan Introduction 1 Introduction 2 Complexité Hétérogèneité Validation Passage à l échelle 3 Le méta-modèle Déploiement distribué avec explorer 4 5

Introduction : Déploiement de sytèmes logiciels distribués Définition Déploiement = ensemble de tâches élementaires à orchestrer dans un ordre bien défini Installation/désinstallation de logiciels, intergiciels, bibliothèques, éxecutables sur des nœuds distants, Configuration de logiciels et des environnements des nœuds, Démarrage/arrêt de serveurs d applications, Instanciation des applications, etc.

Introduction : Déploiement de sytèmes logiciels distribués Exemple Un système d information d entreprise utilisant 3 serveurs dédiés Serveur Web moteur de servlets/jsp TomCat (composants Web) Axis (service Web) Serveur d applications JEE JOnAS (composants métiers) SGBD serveur MySQL Nombreuses dépendances (techniques ou métiers)

Exemple de système logiciel distribué et hétérogène

Introduction : Déploiement de sytèmes logiciels distribués Domaines cibles variés et multi-échelles Réseaux locaux, Informatique mobile et environnements ubiquitaires, Grappes et grilles de calculs, etc. Divers modes d exècution du processus de déploiement Tâches parallèles et/ou séquentielles

Introduction : Déploiement de sytèmes logiciels distribués Bilan Déploiement = activité complexe Souvent réalisé par les administrateurs Automatisation nécessaire Nombreux challenges à résoudre Déploiement de systémes logiciels réparties, héterogènes et à large échelle Un cauchemar pour les administrateurs Evolutions technologiques et conceptuelles (paradigmes) Nouveaux domaines cibles: Grid Computing, environnements ubiquitaires

Plan Introduction Complexité Hétérogèneité Validation Passage à l échelle 1 Introduction 2 Complexité Hétérogèneité Validation Passage à l échelle 3 Le méta-modèle Déploiement distribué avec explorer 4 5

Introduction Complexité Hétérogèneité Validation Passage à l échelle 1 Complexité 2 Hétérogèneité 3 Validation 4 Passage à l échelle

(1) Introduction Complexité Hétérogèneité Validation Passage à l échelle Complexité Dépendances entre logiciels Le déploiement de logiciel B dépend de logiciel A Le démarrage de logiciel B dépend de l installation et de la configuration de logiciel A Orchestration des tâches de déploiement Logiciel A déployé avant logiciel B, {Logiciel A, {logiciel B}} déployés séquentiellement, {logiciel B} en parallèle Logiciel B à démarrer après l installation de logiciel A Administration des grandes infrastructures logicielles Monitoring/gestion du système déployé?

(2) Introduction Complexité Hétérogèneité Validation Passage à l échelle Hétérogèneité matérielle et logicielle Hétérogèneité de l infrastructure physique cible hardware, réseau, système d exploitation, shells : Bourne-Shell, C-Shell, Windows MS-DOS, etc., mécanismes de déploiement bas-niveau : protocoles d accès distants : SSH, Telnet, rlogin, protocoles de transfert de fichiers : FTP, HTTP, SCP

(2) Introduction Complexité Hétérogèneité Validation Passage à l échelle Hétérogèneité matérielle et logicielle Hétérogèneité du système à déployer Différents paradigmes : programmation parallèle, approche à base de composants ou d aspects, conception orientée objets, etc. Pléthore de plates-formes d exécution / intergiciels : systèmes SOA, JEE, CCM, Fractal, intergiciels pour les grilles : GridCCM, Globus, ProActive... bibliothèque MPI, etc. Granularité des logiciels : intergiciels, serveurs d applications, composants logiciels, objets, bibliothèques, exécutables, systèmes d exploitation virtuels!

(3) Introduction Complexité Hétérogèneité Validation Passage à l échelle Validation statique du déploiement Objectif: Assurer la fiabilité du déploiement, ainsi que l intégrité du système Vérification des dépendances logicielles Dé-déploiement (repliement) Prévention des conflits de ressources : Partage du système de fichiers, numéro de port, etc. entre les logiciels

(4) Introduction Complexité Hétérogèneité Validation Passage à l échelle Passage à l échelle Très large échelle : Environnements ubiquitaires : nombre de terminaux impliqués potentiellement élevé Grilles informatiques, interconnexion entre grilles nationales (e.g. grille française Grid 5000 & grille japonaise NAREGI) : plusieurs milliers de nœuds Problème: limitations des ressources physiques pour déployer (automatiquement, de manière optimale) sur des milliers de nœuds : Nombre de sockets ouvertes Mémoire disponible Utilisation du CPU, etc.

Plan Introduction 1 Introduction 2 Complexité Hétérogèneité Validation Passage à l échelle 3 Le méta-modèle Déploiement distribué avec explorer 4 5 Le méta-modèle Déploiement distribué avec explorer

Le méta-modèle Déploiement distribué avec explorer Le méta-modèle FDF Déploiement distribué avec explorer Expériences menées

Le méta-modèle Déploiement distribué avec explorer Un framework pour la description, le déploiement et l administration de systèmes hétérogènes et distribués, basé sur: Un DSL reposant sur un meta-modèle capturant les concepts abstraits du déploiement Une machine virtuelle d exécution (FDF), une bibliothèque de composants de déploiement bas-niveau Une console graphique d administration ( explorer)

Le méta-modèle Déploiement distribué avec explorer 3 rôles définis Expert logiciel: definition des procédures de déploiement pour une technologie donnée Administrateur système: configuration réseau, protocoles, @IP, nœuds, information d authentification utilisateur, etc. Utilisateur final: description des configurations à déployer

: Vue d ensemble Le méta-modèle Déploiement distribué avec explorer

Le méta-modèle Le méta-modèle Déploiement distribué avec explorer Objectif Capture des concepts abstraits du déploiement Personnalité, entité logicielle, propriété, dépendance, nœud (physique), procédure, instruction... Indépendemment du paradigme, de la technologie et de la granularité Une syntaxe concrète, basée sur un ADL, pour décrire les systèmes à déployer

Le méta-modèle Le méta-modèle Déploiement distribué avec explorer Méta-modèle en deux paquetages Paquetage TechnoExpert : definition des concepts manipulés par les experts logiciels d une techno donnée Paquetage SystemAdmin : utilisé par les administrateurs et utilisateurs finaux pour définir des modèles représentant leurs processus de déploiement

Le méta-modèle Le méta-modèle Déploiement distribué avec explorer Principaux concepts du méta-modèle Personality : une techno donnée SoftwareType & SoftwareInstance : entité logicielle et instance Procedure : tâche (e.g. install, start, configure, stop...) Instruction : sous-tâche de procédure PropertyType & Property : propriétés configurables des logiciels dependencies : spécification des dépendances entres logiciels HostType & HostInstance : nœud physique et instance

Le méta-modèle Déploiement distribué avec explorer

Le méta-modèle Le méta-modèle Déploiement distribué avec explorer Validation statique de modèles i) Vérification des dépendances logiciels ii) Vérification des procédures/instructions iii) Prévention des conflits de ressources

Le méta-modèle Le méta-modèle Déploiement distribué avec explorer i) Vérification des dépendances entre logiciels Si un logiciel A dépend d un logiciel B, vérifie qu une instance de logiciel B est présente pour chaque instance de logiciel A déclarée par l utilisateur final Conformance de types : dépendances entre SoftwareInstance (relation DependsOn dans le méta-modèle)

Le méta-modèle Le méta-modèle Déploiement distribué avec explorer ii) Vérification des procédures/instructions Pour chaque procédure (e.g. install/start), la procédure inverse doit exister (resp. uninstall/stop) Ceci assure le repliement correct du système Symétrie des instructions qui composent les procédures, afin d éviter les effets de bords (Ex. couple {launch/kill process})

Le méta-modèle Le méta-modèle Déploiement distribué avec explorer iii) Conflits de ressources Vérifications statiques sur les ports et systèmes de fichiers Ex. - 2 serveurs d applications écoutent sur le même n de port - 2 logiciels utilisent le même répertoire d installation (sur une même machine)

Le méta-modèle Déploiement distribué avec explorer

Le méta-modèle Déploiement distribué avec explorer Aspects techniques Plate-forme à base de composants Modèle de composants OW Fractal 2 couches Software components : composants symbolisant les personnalités, résultat de la projection des modèles (TechnoExpert) Deployment components : bibliothèque de composants masquant les méchanismes de bas-niveau du déploiement, ainsi que l infrastructure physique

Le méta-modèle Déploiement distribué avec explorer Everything s reified as components Chaque concept du méta-modèle est projeté vers un composant Ainsi, tout dans FDF, est réifié sous la forme de composants Méchanismes bas-niveau du déploiement : protocoles de transfert de fichiers : FTP, HTTP, SCP... protocoles d accès à distance : SSH, Telnet, rlogin... shells : SH, CSH, Microsoft MS-DOS... variables d environnements, etc. Logiciels à déployer composite Software Nœuds physiques composite Host Automate pour l orchestration et la gestion des dépendances

FDF Le méta-modèle Déploiement distribué avec explorer Les composants bas-niveau (dits de déploiement) pour masquer l hétérogénéité

FDF Le méta-modèle Déploiement distribué avec explorer Le composite Software Représentation d un logiciel avec FDF Tous les logiciels (i.e. entités des personnalités) héritent de ce composant Un Software est composé de : propriétés configurables : home, chemin vers l archive, port... procédures : install, configure, start, stop, uninstall - contiennent les instructions (composants clients des composants de déploiement) références vers d autres Software (i.e. les dépendances) composants d automate

Composite Software Introduction Le méta-modèle Déploiement distribué avec explorer

Le méta-modèle Déploiement distribué avec explorer Un exemple concret: JOnAS SERVER (expert logiciel)

Le méta-modèle Déploiement distribué avec explorer Une instance de JOnAS (administrateur/utilisateur)

Le méta-modèle Déploiement distribué avec explorer Déploiement distribué avec Machine d exècution FDF Déployée sur un nœud quelconque Déploie sur les autres nœuds Problème Déploiement à très large échelle? e.g. 5 000, 10 000 ou 50 000 nœuds... Ressources physiques limitées sur une machine Sockets, mémoire, temps CPU, nombre de threads, etc.

Le méta-modèle Déploiement distribué avec explorer Déploiement distribué avec Distributed Idée: utilisation de plusieurs nœuds pour déployer Déploiement de plusieurs serveurs FDF... avec FDF! Chaque serveur FDF a à sa charge, une partie du processus globale du déploiement Exemple Déploiement sur 5000 nœuds, avec 100 serveurs de déploiement 500 nœuds / serveur FDF

Le méta-modèle Déploiement distribué avec explorer Déploiement distribué avec

Le méta-modèle Déploiement distribué avec explorer explorer Interface graphique permettant de charger les descriptions Exploration hiérarchique du système décrit, i.e. les nœuds et logiciels Actions sur le système Visualisation graphique des dépendances entre logiciels

explorer Introduction Le méta-modèle Déploiement distribué avec explorer

Performances Introduction Le méta-modèle Déploiement distribué avec explorer (temps d exécution du processus de déploiement) / (nombre de nœuds)

Performances Introduction Le méta-modèle Déploiement distribué avec explorer (temps d exécution du processus de déploiement) / (nombre de nœuds) / (nombre de serveurs FDF)

Plan Introduction 1 Introduction 2 Complexité Hétérogèneité Validation Passage à l échelle 3 Le méta-modèle Déploiement distribué avec explorer 4 5

ProActive Cadre pour programmer, composer et déployer des applications distribuées sur des infrastructures de grilles GoDIET Outil de déploiement pour intergiciel de grilles. Non lié à une technologie donnée ou modèle de programmation quelconque ProActive permet de déployer des serveurs d applications ProActive GoDIET... le middleware DIET peut potentiellement déployer ProActive et DIET

GADe/ADAGE (S. Lacour) Processus générique, et outil de déploiement pour un déploiement automatique sur grilles de calcul Decription des applications séparée de la description des ressources Entrées pour la phase deployment planning Projection des processus de l application vers nœuds sélectionnés Plan de déploiement executé par ADAGE Spécialisations de l approche pour déploiement d applications à base de composants CORBA, et applications MPI

Vs GADe/ADAGE Raffinement des 3 phases considérées par l architecture GADe Installation de fichiers, démarrage de processus et configuration Validation du déploiement Perspective intéressante pour : concept de virtual host

TakTuk Outil pour déployer en parrallèle (exécution de commandes) sur un grand nombre de nœuds Auto-déploiement du moteur TakTuk pour le passage à l échelle Egalement distribué Gestion des dépendances, orchestration, plus fine granularité des tâches de déploiement peut wrapper l outil TakTuk (personnalité dédiée)

KaDeploy Déploiement d images systèmes sur des nœuds distants Construction d images pré-configurées e.g. Déploiement du middleware Globus sur Grid 5000 Construction d images très coûteux: configuration du logiciel et des variables d environnements Orchestration dynamique du processus de déploiement est une approche alternative pour configurer un système à l exécution

OMG D&C Spécification Deployment and Configuration of Component-based Applications Concepts géneriques pour exprimer le déploiement des applications métiers indépendamment du modéle sous-jacent Rien sur le déploiement de la couche {intergiciel/serveur d applications} Adresse les architectures orientées service (SOA) Vérification, orchestration et passage à l échelle

Plan Introduction 1 Introduction 2 Complexité Hétérogèneité Validation Passage à l échelle 3 Le méta-modèle Déploiement distribué avec explorer 4 5

Conclusion Introduction Déploiement automatisé de systèmes distribués, hétérogènes sur de larges infrastructures Un méta-modèle capturant les concepts abstraits du déploiement logiciel Décrire le processus de déploiement d un système Quelque soient le paradigme, la technologie et le runtime, ainsi que la granularité Validation des grandes expériences indispensable!

Conclusion Introduction Personalités supportées Systèmes CORBA, intergiciel OpenCCM et applications CCM, Services/outils pour la grille (OAR/OARGrid), Systèmes SOA (SCA, Apache Tuscany, processus BPEL, moteurs Orchestra et ActiveBPEL, PEtALS JBI), Systèmes JEE (Apache Geronimo, JBoss, JOnAS, SUN GlassFish), et systèmes autonomes JASMINe/Jade Systèmes Fractal (implémentation Julia, Fractal ADL and RMI),

Conclusion Introduction Personalités supportées Conteneur de servlets Apache Tomcat, daemon HTTPd, Java Runtime Environment (JRE), JamVM, Outil Apache Ant, registre OpenLDAP, SGBD comme le serveur MySQL, Machines virtuelles avec QEMU et images système (ISO), Nexuiz (doom-like en réseau).

Perspectives Assignation automatique des logiciels sur les nœuds physiques (mappings) Plus proche de la philosophie de la grille Comportement d autonomie lors du déploiement e.g. Déploiement automatique (reconfiguration dynamique du système) si nouveaux nœuds disponibles, panne, etc.