Découvrez quelle solution de test API est arrivée en tête dans le rapport GigaOm Radar. Obtenez votre rapport d'analyse gratuit >>

Découvrez quelle solution de test API est arrivée en tête dans le rapport GigaOm Radar. Obtenez votre rapport d'analyse gratuit >>
Aller à la section
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
Aller à la section
La meilleure façon de introduisez la virtualisation des services dans votre organisation est étape par étape. Utilisez-le là où il est le plus utile pour réduire le coût total des tests et obtenir le pouvoir de contrôler votre processus d'automatisation des tests avec un flux de travail DevOps entièrement automatisé.
Utilisons une analogie. Lorsque vous décidez qu'il est temps d'adopter un mode de vie sain, vous pouvez faire des recherches et vous retrouver avec des conseils comme « Stop boire de l'alcool! Commencez à manger du chou ! Couchez-vous à 8 heures ! Marchez cinq milles tous les jours ! Bien qu'il puisse être logique d'embrasser toutes ces activités pour adopter un mode de vie sain, si vous essayez de les adopter toutes en même temps, vous échouerez probablement. Au lieu de cela, vous devez procéder étape par étape. Ajoutez un exercice supplémentaire ici. Faites-y un choix alimentaire sain. Montez lentement à un niveau où vous pouvez développer des habitudes saines comme un pro.
Virtualisation des services n'est pas différent. Au fil des ans, j'ai aidé de nombreux clients à adopter ce précieux catalyseur DevOps. La plupart des organisations souhaitent adopter l'approche du big bang : apporter immédiatement une solution entièrement déployée qui s'étend sur plusieurs équipes et est déjà intégrée dans le cadre de leur pipeline de livraison continue.
Bien que toutes ces choses soient essentielles pour réaliser pleinement le ROI potentiel qui dessert la virtualisation peut fournir, si vous essayez de tout faire dès le premier jour, vous ne pourrez probablement pas évoluer efficacement dans votre déploiement DevOps complet. Alors, comment y arrivez-vous?
Dans ce blog, je partagerai exactement cela. Nous allons suivre une personne, depuis sa licence unique de virtualisation de service gratuite jusqu'à l'intégralité de son organisation. déploiement de virtualisation des services, intégré à leur workflow DevOps. Ceci est basé sur une histoire vraie, mais par souci d'anonymat, nous allons appeler cette personne 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.
Ainsi, elle a appris comment la virtualisation des services pouvait créer un service virtuel plus compliqué en un temps sensiblement court. Elle a téléchargé le version gratuite de Parasoft Virtualize obtenir gratuitement la virtualisation des services, ce qui lui a permis de commencer à créer des services virtualisés et de les modifier facilement au fur et à mesure que les services réels subissaient des changements. En conséquence, elle a pu effectuer tous ses tests et développements dans un environnement complètement 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 approché l'équipe de Sally. Ils étaient curieux de la solution de virtualisation des services que l'équipe utilisait pour les aider à créer et à tester les applications plus rapidement. Ils voulaient avoir une discussion sur son application pratique dans un environnement plus large. Il y avait eu un certain buzz autour des pannes dans les environnements d'intégration et de production causées par les applications héritées. Les applications reposaient sur une série de bases de données Oracle, un ESB complexe et un ordinateur central.
Ces systèmes étaient difficiles à tester pour une série de raisons. Sally et son équipe ont pu montrer qu'il était facile de simuler les services derrière l'ESB, car il s'agissait de services REST et SOAP de base et de quelques JMS et MQ avec XML développé en interne. Pour s'attaquer au matériel hérité, ils avaient besoin de suralimenter leur bureau de virtualisation de services, ils ont donc mis à niveau vers la version complète de Parasoft Virtualiser.
À 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 joyeusement travaillé pendant plusieurs mois pour résoudre des défis importants et significatifs pour l'organisation. Il s'agrandit avec quelques membres supplémentaires. Pour augmenter la visibilité et la notoriété de l'équipe et augmenter la taille de son budget, Sally a mis en place le programme « Hoo-Rah ».
Chaque fois que l'équipe construisait quelque chose avec un retour sur investissement quantifiable, elle gardait une trace des gains et envoyait un e-mail public expliquant ce qu'elle avait fait et quelles équipes en avaient bénéficié. Des exemples de ces « hoo-rah » étaient :
Ces e-mails « hoo-rah » étaient 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 de cas de test automatisés correspondants. Elle avait une bibliothèque de données de test alimentant ces deux artefacts de test. La majorité de la création réelle de services était effectuée par les équipes individuelles, et l'équipe de Sally était principalement responsable de l'orchestration de tous ces différents services virtuels dans 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.
Chaque fois qu'une application devait être testée et que l'environnement réel ne suffisait pas, le centre d'excellence de la virtualisation créait une environnement de différents services virtuels et permettre aux membres de l'équipe de tester. Les équipes sont devenues de plus en plus dépendantes des services virtuels dans le cadre de l'exécution de leurs tests, et il s'agissait d'une transition naturelle vers le 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 :