Migration à chaud de versions d'applications JOnAS Day 5.1
Pourquoi ? <ul><li>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 </li><ul><li>Avoir un cluster de machines “physiquement” équivale...
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 </li></ul></ul>
Pourquoi ? <ul><li>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 </li><ul><li>Interrompre le service à une période où aucun utili...
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...
Problèmes cachées des deux “solution”s <ul><li>Besoin d'un cluster qui reste inactif plus de 99% du temps
Interruption de service
Administrateurs stressés
Utilisateurs mécontents </li><ul><li>Ça devient la responsabilité de l'administrateur de s'assurer que les sessions utilis...
Dans la plupart des cas, les sessions sont perdus lors de la maitnenance </li></ul></ul>
Problèmes cachées des deux “solution”s <ul><li>L'opération de maintenance de serveurs, qui peut prendre des jours, est fai...
Es-ce que l'on ne pourrait pas arrêter plus de serveurs et accélerer l'opération ? </li></ul><li>Difficile de suivre l'évo...
Le retour (alertes, mesures de performance, …) est manuel, difficile à rapporter </li></ul></ul>
Service versioning JOnAS 5 JOnAS Day 5.1
JOnAS 5 : service versioning <ul><li>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 </li><ul><li>Le déploiement d'...
Chaque version est une instance différente de l'application (isolée, comme deux applications différentes) </li></ul><li>Ge...
Les nouvelles versions peuvent être déployées avec des stratégies différentes </li></ul></ul>
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 valid...
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 <ul><li>Moins de 0.5 millisecondes de rallongement de temps de réponse par requête </li></ul>
JOnAS 5 : service versioning <ul><li>Mesure de l'avancement de la migration : pourcentage d'utilisateurs sur la nouvelle v...
Les temps de réponse deviennent court et l'usage CPU plus bas quand on avance dans la migration </li></ul>
JaDOrT JOnAS Day 5.1 JA SMINe  D eployment  Or chestration  T ool
JaDOrT <ul><li>Centralise la migration d'applications et la gestion de l'infrastructure </li><ul><li>Vue globale des serve...
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 p...
Gestion des sessions utilisateur </li></ul><li>Multi-serveurs : JOnAS, JBoss, Glassfish, WebLogic, WebSphere, BundleManage...
Support des VMs via l'API JASMINe VMM
Workflow pour chaque type d'action </li></ul>
JaDOrT <ul><li>Toute action faite sur tout serveur est journalisé
Possibilité de défaire toute action
Upcoming SlideShare
Loading in …5
×

#12 et #13 Versioning et JaDOrT

630
-1

Published on

Attribution: Savas Ali Tokmen

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
630
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

#12 et #13 Versioning et JaDOrT

  1. 1. Migration à chaud de versions d'applications JOnAS Day 5.1
  2. 2. Pourquoi ? <ul><li>Des mises à jour ou maintenances ont régulièrement lieu sur les applications et les infrastructures
  3. 3. Seule solution actuelle pour les applications 7/7, 24/24 </li><ul><li>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. 4. Déployer le middleware et la nouvelle application sur le nouveau cluster, configurer et valider ce dernier
  5. 5. Reconfigurer le load balancing pour passer d'un cluster à un autre </li></ul></ul>
  6. 6. Pourquoi ? <ul><li>Des mises à jour ou maintenances ont régulièrement lieu sur les applications et les infrastructures
  7. 7. Seule solution actuelle pour les applications 5/7 ou 8/24 </li><ul><li>Interrompre le service à une période où aucun utilisateur n'est supposé arriver
  8. 8. Dire à l'administrateur de venir à minuit ou le week end pour l'opération
  9. 9. 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 </li></ul></ul>
  10. 10. Problèmes cachées des deux “solution”s <ul><li>Besoin d'un cluster qui reste inactif plus de 99% du temps
  11. 11. Interruption de service
  12. 12. Administrateurs stressés
  13. 13. Utilisateurs mécontents </li><ul><li>Ça devient la responsabilité de l'administrateur de s'assurer que les sessions utilisateurs seront conservées lors de l'opération
  14. 14. Dans la plupart des cas, les sessions sont perdus lors de la maitnenance </li></ul></ul>
  15. 15. Problèmes cachées des deux “solution”s <ul><li>L'opération de maintenance de serveurs, qui peut prendre des jours, est faite manuellement </li><ul><li>Le choix du serveur à arrêter est fait manuellement </li><ul><li>Es-ce que les serveurs restants peuvent supporter la charge ?
  16. 16. Es-ce que l'on ne pourrait pas arrêter plus de serveurs et accélerer l'opération ? </li></ul><li>Difficile de suivre l'évolution de l'opération (combien de serveurs on a fait, combien de serveurs sont en cours, …)
  17. 17. Le retour (alertes, mesures de performance, …) est manuel, difficile à rapporter </li></ul></ul>
  18. 18. Service versioning JOnAS 5 JOnAS Day 5.1
  19. 19. JOnAS 5 : service versioning <ul><li>Chaque application (EAR, EJB, WAR et même Bundle OSGi) a une Implementation-Version
  20. 20. Le service versioning permet d'avoir en parallèle plusieurs versions de la même application </li><ul><li>Le déploiement d'une nouvelle version se fait sans enlever l'ancienne version
  21. 21. Chaque version est une instance différente de l'application (isolée, comme deux applications différentes) </li></ul><li>Gestion du versioning : lien entre les versions et les utilisateurs </li><ul><li>Une session démarrée sur une version continue sur cette version tant qu'elle est active
  22. 22. Les nouvelles versions peuvent être déployées avec des stratégies différentes </li></ul></ul>
  23. 23. JOnAS 5 : service versioning
  24. 24. JOnAS 5 : service versioning
  25. 25. JOnAS 5 : service versioning
  26. 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. 27. JOnAS 5 : service versioning
  28. 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. 29. JOnAS 5 : service versioning La v. 2.0 finit d'être validée donc devient la version par défaut
  30. 30. JOnAS 5 : service versioning
  31. 31. JOnAS 5 : service versioning
  32. 32. JOnAS 5 : service versioning <ul><li>Moins de 0.5 millisecondes de rallongement de temps de réponse par requête </li></ul>
  33. 33. JOnAS 5 : service versioning <ul><li>Mesure de l'avancement de la migration : pourcentage d'utilisateurs sur la nouvelle version
  34. 34. Les temps de réponse deviennent court et l'usage CPU plus bas quand on avance dans la migration </li></ul>
  35. 35. JaDOrT JOnAS Day 5.1 JA SMINe D eployment Or chestration T ool
  36. 36. JaDOrT <ul><li>Centralise la migration d'applications et la gestion de l'infrastructure </li><ul><li>Vue globale des serveurs et des applications
  37. 37. Assistance pour le choix des serveurs à maintenir (vérification de la capacité)
  38. 38. La migration de versions d'applications tout comme la maintenance peut être fait simultanément sur plusieurs serveurs et par paquets de serveurs
  39. 39. Gestion des sessions utilisateur </li></ul><li>Multi-serveurs : JOnAS, JBoss, Glassfish, WebLogic, WebSphere, BundleManaged OSGi
  40. 40. Support des VMs via l'API JASMINe VMM
  41. 41. Workflow pour chaque type d'action </li></ul>
  42. 42. JaDOrT <ul><li>Toute action faite sur tout serveur est journalisé
  43. 43. Possibilité de défaire toute action
  44. 44. Gestion complète des erreurs : </li><ul><li>Voir la cause (journalisée), re-essayer ou ignorer
  45. 45. L'administrateur a le contrôle complet </li></ul><li>Les journaux sont mis en base de données et peuvent être accédés à tout moment
  46. 46. 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) </li></ul>
  47. 47. Gestion des sessions utilisateur Frontal Apache
  48. 48. Gestion des sessions utilisateur Frontal Apache
  49. 49. Gestion des sessions utilisateur Frontal Apache
  50. 50. Gestion des sessions utilisateur Frontal Apache
  51. 51. Gestion des sessions utilisateur JaDOrT désactive les applications sur le serveur 1 Frontal Apache
  52. 52. Gestion des sessions utilisateur Frontal Apache
  53. 53. 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
  54. 54. Gestion des sessions utilisateur Quelques heures plus tard, le serveur 1 n'a plus de clients Frontal Apache
  55. 55. Gestion des sessions utilisateur JaDOrT arrête alors la VM associée et la maintient Frontal Apache
  56. 56. Gestion des sessions utilisateur JaDOrT redémarre serveur 1 et active les applications Frontal Apache
  57. 57. Gestion des sessions utilisateur Frontal Apache
  58. 58. Gestion des sessions utilisateur Frontal Apache
  59. 59. Vue globale Applications sur ce groupe de serveurs Serveurs et frontaux Apache associés
  60. 60. 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
  61. 61. 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
  62. 62. L'administrateur a toujours le dernier mot
  63. 63. Gestion des erreurs Tâche en erreur Possibilité de défaire Actions : refaire ou ignorer Serveur en erreur
  64. 64. Journal complet des actions et des erreurs
  65. 65. Cas d'usage typiques <ul><li>Déploiement centralisé d'applications avec la gestion centralisée des capacités de versioning des serveurs JOnAS
  66. 66. Maintenance applicative, middleware ou matériel centralisé </li><ul><li>Le suivi des sessions utilisateur évite toute perte de données ou de session
  67. 67. Minimisation des coûts grâce au sélection intelligent de serveurs
  68. 68. Minimisation de l'impact de performance lors de la migration
  69. 69. Aucune interruption de service lors de la migration </li></ul><li>Maintenance d'une infrastructure hétérogène (JaDOrT supporte JOnAS, JBoss, Glassfish, WebLogic et WebSphere)
  70. 70. Maintenance de machines virtuelles </li></ul>
  71. 71. JaDOrT <ul><li>JaDOrT est une application standard Java EE 5
  72. 72. JaDOrT est accessible via plusieurs interfaces: </li><ul><li>Interaface Web 2.0 (Adobe Flex)
  73. 73. API EJB3 (Programmes Java, actions type batch)
  74. 74. Client exécutable Java se connectant à l'API EJB3 (exécutable sous forme shell/batch)
  75. 75. Module Shelbie (accès SSH, scripts Groovy, ...) </li></ul></ul>
  76. 76. Limites <ul><li>Tiers actuellement pris en charge par JaDOrT </li><ul><li>Frontal Apache (mod_jk, mod_proxy_balancer)
  77. 77. Machines virtuelles (API VMM JASMINe)
  78. 78. Serveurs d'application (JOnAS, JBoss, Glassfish, WebLogic, WebSphere)
  79. 79. Applications Web
  80. 80. EJBs (EJB2 et EJB3)
  81. 81. Liens WebService (JAX-WS ou JAX-RPC) </li></ul><li>Tiers actuellement ignorés </li><ul><li>JMS
  82. 82. Stockage (base de données ou fichier) </li></ul></ul>

×