• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
#12 et #13 Versioning et JaDOrT
 

#12 et #13 Versioning et JaDOrT

on

  • 995 views

Attribution: Savas Ali Tokmen

Attribution: Savas Ali Tokmen

Statistics

Views

Total Views
995
Views on SlideShare
991
Embed Views
4

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 4

http://www.slideshare.net 3
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    #12 et #13 Versioning et JaDOrT #12 et #13 Versioning et JaDOrT Presentation Transcript

    • Migration à chaud de versions d'applications JOnAS Day 5.1
    • Pourquoi ?
      • Des mises à jour ou maintenances ont régulièrement lieu sur les applications et les infrastructures
      • Seule solution actuelle pour les applications 7/7, 24/24
        • Avoir un cluster de machines “physiquement” équivalent (i.e., 100 machines de plus pour 100 machines), qui n'existe que pour des besoins de redéploiement (donc reste inactif plus de 99% du temps)
        • Déployer le middleware et la nouvelle application sur le nouveau cluster, configurer et valider ce dernier
        • Reconfigurer le load balancing pour passer d'un cluster à un autre
    • Pourquoi ?
      • Des mises à jour ou maintenances ont régulièrement lieu sur les applications et les infrastructures
      • Seule solution actuelle pour les applications 5/7 ou 8/24
        • Interrompre le service à une période où aucun utilisateur n'est supposé arriver
        • Dire à l'administrateur de venir à minuit ou le week end pour l'opération
        • Faire en sorte que l'administrateur ne panique pas en l'annonçant que tout doit être opérationnel avant que le soleil de lève ou le week end se termine
    • Problèmes cachées des deux “solution”s
      • Besoin d'un cluster qui reste inactif plus de 99% du temps
      • Interruption de service
      • Administrateurs stressés
      • Utilisateurs mécontents
        • Ça devient la responsabilité de l'administrateur de s'assurer que les sessions utilisateurs seront conservées lors de l'opération
        • Dans la plupart des cas, les sessions sont perdus lors de la maitnenance
    • Problèmes cachées des deux “solution”s
      • L'opération de maintenance de serveurs, qui peut prendre des jours, est faite manuellement
        • Le choix du serveur à arrêter est fait manuellement
          • Es-ce que les serveurs restants peuvent supporter la charge ?
          • Es-ce que l'on ne pourrait pas arrêter plus de serveurs et accélerer l'opération ?
        • Difficile de suivre l'évolution de l'opération (combien de serveurs on a fait, combien de serveurs sont en cours, …)
        • Le retour (alertes, mesures de performance, …) est manuel, difficile à rapporter
    • Service versioning JOnAS 5 JOnAS Day 5.1
    • JOnAS 5 : service versioning
      • Chaque application (EAR, EJB, WAR et même Bundle OSGi) a une Implementation-Version
      • Le service versioning permet d'avoir en parallèle plusieurs versions de la même application
        • Le déploiement d'une nouvelle version se fait sans enlever l'ancienne version
        • Chaque version est une instance différente de l'application (isolée, comme deux applications différentes)
      • Gestion du versioning : lien entre les versions et les utilisateurs
        • Une session démarrée sur une version continue sur cette version tant qu'elle est active
        • Les nouvelles versions peuvent être déployées avec des stratégies différentes
    • JOnAS 5 : service versioning
    • JOnAS 5 : service versioning
    • JOnAS 5 : service versioning
    • JOnAS 5 : service versioning L'administrateur déploie la v. 2.0 mais la met en politique “Privée” (pour les tests de validation)
    • JOnAS 5 : service versioning
    • JOnAS 5 : service versioning La v. 2.0 est toujours en validation interne, donc la v. 1.0 est toujours la version par défaut
    • JOnAS 5 : service versioning La v. 2.0 finit d'être validée donc devient la version par défaut
    • JOnAS 5 : service versioning
    • JOnAS 5 : service versioning
    • JOnAS 5 : service versioning
      • Moins de 0.5 millisecondes de rallongement de temps de réponse par requête
    • JOnAS 5 : service versioning
      • Mesure de l'avancement de la migration : pourcentage d'utilisateurs sur la nouvelle version
      • Les temps de réponse deviennent court et l'usage CPU plus bas quand on avance dans la migration
    • JaDOrT JOnAS Day 5.1 JA SMINe D eployment Or chestration T ool
    • JaDOrT
      • Centralise la migration d'applications et la gestion de l'infrastructure
        • Vue globale des serveurs et des applications
        • Assistance pour le choix des serveurs à maintenir (vérification de la capacité)
        • La migration de versions d'applications tout comme la maintenance peut être fait simultanément sur plusieurs serveurs et par paquets de serveurs
        • Gestion des sessions utilisateur
      • Multi-serveurs : JOnAS, JBoss, Glassfish, WebLogic, WebSphere, BundleManaged OSGi
      • Support des VMs via l'API JASMINe VMM
      • Workflow pour chaque type d'action
    • JaDOrT
      • Toute action faite sur tout serveur est journalisé
      • Possibilité de défaire toute action
      • Gestion complète des erreurs :
        • Voir la cause (journalisée), re-essayer ou ignorer
        • L'administrateur a le contrôle complet
      • Les journaux sont mis en base de données et peuvent être accédés à tout moment
      • Toute opération JaDOrT peut être mis en attente pour reprise plus tard (par exemple, attendre 24 heures pour que les utilisateurs se déconnectent de l'ancienne version)
    • Gestion des sessions utilisateur Frontal Apache
    • Gestion des sessions utilisateur Frontal Apache
    • Gestion des sessions utilisateur Frontal Apache
    • Gestion des sessions utilisateur Frontal Apache
    • Gestion des sessions utilisateur JaDOrT désactive les applications sur le serveur 1 Frontal Apache
    • Gestion des sessions utilisateur Frontal Apache
    • Gestion des sessions utilisateur Les applications sur le serveur 1 sont désactivés, donc tout nouveau client va vers le serveur 2 Frontal Apache
    • Gestion des sessions utilisateur Quelques heures plus tard, le serveur 1 n'a plus de clients Frontal Apache
    • Gestion des sessions utilisateur JaDOrT arrête alors la VM associée et la maintient Frontal Apache
    • Gestion des sessions utilisateur JaDOrT redémarre serveur 1 et active les applications Frontal Apache
    • Gestion des sessions utilisateur Frontal Apache
    • Gestion des sessions utilisateur Frontal Apache
    • Vue globale Applications sur ce groupe de serveurs Serveurs et frontaux Apache associés
    • Aide au choix des serveurs à maintenir Sélection manuelle si on en a envie Capacité et nombre de sessions actifs Etat de chaque serveur (pris en charge ou non) Sélection automatique des serveurs
    • Aide au suivi de l'opération Tâches et avancement global Nombre de sessions actifs Actions pour chaque serveur Statut et avancement pour chaque serveur
    • L'administrateur a toujours le dernier mot
    • Gestion des erreurs Tâche en erreur Possibilité de défaire Actions : refaire ou ignorer Serveur en erreur
    • Journal complet des actions et des erreurs
    • Cas d'usage typiques
      • Déploiement centralisé d'applications avec la gestion centralisée des capacités de versioning des serveurs JOnAS
      • Maintenance applicative, middleware ou matériel centralisé
        • Le suivi des sessions utilisateur évite toute perte de données ou de session
        • Minimisation des coûts grâce au sélection intelligent de serveurs
        • Minimisation de l'impact de performance lors de la migration
        • Aucune interruption de service lors de la migration
      • Maintenance d'une infrastructure hétérogène (JaDOrT supporte JOnAS, JBoss, Glassfish, WebLogic et WebSphere)
      • Maintenance de machines virtuelles
    • JaDOrT
      • JaDOrT est une application standard Java EE 5
      • JaDOrT est accessible via plusieurs interfaces:
        • Interaface Web 2.0 (Adobe Flex)
        • API EJB3 (Programmes Java, actions type batch)
        • Client exécutable Java se connectant à l'API EJB3 (exécutable sous forme shell/batch)
        • Module Shelbie (accès SSH, scripts Groovy, ...)
    • Limites
      • Tiers actuellement pris en charge par JaDOrT
        • Frontal Apache (mod_jk, mod_proxy_balancer)
        • Machines virtuelles (API VMM JASMINe)
        • Serveurs d'application (JOnAS, JBoss, Glassfish, WebLogic, WebSphere)
        • Applications Web
        • EJBs (EJB2 et EJB3)
        • Liens WebService (JAX-WS ou JAX-RPC)
      • Tiers actuellement ignorés
        • JMS
        • Stockage (base de données ou fichier)
    •