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



Documents pareils
C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

JOnAS 5. Serveur d application d

ORACLE 10g Découvrez les nouveautés. Jeudi 17 Mars Séminaire DELL/INTEL/ORACLE

«clustering» et «load balancing» avec Zope et ZEO

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

Haute-disponibilité et bases de données

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

Mise en œuvre des serveurs d application

JOnAS Day 5.1. Clustering

«Clustering» et «Load balancing» avec Zope et ZEO

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

Architectures en couches pour applications web Rappel : Architecture en couches

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

Proposition d une architecture pour ebay, en mettant l accent sur les notions de scalabilité, de résilience, et de tolérance aux pannes.

Single Sign-On open source avec CAS (Central Authentication Service)

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

CNAM Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

Architecture et Extensions d ArcGIS Server

Architectures d implémentation de Click&DECiDE NSI

Tungsten: une implémentation du futur clustering de PostgreSQL

Pour les entreprises de taille moyenne. Descriptif Produit Oracle Real Application Clusters (RAC)

Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2.

1 JBoss Entreprise Middleware

Environnements de Développement

Introduction à la plateforme J2EE

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

PERFORMANCE ET DISPONIBILITÉ DES SI

Master Informatique et Systèmes. Architecture des Systèmes d Information. 03 Architecture Logicielle et Technique

Cours 6. Sécurisation d un SGBD. DBA - M1ASR - Université Evry 1

Load Balancing MASSAOUDI MOHAMED CHAHINEZ HACHAICHI AMENI DHAWEFI ERIJ MAIJED EMNA BOUGHANMI

Architectures n-tiers Intergiciels à objets et services web

Technique et architecture de l offre Suite infrastructure cloud. SFR Business Team - Présentation

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

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

Consolidation. Grid Infrastructure avec la 11gR2

Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus

JOnAS 5 Enterprise OSGi javaee compliant

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

+ = OpenStack Presentation. Raphaël Ferreira - enovance. Credits : Thanks to the OpenStack Guys 1

Livre. blanc. Solution Hadoop d entreprise d EMC. Stockage NAS scale-out Isilon et Greenplum HD. Février 2012


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

Introduction aux applications réparties

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

Bases de données documentaires et distribuées Cours NFE04

Le cloud computing au service des applications cartographiques à haute disponibilité

Cluster High Availability. Holger Hennig, HA-Cluster Specialist

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

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

Concours interne d ingénieur des systèmes d information et de communication. «Session 2010» Meilleure copie "étude de cas architecture et systèmes"

e need L un des premiers intégrateurs opérateurs Cloud Computing indépendants en France

Hibernate vs. le Cloud Computing

Oracle Maximum Availability Architecture

Formation en Logiciels Libres. Fiche d inscription

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

Compte Rendu d intégration d application

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

Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1

Introduction au Déploiement

CLOUD CP3S SOLUTION D INFRASTRUCTURE SOUMIS À LA LÉGISLATION FRANÇAISE. La virtualisation au service de l entreprise. Évolutivité. Puissance.

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

<Insert Picture Here> Maintenir le cap avec Oracle WebLogic Server

CAS, un SSO web open source. 14h35-15h25 - La Seine A

Présentation de nos prestations

La continuité de service

Organiser vos données - Big Data. Patrick Millart Senior Sales Consultant

Qu est ce que le Cloud Computing?

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

Livre blanc Haute disponibilité sous Linux

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

Présentation Alfresco

Automatisation de la découverte, de la surveillance et de l analyse des causes premières dans le datacenter virtualisé (VDC) EMC SERVER MANAGER

Gestion de tests et tests de performance avec Salomé-TMF & CLIF

SECURIDAY 2012 Pro Edition

Sécurisation et résilience des services DNS/DHCP Gestion de l adressage IP automatisée

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

Hébergement de sites Web

Nouvelles Plateformes Technologiques

Sybase High Avalaibility

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

Documentation de la plate forme JOnAS

[WEB4ALL PRESENTATION ET TARIFS VPS INFOGERES]

Disponibilité et fiabilité des services et des systèmes

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Administration de Citrix NetScaler 10.5 CNS-205-1I

Zimbra Collaboration 8.X

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

Master Data Management en Open Source C est le Bon Moment

Travail personnel. UE NFE107 Architecture et urbanisation des systèmes d' information. La haute disponibilité

Système d administration autonome adaptable: application au Cloud

Messagerie asynchrone et Services Web

Hébergement MMI SEMESTRE 4

IBM DB2 Alphablox. d administration GC

DHCP Failover for Windows Server 2012 By COCHET Anthony

LES SOLUTIONS OPEN SOURCE RED HAT

Solution Haute Disponibilité pour Linux

Informatique en nuage Cloud Computing. G. Urvoy-Keller

Transcription:

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source Jérôme Petit, Serge Petit & Serli Informatique, ITMatic Jérôme Petit, Serge Petit &

SERLI & ITMatic Serli : SSII de 50 personnes Systèmes d informations Embarqué & temps réel Systèmes & réseaux Marquage de documents techniques ITMatic : cabinet d architecture JEE Architecture et développement Java EE Jérôme Petit

SERLI & ITMatic Des équipes impliquées dans l Open Source Utilisation massive de briques Open Source Contributions diverses au cours des projets Engagement personnel par philosophie Gestion de projets Open Source Java JaasLounge : interopérabilité JAAS pour Java EE : gestion de clusters Java EE D autres projets en gestation Jérôme Petit

SERLI & ITMatic : l Open Source, pourquoi? Apports de notre engagement Open Source : Une école de qualité technique Des compétences Up-to-Date La crédibilité auprès de nos clients Jérôme Petit

Plan 1 2 3 4

Architectures n-tiers Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Applications orientés serveurs Chaque couche logicielle est centralisée : : Pages Web Métier : Serveurs d applications Données : Base de données

Architectures n-tiers Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Avantages de la gestion centralisée Architecture transparente pour l utilisateur (un seul point d entrée) Mises à jour simplifiées Administration simplifiée Sécurité accrue Gestion des transactions,...

Architectures n-tiers Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Inconvénients Hautes performances des serveurs requises Apparition des SPOF (Single Point of Failure)

SPOF Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Chaque tier est représenté par une machine unique

SPOF Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Une machine subit une défaillance

SPOF Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient L architecture complète est indisponible

Problèmatique Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Problèmatique Moyens Supprimer les SPOF dans une architecture n-tiers Augmenter la disponibilité des services Solutions de clustering

Une définition... Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Dispositifs visant à garantir la disponibilité d un service. Taux de disponibilité Durée d indisponibilité 97 11 jours 98 7 jours 99 3 jours et 15 heures 99,9 8 heures et 48 minutes 99,99 53 minutes 99,999 5 minutes 99,9999 32 secondes

Principes Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient La redondance augmente la disponibilité Mettre en place un système hautement disponible prend du temps

Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Haute Disponibilité et Clustering Le clustering est une solution pour rendre une architecture n-tiers hautement disponible.

Le clustering Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Définition Création d un ou plusieurs clusters Plusieurs ordinateurs vus comme une seule et unique machine Noeuds connectés par un réseau haut débit Chaque noeud travaille indépendamment des autres Deux grands types de cluster Clusters de calcul (Grid Computing) Clusters de haute disponibilité

Le clustering Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Définition Création d un ou plusieurs clusters Plusieurs ordinateurs vus comme une seule et unique machine Noeuds connectés par un réseau haut débit Chaque noeud travaille indépendamment des autres Deux grands types de cluster Clusters de calcul (Grid Computing) Clusters de haute disponibilité

Avantages Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Définition Le clustering permet : Un meilleur support de la montée en charge Scalability Augmentation de la disponibilité Fail-Over Permet de répartir la charge Load-Balancing Faible coût.

Scalabilité Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Objectifs Traitement d une requête : temps t Traitement pour un ensemble de requêtes concurrentes : temps proche de t

Scalabilité Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Problèmatique Comment supporter une charge importante?

Scalabilité Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Scalabilité verticale

Scalabilité Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Scalabilité horizontale

Scalabilité Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Pour assurer la montée en charge d une architecture n-tiers 1 Augmenter les performances des serveurs RAID Mémoire CPU... 2 Augmenter le nombre de noeud Avantage Deuxième solution moins coûteuse

Fail-Over Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Objectifs Garantir une continuité de service en cas de panne d une machine Sans intervention humaine La plus transparente possible pour l utilisateur

Fail-Over Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient A est actif B surveille l état de A

Fail-Over Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient A subit une défaillance

Fail-Over Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient B remplace A Le service est toujours actif

Fail-Over Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Une architecture de Fail-Over peut supporter une réplication d état Réplication de l état En mémoire centrale Base de donnée unique Système de fichier partagé Les mécanismes de réplication permettent la continuité de service Coût de la continuité La réplication de l état implique des ressources supplémentaires

Fail-Over Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Coût de la continuité Le Fail-Over peut être assuré avec la virtualisation des serveurs : Plusieurs instances de serveurs Plusieurs instances de systèmes d exploitation Les besoins guident les choix de fonctionnalités du cluster

Load Balancing Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Objectifs Distribution de la charge Différents algorithmes Round-Robin Weight-Based Aléatoire Différentes solutions Logicielles : machine dédiée Matérielles : DNS Round Robin (Cisco,...)

Load Balancing Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient

Load Balancing Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Avantages Perte d un noeud : Pas la rupture du service Diminution faible de la puissance CPU du cluster

Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient Le clustering et l architecture JEE Un niveau d abstraction supplémentaire Un cluster est constitué de plusieurs instances du serveur JEE pouvant être hébergées par un ou plusieurs ordinateurs

Inconvénients Architectures n-tiers Haute Disponibilité Le clustering Avantages Le clustering & JEE Inconvénient La complexité de mise en oeuvre... Les fonctionnalités disponibles... Les systèmes de gestion de cluster... varient énormement d un produit à un autre.

et le clustering Lien Version actuelle : 4.7.4 est un serveur d application open-source conforme aux spécifications Sun J2EE 1.4 Un projet du consortium ObjectWeb Communauté très active

et le clustering Exemple SampleCluster2 SampleCluster2 Disponible depuis la version 4.5 de Intégration de l outil newjc Lien Lien Objectifs de newjc Outil de création d une configuration de cluster Simplicité de mise en oeuvre Déploiement d une application de test

Architecture de la démonstration et le clustering

et le clustering Exemple SampleCluster2 Fonctionnalités mises en oeuvre Répartiteur de charge HTTP Réplication de sessions HTTP Réplication de l état des EJB Disponibles Fail-Over et Load-Balancing pour le tier Web et pour le tier métier sur une machine unique

et le clustering Fonctionnement SampleCluster2 3 types d EJB sont utilisés (Stateless et Statefull Session Bean, Entity Bean) Au premier appel de la JSP :Un Statefull Session Bean est créé et sa référence est ajoutée à la session HTTP Aux appels suivants : Un Stateless Session Bean est créé, les informations qu il contient sont ajoutées au Statefull Session Bean La page JSP affiche les informations recueillies par le Statefull Session Bean Toutes les 10 instanciations du Stateless Session Bean, un Entity Bean est créé

et le clustering

Fonctionnement Serge Petit

Fonctionnement Buts Que la base de données ne soit plus un SPOF Répartition de charge est la suite de C-JDBC. C-JDBC fut au départ réalisé par l INRIA, puis d autres contributeurs ont rejoint le projet. est hebergé par Continuent.org, et une partie des premiers contributeurs travaille pour Continuent Inc. http ://c-jdbc.objectweb.org LGPL http ://sequoia.continuent.org Apache v2 Serge Petit

Fonctionnement Fonctionnement Serge Petit

Fonctionnement Fonctionnement Remplacement du driver JDBC : transparent pour l application Serge Petit

Raidb 0 Fonctionnement Serge Petit

Raidb 1 Fonctionnement Serge Petit

Raidb 2 Fonctionnement Image extraite de la documentation officielle du projet Serge Petit

Raidb 0-1 Fonctionnement Serge Petit

Raidb 1-0 Fonctionnement Serge Petit

Fonctionnement Limitations java.sql.array et java.sql.ref non supportés Connections XA (transactions distribuées) voir le projet XAPool pour le support de XA avec Serge Petit

Fonctionnement Serge Petit

Fonctionnement Serge Petit

Fonctionnement Serge Petit

Fonctionnement Serge Petit

Fonctionnement Serge Petit

Fonctionnement Serge Petit

Conception technique Version actuelle

Conception technique Version actuelle Lien est... un projet libre dont le but est de configurer et d administrer simplement "une architecture clusterisée"

Conception technique Version actuelle Rappel des principaux obstacles à la création d un cluster La complexité de mise en oeuvre Solution : Stocker les procédures de configuration et les automatiser Des systèmes de gestion de cluster non standardisé Solution : Un système d administration unique

Conception technique Version actuelle Production du fichier de configuration

Conception technique Version actuelle Production du fichier de configuration Deux moyens de génération En éditant directement le fichier XML (en respectant les contraites du schéma XSD) En passant par une interface graphique : Assitant de configuration ()

Architecture globale Conception technique Version actuelle

Conception technique Version actuelle Architecture serveur d administration

Conception technique Conception technique Version actuelle

Conception technique Version actuelle Conception technique Briques logicielles Parseurs XML (JAXP, JAXB) Modification des fichiers XML existants Gestion du fichier de configuration Log4j Ant JUnit

Conception technique Version actuelle Version actuelle Disponible Alpha Release Lien Une documentation en ligne 2 plugins Lien Plugins Apache/Mod_JK + ou Tomcat Création d une configuration automatique

Conception technique Version actuelle Version actuelle Disponible Alpha Release Lien Une documentation en ligne 2 plugins Lien Plugins Apache/Mod_JK + ou Tomcat Création d une configuration automatique

Plugins Conception technique Version actuelle Disponible Apache/Mod_JK et Apache/Mod_JK and Tomcat Création d une configuration automatique, composée : d un répartiteur de charge d un dispositif de réplication de sessions

Conception technique Version actuelle RoadMap Prochaine Release 1 Création du plugin 2 Conversion des sources en tâches Ant 3 Outil de supervision en version alpha

Conception technique Version actuelle Comment contribuer à? Production de plugins Proposer des modifications du schéma XSD Rédaction de documentation

Conception technique Version actuelle Architecture de la démonstration

Remerciements Merci : Aux organisateurs des RMLL Au consortium ObjectWeb Stéphane Traumat Benoit Pelletier