Déploiement sur plateforme Windows

Déploiement sur plateforme Windows
0

Bonjour,
Je test une installation sur un serveur Windows.
Contraint par l’hébergeur qui ne supporte pas docker, je suis reparti sur une installation from scratch.

Dans la documentation simplicité, il est indiqué :
Application
For MySQL/MariaDB or PostgreSQL or SQLServer: create the database (with UTF-8 encoding) and the database user. Then load the database dump.
Unzip the corresponding dbdoc folder.
Unzip the application WAR in the webapps folder.
Verify the application context configuration (database connection settings and dbdoc location) file in webapps/<app, e.g. ROOT>/META-INF/context.xml
Start the Tomcat service.

Est-ce qu’il y a un nom préconisé pour la base ? et pour l’utilisateur ?

Pour le database dump, je suppose qu’on est plus sur un dump global simplicité que sur le module en tant que tel. Où puis-je trouver ce Dump ?

Pareil pour le War de l’application, où puis-je le trouver ?

Merci pour vos retours.

Bonjour,

Les dumps initiaux MySQL et PortgreSQL sont dans le template d’instance (dans app/WEB-INF/db).
Il n’y a pas de contraintes sur le nom de la base et du user (celui-ci doit juste avoir les droits de create/alter/insert/update/delete).

Et ce template d’instances contient la webapp Simplicité et le dbdoc déjà dezippée (la doc dont vous parlez sans doute https://docs.simplicite.io/documentation/90-operation/tomcat-installation-windows.md n’est plus très à jour, elle correspond plus à des “guidelines” généraux à adapter qu’à un manuel d’installation proprement dit, à ma connaissance aucun de nos clients n’a récemment déployé Simplicité sur Windows)

Nous ne recommandons pas forcément des déploiements sous Windows, non pas parce que cela serait problématique mais plus car nous n’avons que très peu d’expertise Windows et nous ne saurons donc pas apporter d’aide sur des sujets pointus (ex: mise en place de reverse proxies, etc…)

De manière plus générale nous ne recommandons plus du tout des déploiements manuels car, nous le savons d’expérience, cela va limiter votre capacité de maintenance = upgrade régulier des composants de base JDK, serveur Tomcat et, surtout, upgrade très régulier de la plateforme Simplicité. Or Simplicité est une plateforme qui vit et évolue très régulièrement, nous ne pouvons pas assurer de support dans des conditions correctes si vous ne faites pas les upgrades requis…

Nos images Docker sont maintenues à jour à tous les niveaux et sont installées et configurées d’une manière qu’on maîtrise totalement et qui évite les erreurs les plus classiques (les habituels pb d’encoding, de “tuyauterie”, etc.). Elles font donc gagner un temps infini vs des déploiements manuels, y compris - voire surtout - aux exploitants (une mise à jour complète consiste par exemple à faire un simple docker stop/pull/run = 30s chrono sans aucun risque de mauvaise manipulation). Personnellement, en 2020, je ne vois vraiment aucune bonne raison pour ne pas “supporter Docker”. Essayez de challenger votre hébergeur sur ce point.

PS: suite à votre post la doc en question (https://docs.simplicite.io/documentation/90-operation/tomcat-installation-windows.md) a été un peu mise à jour, mais ça reste des guidelines assez générales car ça ne correspond à un type de déploiement que plus aucun de nos client n’a fait depuis des années.

Bonjour,

Il n’y a aucune raison à utiliser windows en production, ça doit rester du POC ou du dev, sauf à avoir des besoins natifs d’intégration locale de word, exchange, sharepoint ou autres produits sans API web et disponibles que sur Windows. Ca ne doit pas être lié à des compétences limitées de l’hébergeur, aujourd’hui tout le monde fait du linux.

Pourquoi ne pas installer docker + docker-compose sur Windows si vous avez les droits admin ?

Sinon perso quand je veux avoir un environnement local sur Windows en 5 minutes, ça revient à faire 2 actions à partir d’une instance out-of-the-box sur Linux :

  • copier tout le répertoire tomcat
  • copier la base (si non hsqldb car déjà dans tomcat) via sqldump ou autre client

J’ai par exemple des instances locales sur Windows pour pouvoir debugger plus facilement via eclipse le code Java.

Oui en environnement de dev ça a du sens, pas en production.

Cela dit il n’y a rien de compliqué à déployer sous Windows à partir du moment où on maîtrise parfaitement ce que l’on fait (notamment en termes de sécurité et de “tuyauterie” HTTP/HTTPS)

Mon point c’est que nous n’avons, chez Simplicité, que des compétences très limitées en Windows server. Si vous optez pour cette plateforme n’attendez donc pas de nous un support “pointu”. C’est le sens de nos réserves vis à vis de Windows server

Notre stratégie est résolument tournée vers la distributions d’images Docker (basées sur Linux) correctement installées et configurées qui évitent 99% des problèmes vs un déploiement manuel à l’ancienne. Les clients qui les utilisent ont en général infiniment moins de pb que ceux qui veulent absolument refaire manuellement ce qui est déjà fait par nos soins dans ces images Docker.

Notre autre source d’inquiétude dans un contexte de déploiement manuel c’est la maintenance: nous savons d’expérience que les gens qui se compliquent la vie en faisant des installations manuelles sont ceux qui sont le moins sérieux en termes maintenance = comme leurs procédures sont “compliquées” (avec Simplicité cette complexité étant toute relative) ils rechignent en général à les faire régulièrement ce qui fait que souvent ces installations nous génèrent des demandes de support surabondantes car souvent liés à des pbs déjà réglés sur les versions à jour.