Faire, faire bien et faire simple

Le propre des ingénieurs est de vouloir se rendre indispensables. Ainsi, se font-ils souvent des nœuds au cerveau pour trouver le chemin le plus court vers une solution, mais totalement obnubilés par  l'idée que c'est forcément compliqué, sinon tout le monde saurait le faire. Bien qu'un simple biais cognitif très courant, cette manière de fonctionner à rendu ce monde marteau, les solutions véritablement simples et élégantes périssant dans les poubelles des perdants.

Car les gagnants sont bien ceux qui rendent compliquées les choses simples. Grosses boîtes ayant pignon sur rue, ces gagnants ont tout le loisir d'imposer des monstres de complexité face à des clients dépourvus souvent, et malheureusement, d'une réelle compétence technique. Ainsi, font-il d'une pierre deux coups: plus complexe, cela veut dire plus long et plus coûteux, donc plus d'argent à gagner. Mais aussi, immanquablement, plus difficile à maintenir. S'assurent-ils ainsi non seulement un revenu important immédiat, mais surtout une rente.

Alors, allez-vous me dire, comment se fait-il qu'avec la concurrence libre et non faussée de notre système libéral personne ne vienne faire mieux ?

Tout d'abord c'est ce que nous faisons. Nous proposons mieux. Les haineux affirmeront que la main magique du marché ne nous ayant pas choisi, c'est que nous ne le méritons pas, puisque le marché a toujours raison. Soit.

La vérité est que parmi les startups ayant percé ces dernières années, certaines, du moins les plus sérieuses, se sont engouffrées justement dans cette faille béante de la compétence face à la complexité pour gagner rapidement des parts de marché dans divers domaines. Mais il arrive un moment où se pose le problème de la taille: tout d'abord, en grandissant, les startups, dont le modèle économique est le monopole et la domination, finissent par ne plus avoir besoin d'être meilleures, puisqu'elles acquièrent une position dominante leur permettant de ne plus se soucier de la méthode. Elle finissent donc par agir comme les grosses boîtes qu'elles ont remplacées, seul le discours restant "disruptif" comme se plaisent à le dire ceux qui croient encore à la mascarade. L'autre problème de la taille, est que très vite se pose le question de pouvoir n'embaucher que des bons. Là où au démarrage les entreprises les plus performantes se basent éventuellement sur une capacité technique, les plus grosses (à partir d'une cinquantaine de personnes, le plus souvent, d'ailleurs) ne peuvent plus compter que sur le marketing et l'agressivité, leurs équipes finissant par se noyer dans la médiocrité du nombre.

Comme toute explication, la mienne a ses limites. Google n'a aucun soucis à embaucher des bons, puisqu'il représente une carte de visite précieuse pour la suite d'une carrière, sans parler des conditions financières. Mais, d'un côté les exceptions confirment la règle et, de l'autre, cela ne l'empêche pas de noyauter le monde entier avec des solutions techniques hyper-complexes dont le principal objectif est la domination et pas la fameuse "expérience utilisateur"...

Mais revenons à nos moutons.

Pour un de nos clients, nous avons mis en place le Graal de la simulation, mais pas que: le jumeau numérique. Si ce projet représente une vraie réussite ce n'est pas seulement parce qu'il fonctionne, mais surtout parce qu'il fonctionne mieux que l'existant, tout en ayant réduit de 90% les données de configuration, mais aussi le temps de lancement ou le temps de déploiement. Le plus étonnant est peut-être encore ailleurs: il n'utilise aucun produit commercial, aucun produit dédié au sujet et ne se base quasiment que sur Docker (ou de manière générale sur la containérisation).

Prenez une dose de micro-services, une pincette de fainéantise, un peu d'API REST, quelques langages de scripts (mais ceux que vous voulez, on n'est pas des rabats-joies), rajouter de l’expérience et du bon sens, enlever toute volonté de noyauter le client, restez-en à l'essentiel, coller au besoin et vous avez un OVNI. Car pour la plupart de ceux qui regardent le résultat et sont habitués aux outils existants, on est dans de la magie.

C'est peut-être là notre plus grand échec: bien que cela soit la solution la plus simple possible au problème posé, bien que cela simplifie de quelques ordres de magnitude le travail des équipes, certains continue à regarder le travail avec la méfiance de ceux qui ont vu des photographies pour la première fois de l'histoire.  On observe que cela existe, que cela fonctionne, mais faute d'en comprendre la mécanique, on y voit le diable.

Pourtant, DRaaS (Digital Replica As A Service) existe, fonctionne et répond à la question de savoir comment opérer un système  complexe de manière prédictive. En effet, si DRaaS est actuellement d'abord utilisé pour l'intégration et la validation, nous l'avons conçu dans le but d’accompagner les systèmes tout au long de leur vie.

Sans entrer dans des détails abscons, imaginons-nous face à une foule hurlant "IA, IA, Deep Learning, Machine Learning, ...".

Dans le monde des systèmes complexes impliquant un niveau élevé de sûreté, il existe ce que nous pourrions appeler "les catastrophes qui ne tuent qu'une fois". Il s'agit mathématiquement de points statistiques très rares, souvent couplés à des points de singularité, qu'il est très difficile d'anticiper, ou même d'imaginer. Le seul moyen qu'on aurait c'est l'expérience, mais comme ils sont très rares et qu'ils sont catastrophiques, on a tout intérêt à les "déterminer" en dehors du système en fonctionnement. L'IA, dans sa très grande mansuétude, semble nous dire qu'elle saurait nous les trouver. Malheureusement, et même s'il existe des moyens d'utiliser l'IA avec peu de données, il est probable que pour pouvoir déterminer les trames qui mènent à de tels incidents, il est nécessaire de produire des données, quitte à le faire ... en simulation. Ainsi, peut-on espérer qu'avec un système de type jumeau numérique pouvant éventuellement fonctionner de manière autonome, il est possible de créer artificiellement les conditions pour balayer le maximum de cas à faible probabilité d’occurrence, pour ensuite en déduire les signaux d'avertissement permettant de les anticiper et éviter en situation réelle.

Tout cela étant en soi assez compliqué, vaut-il mieux le faire avec des outils simples. Et vous savez quoi, nous les avons !