lundi 29 septembre 2014

Ticketing OpenSource & gestion de demandes

Dans le cadre de mes divers projets, je suis amené à devoir répondre à de nombreuses demandes, très variées et hétérogènes, pour des demandeurs différents, dans des contextes différents.

La plupart de ces demandes me sont adressées sur l'une de mes nombreuses adresses email, ce qui, en plus de ne garantit aucunement que ces demandes seront bien traitées à temps, à pour autre effet de bord de remplir inutilement mes boîtes mail, rendant de fait encore plus compliqué (/impossible) de retrouver les dites demandes et donc de les traiter.


À terme, cela revient à omettre (in)volontairement un certain nombre de demandes qui pour certaines restent importantes, donc à recevoir des relances qui elles mêmes s'entassent dans des boîtes mails qui à leur tour... Vous saisissez le souci ? C'est bien un serpent qui se mord la queue...


Il y a un certain temps, je me suis penché sur des moyens plus ou moins détournés afin de régler ce problème récurrent.
Listes de taches, post-it, tableau Veleda, etc. Mais aucune de ces solutions n'était suffisante ni acceptable, en partie parce qu'elles ne permettaient pas de déléguer facilement certaines tâches ou d'assurer le suivi de l'ensemble.

Je me suis donc posé la question sous un autre angle : ce problème revenait en fait à gérer une liste de demandes, certes pas des demandes de résolution de bug mais on se rapprochait de la solution.
Après réflexion, un bugtracker ne suffisait pas à régler le problème car trop spécifique. Mais un logiciel de gestion de tickets généraliste le ferait parfaitement !

C'est ainsi que je me suis mis à la recherche de tels logiciels. Connaissant certaines références en logiciels libres, et après quelques recherches, voici une petite liste des candidats potentiels :
  • OTRS : un vieux de la vielle mais toujours d'actualité, référence du marché ; plutôt pour les grosses structures
  • osTicket : deuxième fleuron du marché, peut-être moins austère que le précédent ; adapté aux grosses structures
  • Brimir : basé sur RubyOnRails ; adapté aux petits structures
  • Jutda Helpdesk : également appelé django-helpdesk du nom du fameux framework python sur lequel il est bâti ; adapté aux petits structures
  • RT (Request Tracker) : autre solution

Ces outils permettent entre autres les commodités suivantes:
  • recueil des demandes sous forme de tickets
  • suivi de toutes les demandes, avec statistiques
  • création automatique de tickets à réception d'email
  • assignation du ticket à la personne compétente
  • intégration du demandeur au processus de résolution de sa demande
  • workflows & automatisation
  • ...


La gestion des demandes est une excellente pratique, mais elle ne se suffit pas à elle-seule dans une démarche de recherche d'efficacité, surtout pour du travail collaboratif.

Alliée à un bon gestionnaire de projets comme Redmine, ou OpenProject, la mise en place d'un gestionnaire de tickets devrait solutionner avantageusement cet épineux problème d'organisation.

Maestro s'il vous plait !

Lorsque vous êtes en charge d'un certain nombre de serveur (cela s'applique dès deux serveurs en fait) vous devenez coutumier du fait de devoir répéter inlassablement les mêmes tâche
s, opérations, commandes entre chaque serveur à la chaîne durant des heures.

Par exemple, mise à jour du système, installation de ssh / byobu / Docker / (...), configuration de votre .vimrc, déploiement de services et applications diverses...

Et franchement, pour un feignant perfectionniste comme moi, ça devient vite insupportable !
Sans compter les risques d'erreurs lors de la modification à la chaîne de fichiers de configuration, qui peut donner des résultats allant de l'art moderne à la catastrophe.

En fait tout cela repose sur deux besoins distincts mais complémentaires :
  • gestion de la configuration cohérente des machines
  • envoi de commandes vers un parc entier simultanément
Ces deux besoins sont rassemblés au sein du concept buzzword d'"orchestration".

Jusqu'ici, j'avais en tête des noms de solutions d'orchestration comme Puppet ou Chef.
Pour être honnête, après rapide coup d'œil à leurs doc respectives, je fus pris de violentes nausées devant la complexité de mise en place et la courbe d'apprentissage de ces deux solutions leaders du marché.
De plus, elles sont codées en Ruby, et comme je ne connais pas ce langage, les choses se compliquent en cas de besoin de customisation. Ah, si seulement ils étaient en Python...
Bon, il y a bien Juju, la solution d'orchestration maison de Canonical qui semble très aguicheuse, mais je n'ai pas encore eu le temps de m'y pencher.

Devant ce constat accablant, je devais donc me résigner à attendre de plus favorables hospices...


Ce dimanche soir, je décidais de regarder le film Salt gentimement propose par Netflix, avec Angelina Jolie dans le rôle de l'espionne-agent-double-mais-non-en-fait.

Et puis je me couche pour attaquer la semaine en forme.
Mais 1 heure plus tard, je me réveille sans raison apparente, et ai l'idée de lire quelques GNU/Linux Mag en retard avant de retomber dans les bras de Morphée.

Et là, par une synchronicité comme seule la Vie peut en inventer, je me retrouve nez à nez avec la couverture du GNU/Linux Mag #166 avec au centre "ORCHESTRATION ENFIN SIMPLE avec SALT !".
Comme quoi, il suffisait de demander ! L'agent Évelyne Salt à réponse à tout.
L'article de Émile <iMil> Heitor tombe comme souvent à pique, et me fait découvrir avec son humour légendaire un monde de possibilités insoupçonnées...

Salt est écrit en Python, il est extrêmement simple et puissant et semble répondre à tous les besoins en terme d'orchestration et de gestion de parc de serveurs. Il s'interface par ailleurs facilement avec Fabric, lui aussi écrit en Python.

Que demander de plus ? Y'a plus qu'à tester, et bientôt à moi la gestion de serveurs les doigts de pied en éventail...

Plan de sauvegarde minimaliste


http://www.thorandco.fr/?p=767

vendredi 26 septembre 2014

mercredi 27 août 2014

Sans commentaire...


ou comment supprimer les commentaires des fichiers log/config

grep -v '^#'

sed...

Afficher 1 ligne sur 2


Il peut parfois être utile d'afficher une ligne sur deux d'un fichier.

  • À partir de la première ligne (lignes impaires)
sed -n 'p;n'
  • À partir de la deuxième ligne (lignes paires)
sed -n 'n;p'
Page très utile :