1 votes

Comment mettre à jour votre application Java EE en production ?

J'ai essayé de comprendre ce qui se passe dans le monde du déploiement de production de Java EE et, franchement, cela semble assez effrayant. Après avoir parlé à plus de 100 personnes, voici mes hypothèses :

  1. Personne n'utilise le redéploiement dans production (comme dans le bouton réel qui fait la mise à jour dans le serveur). Ce n'est n'est pas assez fiable à cause des OutOfMemoryError-s et d'autres défaillances.
  2. La façon la plus courante de mettre à jour un application est de :
    1. Couper tous les serveurs à 2 heures du matin et espérer que personne ne les utilise.
    2. Démolissez les serveurs un par un, mettez-les à niveau et laissez-les tomber ou migrer les sessions des utilisateurs.
    3. Utilisez des astuces bizarres comme copier un fichier à la fois.

J'essaie également de savoir comment se déroule le processus de mise à jour, à quel point il est difficile et ce qu'il coûte en termes humains (heures) et en termes commerciaux sans âme (dollars).

Je vous demande de m'aider et de me fournir des données semi-solides que je peux utiliser pour mieux comprendre ce qui se passe dans la réalité. Avec un peu de chance, vous me prouverez que j'ai tort. J'attends vos réponses, mais je vous demande également de répondre à cette enquête pour obtenir des données : http://0t.ee/appupdq11

Je sais que ce n'est pas une question typique de ServerFault, car il n'y a pas de bonne réponse ici, mais en remplissant le questionnaire, vous m'aiderez beaucoup et si vous fournissez une réponse plus longue ici, ce sera tout simplement génial.

0voto

HampusLi Points 3378

Cela dépend fortement de l'application.

La plupart des applications J2EE fonctionnent sur des fermes de grappes de serveurs où une mise à niveau de base de l'application peut être effectuée par une mise à niveau continue. Par exemple, il suffit de retirer un serveur de la ferme d'équilibreurs de charge, d'attendre la fin de son travail, de mettre à jour le déploiement EAR, de le tester, de le remettre dans la ferme, de retirer le suivant et de répéter l'opération. Vous pouvez avoir besoin d'une interruption de service pour effectuer des mises à niveau du schéma de la base de données, juste pour vous assurer de la cohérence des données. Les mises à niveau des logiciels de base de données peuvent généralement être effectuées sans interruption de service majeure, Oracle en est un bon exemple.

0voto

silviud Points 2667

Dans weblogic, j'utilise wlst (Python on java - jython) pour faire les déploiements. vous pouvez faire n'importe quelle logique avec. La partie la plus compliquée de tous les déploiements est la mise à jour du schéma de la base de données... qui n'est pas vraiment un problème java mais qui affecte les systèmes java.

sur glassfish et tomcat c'est plus simple ... goudronner le répertoire installer une nouvelle instance avec les anciennes configurations et ensuite déployer le fichier war,ear.

Bien sûr, vous pouvez coupler tout cela avec un outil de gestion de la configuration comme cfengine, Puppet ou même fabric.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X