Une pipeline sans queue ni tête - Acte 2

Julien ien.alborghetti@exoaceo.com - 19/01/2023 à 21:33:160 commentaire

Je croyais avoir mis la gomme pour ne plus être sollicité dans la rédaction d'articles destinés à être publiés sur un blob d'entreprise. Fausse joie qu'est la mienne, et je ne l'espère pas la votre. Profonde amertume, que celle d'avoir à vous révéler d'autres mystères et hallucinations, sur l'alchimie de cette Pipeline sans queue ni tête.


A ce propos... j'en profite pour confesser, que je dois envisager l'éventualité que, emporté par la ferveur de ma démonstration, c'est bel et bien moi qui ai sauvagement désossé ma pipeline de formation. Je conçoit que cet acte puisse être mal perçu, mais je peux assurer l'avoir fait dans un intérêt progressiste. Alors pour me rattraper et diffuser à nouveau l'image d'un formateur digne et avisé, à défaut de celle d'un professeur avide de dissection, je vais reprendre par...


Un récapitulatif des acquis de la veille


> Alors, en YAML tu peux déclarer une ribambelle d'objets auto-proclamés fonctionnels, qui n'adhèrent à aucune structure. Et en dispersant ces objets dans les tâches d'une pipeline, tu peux compiler et déployer toutes les applications d'une entreprise ? Ce n'est pas de la magie, c'est carrément du vaudou !


Non Julien. Attention à ces raccourcis propices à toute amalgame, qui polluent jusqu'aux articles les plus sérieux. Comme dans tout langage non-typé, dont JavaScript porte l'étendard, suivi de prêt par PowerShell, il est prudent de veiller à ne pas coder n'importe quoi et surtout pas n'importe comment, encore moins à la bonne franquette ; et pire avec ses pieds. Loin de moi l'idée de prétendre aborder un concept aussi puissant que la transpilation TypeScript. Mais laisse moi t'inviter à te joindre à cette audience, ou j'aborde le système de validation YAML, que peu connaissent et implémentent. Je suis prêt à le parier.


Des attraits de la validation YAML


Une fois n'est pas coutume, c'est une autre facette qui prend le contrôle. Pauvre de moi. Tel piraté d'une violente attaque latérale et vicieuse de mon cervelet reptilien, je suis forcé d'abandonner ma précieuse Pipeline, et me vois contraint de vous parler encore de TypeScript. En effet, peu de gens ont pris Anders Hejlsberg, au sérieux quand il a présenté ce projet. Il avait pourtant une réputation solide dans le milieu, du genre, "tu connais le langage C#, hé bien, il est de ma création". Et malgré cette solidité de réputation, le public, toujours soumis à la tentation de la cruauté, voire du réflexe sanguinaire, n'a pas épargné notre ami californien. Et ça se conçoit, sur le papier, un langage qui se transpile en JavaScript pour y introduire une notion de typage, bon c'est vrai fallait oser. Car à cette époque, souvenez-vous en, tout le monde était persuadé de l'inverse. A savoir qu'il fallait partir de la norme ECMAScript, pour produire diverses déclinaisons de code, qui si et seulement si, elles sont injectées dans le navigateur approprié, vous donneront les résultats attendus... Et bien faux et archi faux, messieurs Tout-le-Monde ! Anders il vous a bien coiffé sur le poteau, avec son idée tordue.


Idée tordue ! Bien joué ! C'est ça la formule magique pour faire disparaitre l'autre fripouille qui veut écrire à ma place. Marche à l'ombre mec, et te retournes pas cowboy ! Barre toi de mon herbe ! Moi, je suis là pour parler d'un système qui vient sublimer tous les supers objets magiques qui initialise la Pipeline sans queue ni tête. Ce système astucieusement baptisé la validation enchantée va nous permettre de découvrir l'alchimie qui permet d'entretenir un rêve d'observabilité, et bien plus encore, pour la plus grande appréciation de nos lecteurs, en quête d'informations inédites, sur les mécanismes d'automatisation.


> Je ne comprends globalement pas grand chose aux aberrations que tu débites. Tu fais allusion de ton jeu pourri ? Où il suffisait de lire ? Et qui n'apprend par ailleurs rien de bien palpable sur la syntaxe YAML ? C'est marrant, certains n'ont pas la lumière dans toutes les cases, et d'autres galèrent pour trouver de l'ombre. T'as pigé, Garenne ?


Idée tordue ! Idée tordue ! Inspire... Le système de validation enchantée... Expire... Les objets magiques... Argh... Barre toi de là ! Détracteur de la pensée colorée capillaire désinvolte ! Et laisse-moi finir mon article. Laisse-moi expliquer au gratin d'Hollywood, en quoi il est constructif, et pas seulement érogène, d'imaginer cette précieuse Pipeline, qui assure que les opérations décrites épousent certaines règles syntaxiques. Laisse-moi montrer les bienfaits qu'apporte la validation enchantée sur les objets magiques. Laisse-moi révéler l'effet de ce doux rêve d'observabilité sur le déroulement de cette saga. Laisse expliquer que...


Avoir la classe, c'est être chic dans sa manière de valider son YAML


Pour une fois, c'est bien la classe ! Ce n'est pas de la frime, dans la mesure où c'est vraiment bénéfique et utile ! Dans un premier temps, ce système de validation évite d'avoir à attendre qu'un agent daigne attraper votre pipeline, que ce soit par la queue ou par la tête, et commence à faire je ne sais trop quoi avec. Pour finalement se rendre compte au bout de précieuses minutes, que les instructions ne tiennent pas la routes. Ces exécution bloquent des agents inutilement, et pire encore, elles peuvent vous couter de précieuses minutes. Car en effet, celles-ci vous seront gracieusement facturées. Et oui, gardez en tête que les fournisseurs de services nuageux ont ce point commun avec les courtisanes : leur mode de facturation à l'usage. Alors, quand bien même cette validation enchantée ne vous offre pas encore de réduction lors de vos balades dans la charmante forêt de l'ouest parisien. Et c'est somme toute regrettable. Souvenez-vous que : sur une année, la validation enchantée peut vous épargner des heures et des heures de traitements incomplets ou simplement inconsistants. Ce, dès la phase de conception de vos pipelines, et bien au delà. Car cet avantage perdure lors de la phase d'exploitation, qui soit dit en passant, n'est pas toujours réalisée par les mêmes acteurs. Ces personnes en charge de déclencher les pipelines auront sans doute les compétences pour altérer les objets magiques, qui rappelons-le, jouissent d'une utilisation plus intuitives aux déploiement que le plus flambant neuf des...


> Arrête tout de suite, je t'ai démasqué... Tu crois franchement que ces vibrations vont faire rire nos sœurs ?


Peu importe, la question reste légitime. N'ait pas Chevalier de la Pipeline sans queue ni tête qui veut ! Tous nos aventuriers auront-ils le courage de s'aventurer dans les entrailles de cette précieuse Pipeline ? Quelle certitude peuvent-ils avoir d'en retrouver la sortie, de ces entrailles, s'il n'y a ni queue ni tête ? Auront-ils la patience de décomposer chaque étape pour en comprendre le fonctionnement ? Les réponses semblent évidentes. Tu comprends alors pourquoi il est important de toujours utiliser la validation enchantée. Pour nous protéger des syntaxes aux détours abusifs et des exécutions intempestives. Tout comme d'autres matières viennent nous protéger des parasites sylvestres venus de l'ouest.


> Julien, n'as-tu pas de manière plus distinguées de présenter tes idées, je trouve que ça dérape salement au cours de cette saga qui à l'image de cette précieuse Pipeline, n'a ni queue ni tête.


Tu as raison. Après tout ce sont en grande partie les Clouds Providers qui financent mes activités. Ils méritent sans doute des mots plus tendres à leur égard. Je ferai un effort dans la rédactions des prochaine sections. C'est promis. Et pour montrer que je suis de bonne volonté, et que je considère tes propos avec intérêt. Voici un second jeu pour me faire pardonner. Je crois savoir que tu les apprécies...


Les fondements de la validation


Considérons le modèle YAML suivant.


parameters:

- name: list

  type: magic


- ${{ each person in list }}:

  - ${{ if(and(ne('Peter', person.name), ne('Steven', person.name))) }}:

    - '${{ person.name }}, tu vas aller bosser avec Peter et Steven': error


Supposons qu'une pipeline fasse appel à ce modèle. Supposons que l'objet magique transmis en paramètre décrive une list dont chaque élément possède une propriété name. Quel est alors le résultat de ce mystérieux extrait ? La réponse se cache dans la suite de cet article. Les jeux sont faits. Rien ne va plus !


Y a pas que l'argent qui fait le bonheur des Cloud Providers


> Attention, tu recommences ! Et en plus de t'en prendre à la Sainte-Trinité-des-Fournisseurs-Tout-Puissants, tu attaques le Grand-Capital. Ton attitude est simplement malaisante.


Attend. Laisse moi t'expliquer les bases du journalisme. Dans les titres, il n'y a pas de place pour les vérités : seule l'accroche règne. De toute façon personne ne relie vraiment les titres au reste de l'histoire. Je m'en sert pour faire passer des messages subliminaux subtilement. Mais ! T'es encore là toi ? Tu n'as rien d'autres à faire, Julien ? Il se fait tard. Et tu me fais encore marmonner seul devant ton écran, ou le mien je ne sais plus trop. Va me coucher. Fais toi plaisir. Je dois continuer. Je ne vais certainement pas m'arrêter sur de simples concepts pécuniaires. La validation enchantée apporte bien plus que ça. Elle est semblable aux belles paroles. Elle a plus grande valeur que les écus, que les pistoles !


> Minable, tu l'as volée à Perrault celle là. Dans ce contexte, elle ne fait pas des Fées. Et d'abord, depuis quand es-tu journaliste ?


Le style Gonzo, Hunter Thompson, ça ne t'évoque rien ? Je n'ai nul temps de parfaire ton éducation. C'est peine perdue. Revenons plutôt à nos moutons. Plus encore que de seoir satisfaction budgétaire à ton entreprise ou d'épargner dur labeur aux agents qui subissent les caprices de tes pipelines estropiées... soit dit en passant si tu éprouves de quelconques considérations sentimentales pour de vulgaires replica d'images Docker en attente d'adoption, tu devrais envisager assez sérieusement de consulter un spécialiste. Crois moi, la lucidité introspective est une de mes facultés innées.


En direct les résultats du tiercé


Alors, "chaque personnes de la liste qui ne s'appelle ni Peter ni Steven reçoit un message" rapporte 0,02 fois la mise. Tandis que, "la première personne de la liste qui ne s'appel ni Peter ni Steven reçoit un message à l'exécution de la pipeline" reçoit 0,31 fois la mise. Et le gros lot revient à "cette pipeline ne s'exécutera que si la liste de personnes fournie contient uniquement des Peter et des Steven". En effet, si un intrus se glisse, un message est affiché lors de la validation, et aucun agent n'entendra parlé de cette pipeline, qui ne sera pas exécutée. Merci pour votre participation. Les gains sont cumulatifs et appréciables, mais tristement non distribués.


La suite, rien que la suite


Bref. Le point que je veux porter sur le devant de la scène est que, une fois ces objets magiques dument validés, la logique métier qui va suivre est nettement plus fluide à appliquer. L'avantage d'avoir des règles de validation effectuées en amont de l'exécution, qui assurent par exemple que tous les paramètres obligatoires sont renseignés, est simplement d'éviter de nombreuses lignes de codes pour décrire les ordres d'exécution. Le YAML, comme de nombreux langages, supporte des syntaxes conditionnelles. Toutefois, tout abus de ces syntaxes nuit fortement à la compréhension et à la maintenabilité du code. Avoir trop de clauses ceci OU cela ET encore ça OU pourquoi pas celle-ci OU celle-là, est simplement à éviter. La validation enchantée offre une occasion merveilleuse d'effectuer de nombreuses vérifications simples qui viennent renforcer la fiabilité de la précieuse Pipeline. Ce type de mécanisme évite d'avoir à répéter, voire à effectuer par la suite, de nombreux tests logiques. Mieux encore, elle permet d'effectuer des validations croisées qui comparent les valeurs de différents paramètres et embarquent une analyse plus fine. Toutes ces vérifications assurent qu'à la sortie de la validation enchantée, l'ensemble des paramètres est conforme à toutes les contraintes. Et comme rappelons-le, cette validation est effectuée en amont de l'exécution des tâches, elle permet de ne pas avoir à se soucier de nombreuses contraintes lors de la mise en place de la logique métier. La validation enchantée devient synonyme de confiance. Et n'est-ce pas la confiance elle-même, qui garantit au modèle capitaliste la valeur de ses fières tulipes ? Cette confiance aveugle en l'emprunt, et surtout, au remboursement de ses intérêts ?


> Là ! Je te préfère sous cet angle. Tu deviens raisonnable, c'est bien. Ouvre ton cœur, viens vers l'Empereur, et rejoins le côté obscure de la Force !


Concrètement, si l'un des paramètres reflète une liste de choix, mettre en place une règle qui assure dès le départ que seule des valeurs issues de cette liste sont renseignées évitera bien des mystères à investiguer. Si la présence d'un paramètre est contradictoire à certaines valeurs d'autres attributs, autant ne pas continuer avec cette contradiction. La rédaction de ces règles va également permettre de constater si le modèle mis en place est améliorable. Va permettre de matérialiser que certains axes peuvent être optimisés. Que certaines valeurs peuvent être déduites. Regrouper toutes les règles de validations dans un unique répertoire amènera sans doute vers des associations d'idées fleurissantes. Et qui sait, un jour l'idée viendra peut-être à l'un des membres de cette équipe qui agit dans un coin de tête, de semer balises descriptives et informations bénéfiques le long de cette validation enchantée. Et de ces graines jailliront facilités de maintien, et simplifications de transfert de compétences.


Apprendre à aimer cultiver ce réflexe de décrire, de documenter, et d'expliquer. Mais ne pas le cultiver n'importe où. Le cultiver au cœur même de la Pipeline sans queue ni tête. Comme tout modèle de développement, il y a un ticket d'entrée, une offre d'adhésion à payer, en quelque sorte ! Il faudra du temps, des échanges, et une volonté inébranlable. Il faudra apprivoiser certaines empathies, dompter d'autres pulsions réfractaires. Et si, tel le pénitent qui avance vers la Lumière et jamais ne recule... comment veux-tu, comment ne veux-tu pas... qu'au travers la lumière ne se dévoile...


Le rêve d'observabilité


Avant d'aller plus loin dans ce rêve d'observabilité. Au risque de nous faire écraser à notre tour par la maison de Dorothy. Osons un récapitulatif de ce texte aux effets de tornade cérébrale, qui tombe des nues, mais pas sous le sens. A ce stade, nous avons fait un effort collectif pour définir notre contexte d'exécution de manière ordonnée et concise. L'ensemble de ce contexte est certifié hautement conforme. D'ailleurs, toute incohérence de lancement serait fortuite, sans douleur, ni frais de dossier. Ce contexte est gracieusement farci de balises descriptives, généreusement truffé de perles documentaires. Et comme le tout est organisés, comme le veut l'usage, dans des dossiers et des fichiers soigneusement baptisés...


Vous l'avez sans doute vu venir. Gros comme le nez au milieu de cette Pipeline dépourvue de tête, une opportunité. Celle de générer spontanément non pas une. Mais tenez vous bien : deux documentations. Riches et complètes, l'une à destination des futurs acteurs d'Hollywood, et l'autre à la mémoire de ceux qui ont vendu leur âme au Diable contre promesse de succès tarantinesques. Telles sorties de la cuisse de Jupiter, semblables à ces paires qui transforment les chenilles en papillons, ces deux documentations sont celles qui permettent à notre Pipeline sans queue ni tête de s'envoler vers de nouveaux cieux.


Certes, il en a couté à ses créateurs, de l'énergie pour rendre leur système observable. Certes les attentes penchaient en faveur des caractéristiques qui rendent ce système opérationnel. Mais quelle récompense s'offrent maintenant à eux ! La précieuse Pipeline vole, et emporte avec elle tous les projets vers les nuages. Dans l'aisance d'une volupté paradisiaque, elle rend la maintenance, comme la compréhension, banalement triviales. Elle qui n'a ni queue ni tête, invite la pérennité et de fiabilité à la fête. Cette nouvelle destination, cette nouvelle approche, ce nouveau voyage, justifient bien d'avoir délaisser un peu les opérations, en faveur des rêves. Et parmi eux, ce rêve d'observabilité, vient tout changer.


> D'abord des objets magiques, puis une validation enchantée, et maintenant un rêve d'observabilité. Franchement, qu'est ce tu vas bien pouvoir encore y fourrer d'autre dans ta Pipeline sans queue ni tête ?


La suite de cette histoire est déjà toute tracée, et elle tient la route, elle ! Ce qui m'horripile dans tout ça, c'est le caractère hirsute des champs lexicaux que tu aimes à associer à mes articles. Ce type d'inspiration reflète très nettement une perversion profonde et néfaste. Les dégâts potentiels de ce comportement s'étendent sans doute déjà à ton entourage familial, à ton contexte professionnel. C'est inquiétant. Surtout pour moi qui n'a soit disant d'existence que dans ton imaginaire, cela pourrait s'avérer dramatiquement dangereux.


> Je me moque de toi et de tes fans d'Hollywood en herbe : ils peuvent tous moisir dans leurs décors prémâchés et remastiqués ! De toute façon en matière de production diaboliques je ne reçois pas de conseil ! Je fais des vidéos plus fendards que vos blockbusters lamentables. Je les produits à partir de flux vampirisés chez tes collègues et tes clients. Je refais les dialogues lamentables de tes feuilletons professionnels, échappés par miracle qu'ils sont, à la grande aire du tri sélectif. Et devine quoi, à propos de recyclage... Comme je diffuse ces vidéos sur le Dark Web, ça me rapporte des crédits sur Nice Market. Tu ne t'es jamais demandé d'où viennent tes médicaments ?


Affaire à suivre...


Julien


Commentaires :

Aucun commentaires pour le moment


Laissez un commentaire :

Réalisé par
Expaceo