Découvrez GoogleTest certifié TÜV avec Agentic AI pour les tests C/C++ !
Plus de détails »
Aller à la section
Blog Parasoft
La virtualisation des services est généralement utilisée pour connecter des applications qui s'appuient sur le cloud, l'architecture SOA ou l'API de tiers. Découvrez comment transformer un outil de virtualisation de service gratuit en une implémentation DevOps complète en lisant cet article de blog.
Aller à la section
La meilleure façon d' intégrer la virtualisation des services à votre organisation est de procéder par étapes. Utilisez-la là où elle est la plus pertinente pour réduire le coût total des tests et maîtriser votre processus d'automatisation des tests grâce à un flux de travail DevOps entièrement automatisé.
Prenons une analogie. Lorsque vous décidez d'adopter un mode de vie sain, vous faites peut-être des recherches et tombez sur des conseils comme : « Arrêtez de boire de l'alcool ! Mangez du chou kale ! Couchez-vous à 20 h ! Marchez 8 km par jour ! » S'il peut sembler logique d'adopter toutes ces activités pour un mode de vie sain, si vous essayez de tout faire en même temps, vous échouerez probablement. Il faut plutôt procéder étape par étape. Ajoutez un peu d'exercice ici. Faites un choix alimentaire sain là. Progressez petit à petit jusqu'à adopter des habitudes saines comme un pro.
La virtualisation des services ne fait pas exception. J'ai accompagné de nombreux clients au fil des ans dans l'adoption de cet outil DevOps précieux. La plupart des organisations privilégient une approche radicale : déployer immédiatement une solution complète, couvrant plusieurs équipes et déjà intégrée à leur pipeline de livraison continue.
Bien que tous ces éléments soient essentiels pour exploiter pleinement le retour sur investissement potentiel de la virtualisation des services , si vous essayez de tout mettre en œuvre dès le premier jour, vous risquez de ne pas pouvoir déployer efficacement votre infrastructure DevOps à grande échelle. Alors, comment y parvenir ?
Dans cet article, je vais vous raconter l'histoire d'une personne, depuis l'obtention de sa licence gratuite de virtualisation de services jusqu'au déploiement complet de cette solution au sein de son organisation , intégrée à leur processus DevOps. Ce récit est inspiré d'une histoire vraie, mais par souci d'anonymat, nous l'appellerons Sally.
Rencontrez Sally le développeur. Sally est intelligente et capable de se développer à un rythme beaucoup plus rapide que ses collègues. Elle a commencé à utiliser des simulations pour s'isoler pendant la phase de test, mais passait beaucoup de temps à développer le type de logique dont elle avait besoin pour intégrer ces systèmes, car les applications réelles qu'elle supprimait étaient complexes.
Elle a donc découvert comment la virtualisation de services permettait de créer un service virtuel plus complexe en un temps remarquablement court. Elle a téléchargé la version gratuite de Parasoft Virtualize pour bénéficier gratuitement de la virtualisation de services, ce qui lui a permis de créer des services virtualisés et de les modifier facilement en fonction des changements apportés aux services originaux. Ainsi, elle a pu effectuer tous ses tests et développements dans un environnement totalement isolé.
Alors qu'elle discutait de ces avantages avec certains de ses collègues, ils souhaitaient eux aussi tirer parti des services qu'elle avait créés, car il s'agissait de services communs entre les différents développeurs. Ils pouvaient simplement diriger leurs applications vers la machine de Sally et en récolter les bénéfices.
Ils ont également obtenu une virtualisation de service gratuite avec Parasoft Virtualize et ont commencé à créer de nouveaux services, à ajuster ces services et à consommer ces services à partir de leurs postes de travail gratuits. L'équipe a fait des progrès significatifs dans le développement et les tests car elle a pu réduire de nombreux goulots d'étranglement qui étaient présents dans l'environnement. L'équipe est devenue populaire pour son agilité et a obtenu tous les meilleurs projets.
La direction a contacté l'équipe de Sally. Elle s'intéressait à la solution de virtualisation de services utilisée par l'équipe pour accélérer le développement et les tests des applications. Elle souhaitait discuter de son application concrète dans un environnement plus vaste. Des interruptions de service dans les environnements d'intégration et de production, dues à des applications obsolètes, avaient suscité des inquiétudes. Ces applications reposaient sur plusieurs bases de données Oracle, un bus de services d'entreprise (ESB) complexe et un mainframe.
Ces systèmes étaient difficiles à tester pour plusieurs raisons. Sally et son équipe ont pu démontrer qu'il était facile de simuler les services sous-jacents à l'ESB, car il s'agissait de services REST et SOAP basiques, ainsi que de quelques services JMS et MQ avec du XML développé en interne. Pour gérer le matériel existant, ils ont dû optimiser leur environnement de virtualisation de services et sont donc passés à la version complète de Parasoft Virtualize.
À ce stade, ils ont pu facilement appliquer la virtualisation des services pour les différents défis présents dans les cas d'utilisation décrits par la direction. Il a fallu quelques jours pour s'assurer que les services virtuels satisfaisaient tous les différents cas d'utilisation, mais ils ont pu débloquer tous les défis qu'ils rencontraient dans ces environnements. Ce fut l'un des tournants clés du mouvement de virtualisation des services dans l'organisation de Sally, car ils ont pu tirer parti de l'expertise de l'équipe de Sally en matière de virtualisation des services de base pour relever des défis plus complexes qui avaient des coûts réels associés.
Au fur et à mesure que l'équipe devenait plus populaire, il est devenu évident qu'elle devait étendre son déploiement. Si l'un des membres de l'équipe devait éteindre la machine ou partir en vacances, cela affecterait les utilisateurs accédant aux services virtuels. Sally a décidé qu'il était temps de mettre à niveau à nouveau leur architecture de déploiement et ils ont acheté un serveur intermédiaire de virtualisation.
Cela a permis à chaque membre de l'équipe de combiner leurs efforts pour un écosystème de test simulé complet. Le serveur était toujours allumé et agissait comme une bibliothèque d'artefacts virtuels. Il était connecté au contrôle de source, de sorte que différentes versions des services étaient déployées sur le serveur, elles seraient automatiquement archivées. Cela a permis à l'équipe d'avoir un point de vérité central pour tous les actifs virtuels. Personne n'avait à deviner où se trouvait la version la plus récente.
L'équipe a travaillé sans relâche pendant plusieurs mois pour relever des défis importants et significatifs pour l'organisation. Elle s'est ensuite agrandie avec quelques membres supplémentaires. Pour accroître sa visibilité et sa notoriété, et augmenter son budget, Sally a mis en place le programme « Hoo-Rah ».
Chaque fois que l'équipe créait un projet avec un retour sur investissement quantifiable, elle suivait les gains et envoyait un courriel public expliquant ce qu'elle avait accompli et quelles équipes en avaient bénéficié. Voici quelques exemples de ces encouragements :
Ces e-mails « hourra » ont été essentiels pour intégrer des équipes supplémentaires et ont aidé les principales parties prenantes de l'entreprise à comprendre l'importance de la virtualisation des services pour le processus d'automatisation des tests.
Lors de l'audit d'une application critique, un membre de l'équipe de sécurité a découvert un vecteur d'attaque potentiel dans le système qui pourrait être exploité et entraîner non seulement la fuite de données client sensibles, mais également la non-conformité de l'organisation. Si elle n'est pas corrigée rapidement, l'organisation serait obligée de mettre à jour le comité de conformité et de lancer le processus de sanction.
L'équipe s'est rendu compte que si elle pouvait corriger le défaut dans une fenêtre de temps spécifique, elle pourrait pousser les changements à l'environnement de production et tout irait bien. Le défi était que, pour réussir à reproduire le problème, ils devaient mettre bon nombre de leurs systèmes de paiement tiers dans un état où ils renvoyaient diverses conditions d'erreur et divulguaient intentionnellement des PII ou des données client.
L'équipe n'avait pas la capacité de forcer ces systèmes, qui étaient hors de leur contrôle, dans l'état dont ils avaient besoin pour exposer le défaut et valider les correctifs qu'ils allaient mettre en place. Sally a été appelée au milieu de la soirée et a demandé d'aller travailler.
L'équipe a rapidement réutilisé les services virtuels existants qu'elle avait créés pour ces systèmes de paiement tiers et les a mis dans un état où ils commenceraient à renvoyer un comportement négatif. Comme l'application n'avait pas besoin d'être redéployée, ils pouvaient simplement modifier le comportement au fur et à mesure que les développeurs apportaient leurs modifications et éliminer toutes les différentes combinaisons qui menaient à l'exploit potentiel. Inutile de dire que l'équipe a réussi à mettre en production un hot patch qui a permis à l'entreprise d'économiser des millions.
L'équipe de direction a ensuite franchi la prochaine étape importante pour son organisation : la création d'un centre d'excellence dédié à la virtualisation des services qui pourrait être mis à profit pour créer des services virtuels chaque fois que de nouveaux défis se présentent. Sally, bien sûr, était la personne idéale pour diriger l'équipe.
Sally a commencé à créer des processus autour de l'intégration des initiatives de virtualisation et à créer des critères d'acceptation, afin que l'équipe elle-même ne devienne pas un nouveau goulot d'étranglement. La gouvernance est devenue une partie importante de la conversation.
L'équipe a mis en place une série de cinq rôles et responsabilités pour assurer le succès de chaque projet de virtualisation.
La mise en place de ces rôles était essentielle au succès de l'équipe de virtualisation des services, clarifiant les besoins pour assurer le succès des projets de virtualisation. Chaque membre de l'équipe de virtualisation des services disposait du logiciel de bureau Parasoft Virtualize. Ils créeraient les services virtuels sur le bureau, puis les mettraient à la disposition des utilisateurs.
L'équipe du centre d'excellence de virtualisation des services de Sally est devenue populaire auprès des développeurs et des testeurs. Beaucoup ont commencé à demander l'accès à Parasoft Virtualize afin de pouvoir créer leurs propres prototypes et valider des scénarios négatifs et positifs.
Sally avait l'infrastructure pour le prendre en charge, mais elle n'avait pas nécessairement besoin de leur donner le gros marteau qu'était la version de bureau professionnelle. Elle a de nouveau mis à niveau leur infrastructure et a inclus l'interface client léger de Parasoft pour activer pleinement leurs flux de travail DevOps. Ce tableau de bord centralisé donnait accès à n'importe quel utilisateur de l'organisation et lui permettait de créer des services virtuels et des cas de test directement depuis son navigateur.
Cette évolution du déploiement a créé un modèle hybride dans lequel les membres individuels de l'équipe pouvaient agir de manière fédérée, créant leurs propres services virtuels pour leurs besoins, y accédant, les modifiant, etc. Et quand est venu le temps d'intégrer ces services virtuels dans l'architecture plus large, ils disposaient d'un mécanisme pour collaborer avec le centre d'excellence de la virtualisation. L'équipe pourrait ajouter des serveurs supplémentaires pour prendre en charge la charge et intégrer des serveurs de performance lorsque l'équipe de performance s'embarquerait.
À ce stade, Sally disposait d'une bibliothèque complète d'actifs virtuels et des cas de tests automatisés correspondants. Elle disposait également d'une bibliothèque de données de test alimentant ces deux artefacts de test. La majeure partie de la création des services était assurée par les équipes individuelles, et l'équipe de Sally était principalement chargée d'orchestrer l'ensemble de ces différents services virtuels au sein d'un « environnement ».
L'environnement n'était en fait qu'un modèle d'actifs virtuels, de cas de test et de données de test intégrés dans une configuration spécifique afin de satisfaire une initiative de test. Ils ont créé bon nombre de ces modèles d'environnement et les ont alignés sur les différentes applications de l'organisation.
Lorsqu'une application nécessitait des tests et que l'environnement réel ne suffisait pas, le centre d'excellence en virtualisation déployait un environnement composé de différents services virtuels , permettant ainsi aux membres de l'équipe d'effectuer leurs tests. Les équipes sont devenues de plus en plus dépendantes des services virtuels pour l'exécution de leurs tests, ce qui a naturellement conduit à l'adoption du pipeline de livraison continue.
Le déploiement final et entièrement réalisé pour la virtualisation des services dans l'organisation de Sally ressemblait à ceci:
Les membres individuels de l'équipe créeraient les services virtuels et les cas de test dans leurs navigateurs. Si les services virtuels devaient être mis à jour ou si une logique supplémentaire devait être ajoutée, le centre d'excellence de virtualisation s'en chargerait avec ses postes de travail professionnels.
Les services virtuels et les cas de test seraient alors combinés à l'intérieur de l'interface du client léger. Lorsque ces environnements devaient être disponibles, leur système de construction les appelait et les déployait soit dans le cloud, soit sur des serveurs dédiés. Les cas de test automatisés démarreraient alors, les résultats seraient envoyés à leur tableau de bord agrégé et l'environnement dynamique serait détruit.
Les véritables tests continus rendus possibles par la virtualisation des services ne se font pas du jour au lendemain. Cette histoire est réelle et tout est possible grâce à la virtualisation des services. Mais cela nécessite que l’organisation soit impliquée et reparte de zéro, tout comme Sally l’a fait. D’ailleurs, elle fait désormais partie du conseil d’administration.
Cette approche est le meilleur moyen d'introduire la virtualisation des services dans votre organisation, étape par étape, utilisée là où elle est la plus utile. Le parcours exact de chacun sera différent, mais les résultats finaux devraient être les mêmes :