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

#12 et #13 Versioning et JaDOrT

  • 1.
    Migration à chaudde versions d'applications JOnAS Day 5.1
  • 2.
    Pourquoi ? Desmises à jour ou maintenances ont régulièrement lieu sur les applications et les infrastructures
  • 3.
    Seule solution actuellepour 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)
  • 4.
    Déployer le middlewareet la nouvelle application sur le nouveau cluster, configurer et valider ce dernier
  • 5.
    Reconfigurer le loadbalancing pour passer d'un cluster à un autre
  • 6.
    Pourquoi ? Desmises à jour ou maintenances ont régulièrement lieu sur les applications et les infrastructures
  • 7.
    Seule solution actuellepour les applications 5/7 ou 8/24 Interrompre le service à une période où aucun utilisateur n'est supposé arriver
  • 8.
    Dire à l'administrateurde venir à minuit ou le week end pour l'opération
  • 9.
    Faire en sorteque 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
  • 10.
    Problèmes cachées desdeux “solution”s Besoin d'un cluster qui reste inactif plus de 99% du temps
  • 11.
  • 12.
  • 13.
    Utilisateurs mécontents Çadevient la responsabilité de l'administrateur de s'assurer que les sessions utilisateurs seront conservées lors de l'opération
  • 14.
    Dans la plupartdes cas, les sessions sont perdus lors de la maitnenance
  • 15.
    Problèmes cachées desdeux “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 ?
  • 16.
    Es-ce que l'onne 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, …)
  • 17.
    Le retour (alertes,mesures de performance, …) est manuel, difficile à rapporter
  • 18.
    Service versioning JOnAS5 JOnAS Day 5.1
  • 19.
    JOnAS 5 :service versioning Chaque application (EAR, EJB, WAR et même Bundle OSGi) a une Implementation-Version
  • 20.
    Le service versioningpermet 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
  • 21.
    Chaque version estune 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
  • 22.
    Les nouvelles versionspeuvent être déployées avec des stratégies différentes
  • 23.
    JOnAS 5 :service versioning
  • 24.
    JOnAS 5 :service versioning
  • 25.
    JOnAS 5 :service versioning
  • 26.
    JOnAS 5 :service versioning L'administrateur déploie la v. 2.0 mais la met en politique “Privée” (pour les tests de validation)
  • 27.
    JOnAS 5 :service versioning
  • 28.
    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
  • 29.
    JOnAS 5 :service versioning La v. 2.0 finit d'être validée donc devient la version par défaut
  • 30.
    JOnAS 5 :service versioning
  • 31.
    JOnAS 5 :service versioning
  • 32.
    JOnAS 5 :service versioning Moins de 0.5 millisecondes de rallongement de temps de réponse par requête
  • 33.
    JOnAS 5 :service versioning Mesure de l'avancement de la migration : pourcentage d'utilisateurs sur la nouvelle version
  • 34.
    Les temps deréponse deviennent court et l'usage CPU plus bas quand on avance dans la migration
  • 35.
    JaDOrT JOnAS Day5.1 JA SMINe D eployment Or chestration T ool
  • 36.
    JaDOrT Centralise lamigration d'applications et la gestion de l'infrastructure Vue globale des serveurs et des applications
  • 37.
    Assistance pour lechoix des serveurs à maintenir (vérification de la capacité)
  • 38.
    La migration deversions d'applications tout comme la maintenance peut être fait simultanément sur plusieurs serveurs et par paquets de serveurs
  • 39.
    Gestion des sessionsutilisateur Multi-serveurs : JOnAS, JBoss, Glassfish, WebLogic, WebSphere, BundleManaged OSGi
  • 40.
    Support des VMsvia l'API JASMINe VMM
  • 41.
    Workflow pour chaquetype d'action
  • 42.
    JaDOrT Toute actionfaite sur tout serveur est journalisé
  • 43.