Administration d'infrastructures logicielles avec Jade



Documents pareils
Introduction au Déploiement

Système d administration autonome adaptable: application au Cloud

Procédure d'installation du serveur Apache HTTPD pour Windows


JOnAS 5. Serveur d application d

Open Source Job Scheduler. Installation(s)

Serveur d'application à la juste taille

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

Apache 2.4 Installation et configuration

Module 7 : Configuration du serveur WEB Apache

Les serveurs WEBUne introduction

TP Service HTTP Serveur Apache Linux Debian

Load Balancing avec Apache 2 14/07/10

A. Architecture du serveur Tomcat 6

Introduction aux applications réparties

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

Table des matières Hakim Benameurlaine 1

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

Sommaire. La haute-disponibilité. L'offre OpenSource. Les systèmes tiers. MySQL

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

Installation. Conception, mise en œuvre, hébergement, exploitation et

Avertissement : CybEO. Cette version du manuel d'exploitation de l'application CybEO est une version de travail.

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

Suzy Hélène Germaine TEMATE NGAFFO

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Consolidation. Grid Infrastructure avec la 11gR2

MANUEL D INSTALLATION de GEONETWORK sur un serveur LINUX CentOS 4

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

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

JOnAS Day 5.1. Outils de développements

Maîtriser Apache. Benjamin Drieu. version

Architecture de la plateforme SBC

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

Gestion d identités PSL Exploitation IdP Authentic

Haute-disponibilité et bases de données

Zabbix. Solution de supervision libre. par ALIXEN

Petit guide pour l installation de CVW sous Linux

Formation en Logiciels Libres. Fiche d inscription

JOnAS 5 Enterprise OSGi javaee compliant

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

Installation d un hébergement Web à domicile

Le serveur Web : Apache

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

Conception des systèmes répartis

TARDITI Richard Mise en place d une Haute Disponibilité

Installer Enterprise Miner 5.1 en SAS environnement Windows

Hébergement de sites Web

Serveur Subversion Debian GNU/Linux

Le serveur web Apache

Guide d installation rapide

Application web de gestion de comptes en banques

Tutoriel compte-rendu Mission 1

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

Jahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3

Procédure d'installation

Administration réseau sous Linux

APACHE 2.4. Installation et configuration. Nicolas MARTINEZ

Installation du package esup-portail Version uportal-2.5.x-esup

Système Normalisé de Gestion des Bibliothèques -SYNGEB : version Réseau-

Comment avoir le logiciel? Le serveur web APACHE peut être téléchargé gratuitement du site web de APACHE:

Java pour le Web. Cours Java - F. Michel

SERVEUR WEB LINUX LAMP. Raymond RAZAFIMAMONJY Administration LINUX / UNIX Chapitre 15

Mahamadou Abdoulaye TOURE

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Configuration du serveur Web Apache. Master 1 STIC-Informatique 1

LIVRE BLANC PRODUIT. Evidian SafeKit. Logiciel de haute disponibilité pour le clustering d application

REPARTITION DE CHARGE LINUX

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

MQPerf un outil de diagnostic en mode SaaS des performances optimales du MOM JORAM

Serveurs et environnements de développement. Serveur Web

Quick Start Installation de MDweb version 2.3

WebSphere MQ & Haute Disponibilité

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

Applications distribuées: le retour du client "riche"

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - -

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition)

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Réaliser un inventaire Documentation utilisateur

Tests de montée en charge & Haute disponibilité

La continuité de service

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

IBM DB2 Alphablox. d administration GC

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

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

Lotus Notes et Domino 8.5 Administration de serveurs Domino

La gestion des identités au CNRS Le projet Janus

L installation du module Webmail nécessite également quelques prérequis, à savoir :

Oracle Database 11g: Administration Workshop I Release 2

Catalogue des Formations Techniques

Architecture et Extensions d ArcGIS Server

Universal MiddleWare Industrialyzer

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Transcription:

Administration d'infrastructures logicielles avec Jade Daniel Hagimont IRIT, décembre 2006

Contexte Infrastructures logicielles réparties Complexité et hétérogénéité Besoin d administration Fonctions d administration Installation Configuration Réglage (optimisation) Traitement des pannes Sécurité... > potentiellement dynamique

Position du problème Administration Complexité Réalisée par des humains Conséquence Erreurs (majoritairement de configuration) Réactivité faible Coûteuse En ressources humaines En ressources matérielles (surdimensionnement)

Approche : logiciel d'administration autonome Logiciel d administration Autonome Interfaces programmatiques, formalismes de haut niveau (uniforme) Par opposition à des fichiers de configuration complexes Réactivité Observation, reconfiguration Moins d erreurs Installation, déploiement, configuration Programme d observation et reconfiguration Sans intervention humaine Economies de ressources Humaines, car moins de complexité et d interventions Matérielles, car allocation dynamique (pannes ou réglage)

Jade : administration autonome Un modèle à composants Logiciels patrimoniaux Pour modéliser l environnement administré Pour construire le logiciel d administration Encapsulés dans des composants (contrôle) Fournissent une interface d administration (uniforme) Architectures logicielles à composants Pour modéliser une infrastructure administrée complexe Pour construire des fonctions d administration avancées Installation, déploiement, réparation S applique à lui-même (logiciel d administration adaptable)

Modèle à composants Fractal http://fractal.objectweb.org Composants primitifs, composites, partagés Liaisons clientes, serveurs, internes, externes Introspection, adaptation ADL

Application à J2EE en grappe J2EE en grappe RUBiS (version servlet) Presentation Web tier tier Database tier mod_jk plugin Tomcat Users L4-switch - AJP13 JDBC Tomcat

Encapsulation dans des composants

Encapsulation des logiciels patrimoniaux Plusieurs fichiers de configuration hétérogènes Configuration d'apache httpd.conf 160 lignes Configuration de Tomcat server.xml 80 lignes Connexion Apache/Tomcat Configuration de Rubis worker.properties config.java Environnement en grappe Plusieurs copies réparties de ces fichiers de configuration Déploiement : 1-2 semaines ServerType standalone ServerRoot /users/hagimont/repository/apache_v1 PidFile /tmp/depalma_apache_local/logs/httpd.pid ScoreBoardFile /tmp/depalma_apache_local/logs/httpd.scoreboard <?xml version="1.0" encoding="iso-8859-1"?> Timeout 300<Server> KeepAlive workers.tomcat_home=/tmp/depalma_tomcat_local On <ContextManager workdir="work"> MaxKeepAliveRequests 100 <LoaderInterceptor11 public static useapplicationloader="true"> final String HTMLFilesPath = KeepAliveTimeout 15 workers.java_home=/cluster/java/j2sdk1.4.2_01 </LoaderInterceptor11> "/home/margueri/workspace/rubis/servlet_html"; MinSpareServers 5 <TrustedLoader> public static final String DatabaseProperties = version="1.0" MaxSpareServers 10 <?xml ps=/ </TrustedLoader> encoding="iso-8859startservers<logsetter 5 "/home/margueri/workspace/rubis/servlets/mysql.properties"; name="tc_log" timestamps="true" verbositylevel="information"> <?xml version="1.0" 1"?> MaxClientsworker.worker.port=8098 150 </LogSetter> public static final int AboutMePoolSize = 10; encoding="iso<server> workers.tomcat_home=/tmp/depalma_tomcat_local MaxRequestsPerChild 0 enabled="false"> 8859-1"?> <LogEvents public static final int BrowseCategoriesPoolSize = 6; <ContextManager <?xml workers.java_home=/cluster/java/j2sdk1.4.2_01 Port 8081 worker.worker.host=sci20 </LogEvents> workdir="work"> public static final int BrowseRegionsPoolSize = 6; User depalma ps=/ <ContextXmlReader config="conf/server.xml"> <LoaderInterceptor11 worker.worker.type=ajp13 version="1.0" encoding="iso-8859-1"?> public static final int BuyNowPoolSize = 4; Group<?xml sardes useapplicationloader="t </ContextXmlReader> worker.worker.port=8098 <Server> rue"> ServerAdmin hagimont@imag.fr public static final int PutBidPoolSize = 8; <ContextXmlReader config="conf/apps.xml"> worker.worker.host=sci20 worker.worker.lbfactor=100 <ContextManager workdir="work"> </LoaderInterceptor11> DocumentRoot "/tmp/depalma_apache_local/htdocs" </ContextXmlReader> public static final int PutCommentPoolSize = 2; worker.worker.type=ajp13 <LoaderInterceptor11 <Directory /> <AutoDeploy source="modules" target="modules" redeploy="true"> worker.list=worker, loadbalancer public static final int RegisterItemPoolSize = 2; useapplicationloader="true"> worker.worker.lbfactor=100 Options FollowSymLinks </AutoDeploy> </LoaderInterceptor11> public static final int RegisterUserPoolSize = 2; AllowOverride None worker.list=worker, loadbalancer <AutoWebApp dir="modules" host="default" trusted="true"> worker.loadbalancer.type=lb <TrustedLoader> </Directory></AutoWebApp> worker.loadbalancer.type=lb </TrustedLoader> worker.loadbalancer.balanced_workers=worker <LogSetter name="tc_log" timestamps="true" worker.loadbalancer.balanced_workers=worker verbositylevel="information"> </LogSetter> <LogEvents enabled="false"> </LogEvents> <ContextXmlReader config="conf/server.xml">

Encapsulation des logiciels patrimoniaux Interface d accès aux attributs-clés Interface de gestion des liaisons Exemple pour Apache : port, user, jkmounts Exemple pour Apache : workers Interface d administration configure, start, stop, loadapp

Encapsulation des logiciels patrimoniaux 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 Tomcat1/sci20 Tomcat2/sci22 a/ Apache1.stop() Apache1.unbind("ajp-itf") Apache1.bind( ajp-itf,tomcat2-itf) Apache1.start() b/ change the distributed ADL config c/ use a GUI e.g: fractal explorer Jade

Services d administration (managers) Gestion des nœuds Déploiement/reconfiguration Réparation Langage d architecture logicielle (ADL) Architecture logicielle reconfigurable Observation des nœuds (pannes franches) Réparation autonome Optimisation Observation des performances Dimensionnement dynamique Protection Représentation par des composants Clusters virtuels Politique d allocation dynamique des nœuds

Gestion des noeuds (cluster manager) Cluster manager Cluster 1 node 1 Apache Tomcat1 node 2 Tomcat2 Mysql Cluster 2 node 3 node 5 node 4 Désignation explicite des noeuds Allocation dynamique des noeuds (eg oar)

Gestion de l'application (application manager) Application manager Tomcat1 Mysql Apache Tomcat2

Réparation/optimisation QoS Manager Reconfigure Failure Manager Repair sensors actuators sensors Managed Application actuators

Réparation Nom du noeud en panne Obtenir la liste des composants déployés sur le noeud Allocation d un noeud libre (Cluster Manager) Déploiement des nouveaux composants sur le noeud Configuration des nouveaux composants Reconfiguration des liaisons Démarrage des nouveaux composants MAJ des sondes

System representation jade SR (system representation) jade managers managers managed system SR managed system

Déploiement - ADL ADL utilisé pour le déploiement des différents services Jade : configuration de Jade Gestion des nœuds : liste de nœuds Gestion de l application : architecture J2EE Gestion des pannes : sondes, réparation

Déploiement - ADL <definition name="fr.jade.test.j2ee.startj2eetype">... <component name="apache1" definition="fr.jade.resources.apache.apacheresourcetype"> <attributes signature="fr.jade.meta.api.control.genericattributecontroller"> <attribute name="resourcename" value="apache"/> <attribute name="dirlocal" value="/tmp/depalma_apache_local"/> <attribute name="user" value="depalma"/> <attribute name="group" value="sardes"/> <attribute name="port" value="8080"/> <attribute name="serveradmin" value="depalma@imag.fr"/> <attribute name="jkmounts" value="servlet"/> </attributes> <virtual-node name="node1"/> </component> <component name="tomcat1"... </component> <component name="tomcat2"... </component> <component name="mysql"... </component>... <binding client="apache.worker0" server="tomcat1.resource"/> <binding client="apache.worker1" server="tomcat2.resource"/> <binding client="tomcat1.jdbc" server="mysql.resource"/> <binding client="tomcat2.jdbc" server="mysql.resource"/> </definition> Users -

Gestion des installations Un composant Repository Associe une installation binaire à chaque paire (nom_logiciel, nom_machine) Jade 1 : une installation = un répertoire partagée par NFS Jade 2 : une installation = un bundle OSGI partagé par HTTP

Expérimentation avec la réparation RUBiS Client Emulator Apache Web Server MySQL Database Tomcat Servlet Containers

Pannes des Tomcats (sans Jade)

Réparation autonome sur Tomcat (avec Jade)

Expérimentation avec le dimensionnement dynamique... Tomcat Servlet Containers C-JDBC database cluster middleware MySQL Databases

Dimensionnement autonome sur Mysql

Dimensionnement autonome sur Tomcat

Expérimentations avec Diet <definition name="fr.jade.test.diet.startdiettype">... <component name="ma" definition="fr.jade.resources.magent.masteragenttype"> <attributes signature="fr.jade.meta.api.control.genericattributecontroller"> <attribute name="resourcename" value="ma"/> <attribute name="dirlocal" value="/tmp/hagimont_diet_local/ma"/> <attribute name="dirinstall" value="/home/hagimont/diet/diet-2.1/install"/> <attribute name="tracelevel" value="1"/> <attribute name="name" value="ma"/> <attribute name="uselogservice" value="0"/> </attributes> <virtual-node name="node1"/> </component>... <binding client="ma.la0" server="la_0.la"/> <binding client="la_0.sed" server="server_0.sed"/> <binding client="la_1.sed" server="server_1.sed"/> </definition>

Expérimentation avec la réparation MA LA SED SED SED

Pannes d'un SED (sans Jade)

Réparation d'un SED (avec Jade)

Travaux en cours et perspectives Expérimentations avec Diet Nettoyage et évaluation poussée Passage à l'échelle Une thèse a démarré Autres domaines d'application Middleware de messagerie asynchrone (Joram : implantation JMS) Systèmes embarqués (Think)