![[z/OS]](../images/ngzos.gif)
Procédure de mise à jour d'une application dans un environnement à haute disponibilité
La mise à jour d'une application implique la distribution des nouveaux fichiers binaires de l'application à tous les serveurs d'un cluster pendant la synchronisation de la configuration.

Cette distribution se fait par HTTP et se produit même lorsque les serveurs et le gestionnaire de déploiement se trouvent tous sur la même partition logique. Si l'option synchroniser avec les noeuds est cochée au moment de l'enregistrement de la mise à jour de l'application, la requête de synchronisation est envoyée à chaque noeud.
En règle générale, à réception de la requête, chaque noeud dirige le processus de synchronisation de manière asynchrone avec le gestionnaire de déploiement. Pendant cette procédure de synchronisation, les fichiers binaires de l'application sont téléchargés depuis le gestionnaire de déploiement et stockés sur le noeud à l'emplacement indiqué (par exemple, installedApps).
Le fait de stocker les nouveaux fichiers binaires déclenche l'événement de modification de la configuration qui arrête puis redémarre ensuite l'application. Selon des variables telles que le comportement du répartiteur, de la pondération de la partition logique, etc., on peut observer une variation de l'ordre et du rythme auquel chaque serveur met la nouvelle application à disposition.
En raison de la nature simultanée et asynchrone de la synchronisation de noeuds, la disponibilité continue de l'application n'est pas garantie. Cela s'explique par l'absence de correspondance entre l'état réel de l'application et les mécanismes de routage de la charge de travail. Lorsqu'une application est temporairement indisponible, les requêtes client peuvent être acheminées vers un serveur.
Dans un environnement à haute disponibilité, une application doit rester disponible pendant la procédure de mise à jour. Par conséquent, le déploiement de l'application sur tous les membres du cluster, ainsi que le routage de la charge de travail doivent être contrôlés minutieusement de manière à éviter qu'une charge de travail ne soit acheminée vers un membre de cluster soumis à une procédure de mise à jour. Lorsque ces deux aspects sont traités comme il se doit, une mise à jour peut être installée sur tous les membres d'un cluster sans que des requêtes client n'atteignent un membre de cluster en cours de mise à jour.