Les opérations de déploiement d’applications basées sur l’utilisation du shell, agrémenté de scripts, atteint ses limites. Depuis longtemps déjà !
Les outils de gestion de configuration tels que CFengine, Puppet, Chef et autres, initialement destinés à la gestion de configuration de grands parcs de serveurs, présentent certainement un intérêt pour aider au déploiement d’applications.
Par une approche déclarative faisant intervenir dans un même outil, le public développement d’une part, le public production d’autre part, ils devraient permettre de fluidifier les déploiements, en améliorant les interactions entre ces deux publics et en imposant le respect d’un cadre plus rigoureux dans les actions requises.
Il s’agira ainsi par exemple de déclarer dans l’outil des groupes de différents niveaux :
– des groupes techniques d’infrastructure ou de sécurité (Solaris, Linux, DMZ, SAN_X, VLAN_X, Room_X, …) dans la couche infrastructure physique ;
– des groupes techniques de socle applicatifs (Weblogic, JBoss, Tomcat, PHP, MySQL, Rails, …) dans la couche plateforme ;
– des groupes fonctionnels applicatifs (MonApplication01, MonApplication02, …) dans la couche applicative.
Ces outils permettront également la standardisation des déploiements (on quitte [ou du moins on réduit] les aléas des opérations de déploiement par la voie du shell) avec des garanties plus grandes quant au respect des obligations en matière de supervision, de sauvegarde, de journalisation, …
Conclusion : en concertation avec I&S, la cellule architecture de Smals devrait se pencher sur l’intérêt de ces outils.
Indeed,
The tool, the process and the drill. 😉
Jean-Pierre,
les outils seuls ne permettront pas de quitter les aléas des opérations de déploiement. La conjonction des outils, de la mise en place de processus, et de la répitition de leur mise en oeuvre devrait permettre à terme de fluidifier la mise en production de nos logiciels.
X.