Les contes du Cloud : Jacques et le logiciel magique
Certaines leçons valent bien un fromage, d’autres valent bien un article. Dans cette série d’article rédigés sous forme de conte, nous vous proposons des histoires issues de situations rencontrées sur le terrain, et les leçons que nous en avons tirées. Car les bonnes pratiques ne peuvent s’établir qu’à l’aune des mauvaises, et que ces anecdotes, aussi incroyables soient-elles, sont véridiques et reflètent la réalité de certains systèmes d’informations.
Illustration par Jérémy Molet
Jacques et le logiciel magique
Jacques était ingénieur système dans une petite équipe avec Frédérique. Un jour, une nouvelle coupe budgétaire tomba: Jacques ne pouvait plus renouveler la licence de son logiciel !
Il rencontra alors un consultant fort compétent, un peu magicien. Après lui avoir expliqué son dilemme numérique, le consultant lui dit: “Nul besoin d’utiliser ton logiciel à licence, utilise celui-là, il est gratuit !”.
Ni une, ni deux, Jacques revint au bureau et expliqua à Frédérique que leur problème était résolu: plus besoin de payer de licence, ce logiciel faisait la même chose et pour rien du tout ! Frédérique était sceptique: pourquoi d’autres équipes utiliseraient un logiciel payant, si celui-là fait la même chose gratuitement? Qu’à cela ne tienne, Jacques testa son logiciel et il était effectivement magique ! Tout fonctionnait parfaitement.
À chaque évolution du besoin, Jacques trouvait la solution en deux clics. Et hop, le logiciel magique était reconfiguré et totalement adapté au besoin ! Comme il était simple de l’utiliser!
Vint le temps du patching. C’était la spécialité de Frédérique, et pour chaque campagne elle élaborait une tactique bien académique. Quand elle demanda à Jacques comment mettre à jour son logiciel, celui-ci lui répondit après 2 clics: “Ceci m’a l’air bien anarchique, ce n’est pas grave laissons-le comme cela, il ne sera pas perturbé”.
“Soit, faisons une exception”, répondit Frédérique sceptique, “mais je n’aime pas du tout cela, j’aime quand tous mes logiciels suivent la même dynamique”.
La vie continuait au sein de la petite équipe. Les petites reconfigurations du logiciel magique permettaient de pallier aux nouveaux besoins, et les mises à jours des logiciels de Frédérique suivaient un rythme bien orchestré. Toutefois au cours du temps les petites configurations devinrent de plus en plus compliquées à gérer car Jacques ne trouvait plus la solution en 2 clics, et ses recherches aboutissaient à de rares réponses trouvées sur d’antiques forums !
Un jour quelle ne fût pas l’horreur de Jacques: un nouveau besoin était arrivé, qui était solutionné par une version récente du logiciel ! Ce n’était pas n’importe quel besoin: Maïté de l’équipe sécurité avait identifié une faille sur ce petit logiciel autrefois magique et maintenant paléolithique. Jacques a bien essayé de la convaincre de faire une exception. Mais Maïté ne l’entendait pas ainsi: le petit logiciel magique gérait des données stratégiques. Jacques dut travailler dur pendant de longs jours avec le soutien fantastique de Frédérique qui l’aida dans sa tâche de mise à niveau vers la dernière version.
Le petit logiciel ne leur semblait plus aussi magique au vu des heures passées à éplucher les forums. Mais quand même ce petit logiciel bien que n’étant pas magique, les aidait bien à maintenir leur solution. C’était bien pratique.
Jacques vécu heureux pendant de nombreuses années avec son logiciel pratique, mais en le maintenant régulièrement à jour et en prenant bien le temps de reconfigurer ce qui devait l’être, afin que toute nouvelle configuration n’en fut que plus pragmatique.
De l’utilisation cohérente de l’open-source
Ce petit conte adapté de ma vie de consultant évoque l’intégration d’un logiciel open-source dans le monde de l’entreprise. S’il est plus simple d’utiliser Mozilla ou Gimp sur son PC parce qu’ils ne sont pas les maillons d’une chaîne imbriquée mais les outils d’un utilisateur final, ceci n’est pas forcément vrai pour les logiciels open-source qui peuvent servir de serveur web, de système d’exploitation, de pare-feu, d’antivirus, et toute autre fonction essentielle au bon fonctionnement d’un système d’information.
Certains sont déjà intégrés depuis longtemps à l’écosystème comme PHP ou MariaDB, mais d’autres sont encore de jeunes projets. Non pas qu’il faille éviter d’utiliser des logiciels open-source! Mais il faut que les motivations pour les utiliser soient les bonnes. Si la motivation première est de ne pas payer de licence, vous ne voudrez sans doute pas payer pour les coûts cachées derrière cette licence. Le support, les mises à jour mineures (les majeures étant la plupart du temps payants suivant le modèle économique du logiciel) ou bien les adaptations à votre besoin : tout ceci a un coût que ce soit pour un logiciel payant ou un logiciel open-source.
Il faut être conscient que pour un logiciel open-source la part d’implication et de maîtrise dans le logiciel utilisé devra être souvent supérieure que pour un logiciel payant pour plusieurs raisons:
- Le support se fait le plus souvent via un forum ou github et les réponses sont donc sujettes à la bonne volonté de la communauté de prioriser votre besoin par rapport à celui de la communauté. Si vous ne pouvez pas vous permettre d’attendre jusqu’à plusieurs mois avant que votre solution ne soit implémentée, il vous faudra la développer (et si possible en faire profiter la communauté en contribuant)
- Les mises à jour sont comme pour les logiciels payants basés sur une version standard non modifiée, mais il existe bien souvent des extensions plus ou moins officielles qui ne font pas partie de ce standard et qui feront que votre mise à jour se passera plus ou moins bien. Il vous faut donc tester et si possible ne vous éloigner du standard que si cela est nécessaire. Si une variation du standard est nécessaire, il faut réfléchir à intégrer cette solution dans le standard afin d’en faire profiter la communauté car vous serez rarement seul à avoir ce besoin. Au contraire si vous êtes le seul à avoir ce besoin: interrogez-vous si vous ne détournez pas son utilisation principale.
- Comme pour un logiciel payant, vous aurez besoin d’ingénieurs qualifiés et compétents dans l’utilisation de ce logiciel. Le fait qu’il soit open-source ne signifie pas qu’il puisse être utilisé facilement par n’importe qui sait se servir d’un clavier et d’une souris. Vous devez donc vous assurer d’avoir la compétence en interne qui est capable de configurer et maintenir à jour ce logiciel. De plus vous serez d’autant plus contents d’avoir ces compétences en interne le jour où vous serez face à un incident lié à ce logiciel. Car qu’est-il préférable: attendre une improbable réponse immédiate de la communauté ou bien trouver une solution au moins temporaire en interne?
Comment bien utiliser un logiciel open-source?
Pour bien utiliser un logiciel open-source il faut donc nécessairement y consacrer des compétences en interne, mais comme pour tout logiciel payant ou gratuit.
L’utilisation d’un logiciel libre permet d’appliquer la technique du fail fast. En effet vous n’avez pas d’engagement financier, mais un engagement humain avec un logiciel libre. Si vous souhaitez changer de logiciel, ce n’est pas l’achat d’une nouvelle licence qu’il vous faut, mais de la formation ou des personnes qui maîtrisent déjà les compétences afin que vous puissiez tester rapidement.
Un autre avantage que vous pouvez tirer de la maîtrise d’un outil open-source est qu’il peut très bien s’intégrer à votre logique DevSecOps. En effet vous maîtrisez la partie Ops du logiciel. De plus la connaissance de l’outil permet également de pouvoir l’adapter au besoin avec l’aide des équipes de Dev. Et vous gardez une maîtrise sur la sécurité: l’outil est testé à chaque déploiement et vous maintenez votre veille afin de corriger les failles découvertes. Dans la même optique, votre stratégie FinOps peut s’affiner puisque vous pouvez ajuster les ressources allouées aussi bien humaines que matérielles.
Enfin il faut bien utiliser la communauté open-source liée à votre logiciel. Ceci ne veut pas dire que tout vous est dû et que chaque besoin que vous exprimerez sera réalisé. Il faut se mettre dans l’optique d’une utilisation gagnant-gagnant. Le logiciel libre vous fait économiser un coût de licence, en contrepartie vous participez à la communauté en remontant des bugs, proposez des solutions si vous en avez implémentées, voire vous proposez les adaptations qui ont été développées pour votre propre besoin.
Autrement dit vous tirez une expérience de l’utilisation de ce logiciel et vous en faites profiter la communauté: le logiciel que vous utilisez ne sera ainsi que plus fiable pour vous.
Et pour conclure
Finalement l’utilisation de l’open-source n’a rien de magique, on change juste de paradigme. Le secret est que si vous voulez bien l’utiliser alors il faut bien s’impliquer dans son utilisation et mieux dans la communauté. Chez Devoteam Revolve nous avons la conviction que les logiciels open-source ont toute leur place dans l’écosystème du système d’information, par exemple via l’utilisation d’Ansible ou des outils développés par Hashicorp.
L’attrait pour les grands acteurs du numérique vers des GitHub, RedHat ou MySQL montre bien qu’un projet communautaire open-source peut concurrencer les meilleurs outils du marché soumis à licence. Mais ils ne le sont pas devenus par hasard: c’est la qualité de la communauté qui en a fait leur valeur. A vous de participer à cette communauté pour que votre outil open-source reste cette solution qui vous plaît tant.
Laissons La Fontaine conclure avec ce charretier qui découvre que sortir son char de la boue n’a rien de magique: “Aide-toi, le Ciel t’aidera”.