Articles

Conception de microservices pour l'IA

La conception de microservices pour l’IA est une tâche complexe qui nécessite une compréhension approfondie des principes de l’intelligence artificielle et des technologies modernes.

2. Event-driven Architecture

The event-driven architecture pattern is based on the concept of an event-driven system, where events are generated by components and handled by other components. In AI microservices, events are triggered by changes in data or model parameters, and the corresponding services are notified to take appropriate actions. This pattern is useful for real-time applications such as autonomous vehicles, where the system must respond quickly to changing conditions.

3. Containerization

Containerization is a key component of AI microservices, allowing for the deployment of multiple services in a single environment. This pattern enables the efficient packaging and deployment of AI models, making it easier to scale and manage them. Additionally, containers provide an isolated environment for each service, ensuring that any changes made to one service do not affect the others.

Conclusion

The integration of AI into microservices architecture is becoming increasingly important in today’s software landscape. The 10 design patterns discussed in this article are essential for developing efficient, robust, and scalable AI solutions. By leveraging these patterns, developers can create powerful AI applications that are modular, scalable, and flexible.

1. Modèle en tant que service (MaaS)

MaaS considère chaque modèle d’intelligence artificielle (IA) comme un service autonome. En exposant les fonctionnalités d’IA via des API REST ou gRPC, MaaS permet un redimensionnement et une mise à jour indépendants des modèles. Ce modèle est particulièrement avantageux pour gérer plusieurs modèles d’IA, permettant une intégration et une déploiement continus sans perturber l’ensemble du système.

2. Architecture orientée événement

Le modèle d’architecture orientée événement est basé sur le concept d’un système orienté événement, où les événements sont générés par des composants et traités par d’autres composants. Dans les microservices d’IA, les événements sont déclenchés par des changements de données ou de paramètres de modèle, et les services correspondants sont notifiés pour prendre les actions appropriées. Ce modèle est utile pour les applications en temps réel telles que les véhicules autonomes, où le système doit réagir rapidement aux conditions changeantes.

3. Conteneurisation

La conteneurisation est un composant clé des microservices d’IA, permettant le déploiement de plusieurs services dans un seul environnement. Ce modèle permet l’empaquetage et le déploiement efficaces des modèles d’IA, facilitant leur mise à l’échelle et leur gestion. De plus, les conteneurs fournissent un environnement isolé pour chaque service, ce qui garantit que tout changement apporté à un service n’affecte pas les autres.

Conclusion

L’intégration de l’IA dans l’architecture des microservices devient de plus en plus importante dans le paysage logiciel actuel. Les 10 modèles de conception discutés dans cet article sont essentiels pour développer des solutions d’IA efficaces, robustes et évolutives. En exploitant ces modèles, les développeurs peuvent créer des applications d’IA puissantes qui sont modulaires, évolutives et flexibles.

Source de l’article sur DZONE

Optimiser le flux d'air : étude de cas sur l'efficacité des ressources Cloud

Dans cet article, nous allons explorer comment optimiser le flux d’air en étudiant l’efficacité des ressources Cloud. Découvrons ensemble les avantages et les inconvénients de cette technologie !

Au cours de ma carrière, j’ai travaillé avec de nombreuses entreprises qui nécessitaient un outil d’orchestration pour une durée limitée par jour. Par exemple, l’un de mes premiers clients indépendants devait exécuter une instance Airflow pendant seulement 2 à 3 heures par jour, ce qui entraînait une inactivité de l’instance le reste du temps et un gaspillage d’argent.

I proposed a solution that would allow the client to use the Airflow instance only when needed, and to shut it down when not in use. This solution was based on a serverless architecture, which allowed the client to pay only for the resources used. The client was very pleased with the results and I was able to save them money.

Au cours de ma carrière, j’ai travaillé avec de nombreuses entreprises qui nécessitaient un outil d’orchestration pendant une durée limitée par jour. Par exemple, l’un de mes premiers clients indépendants avait besoin de faire fonctionner une instance Airflow pendant seulement 2 à 3 heures par jour, ce qui entraînait une inactivité de l’instance le reste du temps et une perte d’argent.

Comme il ne s’agissait pas d’une grande entreprise, le client m’a demandé si je pouvais intervenir. L’infrastructure était hébergée sur Google Cloud, que je connaissais bien.

J’ai proposé une solution qui permettrait au client d’utiliser l’instance Airflow uniquement lorsque nécessaire et de l’arrêter lorsqu’elle n’est pas utilisée. Cette solution était basée sur une architecture sans serveur, ce qui permettait au client de payer uniquement pour les ressources utilisées. Le client était très satisfait des résultats et j’ai pu lui faire économiser de l’argent.

Source de l’article sur DZONE

Libérez vos ingénieurs logiciels avec Unblocked.

Libérez vos ingénieurs logiciels des contraintes du travail en équipe grâce à Unblocked. Une plateforme qui facilite la collaboration et l’innovation.

## Développeurs passent des semaines ou même des mois à embarquer dans une nouvelle entreprise. Se mettre à niveau dans une nouvelle base de code prend du temps. Pendant ce temps, le développeur aura de nombreuses questions (comme il se doit)! Cependant, ces questions interrompent les autres membres de l’équipe qui doivent arrêter ce qu’ils font pour fournir des réponses.

La plupart des organisations d’ingénierie font face au dilemme de s’assurer que le nouveau développeur obtient le soutien dont il a besoin sans ralentir trop le reste de l’équipe.

Software like Stack Overflow for Teams can help. Stack Overflow for Teams is a private, secure platform for teams to ask questions, share knowledge, and find answers. It’s a great way to ensure new developers have the support they need without disrupting the rest of the team.

Les développeurs passent des semaines, voire des mois, à s’intégrer à une nouvelle entreprise. Il faut du temps pour se familiariser avec un nouveau code source. Pendant ce temps, le développeur aura beaucoup de questions (et c’est normal !). Cependant, ces questions interrompent les autres membres de l’équipe qui doivent alors arrêter ce qu’ils font pour fournir des réponses.

La plupart des organisations d’ingénierie font face au dilemme de s’assurer que le nouveau développeur obtienne le soutien dont il a besoin sans trop ralentir le reste de l’équipe.

Des logiciels tels que Stack Overflow for Teams peuvent aider. Stack Overflow for Teams est une plate-forme privée et sécurisée pour les équipes afin de poser des questions, partager des connaissances et trouver des réponses. C’est un excellent moyen de s’assurer que les nouveaux développeurs disposent du soutien dont ils ont besoin sans perturber le reste de l’équipe.

Source de l’article sur DZONE

Créer une API minimaliste RESTful avec .NET Core 7

Créer une API minimaliste RESTful avec .NET Core 7 est un excellent moyen de créer des applications modernes et flexibles. Découvrez comment le faire facilement !

NET Core et ASP.NET Core sont des frameworks populaires pour créer des puissantes API REST. Dans ce tutoriel, nous allons l’utiliser pour développer une simple API Minimal qui simule une cote de crédit. Les API Minimal offrent une approche simplifiée pour créer des API HTTP hautes performances à l’aide d’ASP.NET Core. Ils vous permettent de construire des points de terminaison REST complets avec un minimum de configuration et de code facilement. Au lieu de compter sur les échafaudages et les contrôleurs conventionnels, vous pouvez définir fluemment les routes et les actions API pour simplifier le processus de développement.

NET Core et ASP.NET Core sont des frameworks populaires pour créer des puissantes API REST. Dans ce tutoriel, nous allons l’utiliser pour développer une simple API Minimal qui simule un score de crédit. Les API Minimal offrent une approche simplifiée pour créer des API HTTP hautes performances avec ASP.NET Core. Elles vous permettent de construire des points de terminaison REST complets avec un minimum de configuration et de code facilement. Au lieu de s’appuyer sur des échafaudages et des contrôleurs conventionnels, vous pouvez définir fluemment des routes et des actions API pour simplifier le processus de développement.

Nous allons créer un point de terminaison permettant à un utilisateur de récupérer un score de crédit en envoyant une demande à l’API. Nous pouvons également enregistrer et récupérer des scores de crédit à l’aide des méthodes POST et GET. Cependant, il est essentiel de noter que nous ne relierons pas de systèmes backend existants pour extraire un score de crédit; au lieu de cela, nous utiliserons un générateur de nombres aléatoires pour générer le score et le renvoyer à l’utilisateur. Bien que cette API soit relativement simple, elle illustrera les bases du développement d’API REST avec .NET Core 7 et l’approche API Minimal. Ce tutoriel fournira une introduction pratique à la construction d’API REST avec .NET Core 7 et l’approche API Minimal.

Lorsque nous développons une API REST avec .NET Core 7, nous devons suivre certaines conventions d’architecture. Nous devons définir les chemins d’accès à nos API, les méthodes HTTP, les contrôleurs et les actions. Nous devons également définir les modèles de données que nous allons utiliser pour stocker et récupérer les données. Enfin, nous devons définir le format des données que nous allons envoyer et recevoir via l’API. Dans ce tutoriel, nous allons utiliser le format JSON pour envoyer et recevoir les données. Une fois que nous aurons défini ces conventions d’architecture, nous pourrons commencer à développer notre API.

Une fois que nous aurons développé notre API, nous devrons la tester. Nous pouvons tester manuellement l’API en envoyant des requêtes HTTP à l’aide d’un client HTTP tel que Postman ou cURL. Nous pouvons également tester automatiquement l’API en écrivant des tests unitaires et intégrés avec xUnit ou NUnit. Une fois que nous aurons testé l’API, nous pourrons la déployer sur un serveur web tel que IIS ou Kestrel. Une fois déployée, nous pourrons commencer à utiliser notre API pour récupérer des scores de crédit.

En conclusion, ce tutoriel a fourni une introduction pratique à la construction d’API REST avec .NET Core 7 et l’approche API Minimal. Nous avons appris à définir les conventions d’architecture, à développer une API, à tester manuellement et automatiquement l’API et à la déployer sur un serveur web. Bien que cette API soit relativement simple, elle illustre les bases du développement d’API REST avec .NET Core 7 et l’approche API Minimal.

Source de l’article sur DZONE

Cycle de test automatisé

Le cycle de test automatisé est une méthode efficace pour vérifier la qualité et la fiabilité des logiciels. Il permet d’accélérer le processus de développement et de réduire les coûts.

Rapport de tendances sur les tests automatisés de DZone 2023

Selon le rapport de DZone 2023 sur les tendances en matière de tests automatisés, le marché des tests automatisés a dépassé les 20 milliards de dollars (USD) en 2022 et devrait connaître une croissance annuelle composée (CAGR) de plus de 15 % entre 2023 et 2032. Cela peut être attribué à la volonté des organisations d’utiliser des techniques sophistiquées de test automatisé dans le cadre du processus d’assurance qualité (QAOps). En réduisant le temps nécessaire à l’automatisation des fonctionnalités, cela accélère la commercialisation des solutions logicielles. Il offre également une extermination rapide des bogues et un débogage post-déploiement et aide à l’intégrité du logiciel grâce à des notifications précoces de changements imprévus.

Les tests automatisés sont une partie essentielle du processus de développement logiciel. Les tests automatisés aident à réduire les coûts et à améliorer la qualité du logiciel. Les outils de test automatisés sont conçus pour exécuter des tests répétitifs et répétitifs, ce qui permet aux développeurs de se concentrer sur le codage et l’amélioration du produit. Les outils de test automatisés peuvent être utilisés pour tester l’intégration, le déploiement, la sécurité, le codage, les performances et l’accessibilité. Les outils de test automatisés peuvent être intégrés à des outils d’intégration continue (CI) pour fournir des résultats plus précis et plus rapides. Les outils de test automatisés peuvent être utilisés pour tester les applications Web, mobiles et natives.

Les tests automatisés sont également utiles pour tester les API et les microservices. Les tests automatisés peuvent être utilisés pour tester les API et les microservices en exécutant des tests unitaires, des tests d’intégration et des tests d’acceptation. Les tests automatisés peuvent également être utilisés pour tester les API REST et SOAP. Les tests automatisés peuvent être utilisés pour tester les performances, la sécurité et la fiabilité des API et des microservices. Les tests automatisés peuvent également être utilisés pour vérifier la conformité aux normes et aux réglementations.

En conclusion, les tests automatisés sont essentiels pour assurer la qualité du logiciel et améliorer l’efficacité des processus de développement logiciel. Les outils de test automatisés peuvent être intégrés à des outils d’intégration continue pour fournir des résultats plus précis et plus rapides. Les tests automatisés peuvent être utilisés pour tester l’intégration, le déploiement, la sécurité, le codage, les performances et l’accessibilité. Les tests automatisés peuvent également être utilisés pour tester les API et les microservices en exécutant des tests unitaires, des tests d’intégration et des tests d’acceptation.

Source de l’article sur DZONE

Guide O11y : Sans observabilité, ce n'est que du code

« Comprendre et améliorer la qualité et la performance de votre code est essentiel. Guide O11y vous aide à atteindre cet objectif en vous fournissant les outils nécessaires pour une observabilité optimale ! »

Bienvenue à un autre chapitre de la série en cours que j’ai commencée pour couvrir mon voyage dans le monde de l’observabilité cloud-native. Si vous avez manqué l’un des articles précédents, revenez à l’introduction pour une mise à jour rapide.

Après avoir établi les bases de cette série dans l’article initial, j’ai passé du temps à partager qui sont les acteurs de l’observabilité, j’ai examiné la discussion en cours autour des piliers de surveillance versus les phases, j’ai partagé mes pensées sur les choix de niveau architectural qui sont faits et j’ai partagé les normes ouvertes disponibles dans le paysage open source. J’ai continué avec quelques-uns des défis architecturaux que vous pourriez rencontrer lorsque des applications monolithiques plus anciennes et des outils de surveillance font toujours partie du paysage d’infrastructure d’une organisation. Enfin, je vous ai guidé à travers le projet de visualisation et de tableau de bord open source appelé Perses en introduisant mon atelier pratique.

Bienvenue à un autre chapitre de la série en cours que j’ai commencée pour couvrir mon voyage dans le monde de l’observabilité cloud-native. Si vous avez manqué l’un des articles précédents, revenez à l’introduction pour une mise à jour rapide.

Après avoir établi les bases de cette série dans l’article initial, j’ai passé du temps à partager qui sont les acteurs de l’observabilité, j’ai regardé la discussion en cours autour des piliers de surveillance versus les phases, j’ai partagé mes pensées sur les choix de niveau architectural qui sont faits et j’ai partagé les standards ouverts disponibles dans le paysage open source. J’ai continué avec quelques-uns des défis architecturaux auxquels vous pourriez être confrontés lorsque des applications monolithiques plus anciennes et des outils de surveillance font toujours partie du paysage d’infrastructure d’une organisation. Enfin, je vous ai guidé à travers le projet de visualisation et de tableau de bord open source appelé Perses en introduisant mon atelier pratique.

Aujourd’hui, je vais parler du logiciel d’observabilité cloud-native que j’utilise pour collecter, stocker et analyser les données. Je vais également partager mon expérience personnelle et mes pensées sur la façon dont je me suis retrouvé à utiliser ce logiciel et ce que je pense qu’il fait bien.

Le logiciel d’observabilité cloud-native que j’utilise est appelé Prometheus. C’est un système open source qui a été créé par SoundCloud pour surveiller leur infrastructure cloud. Il est maintenant maintenu par la communauté open source et est largement utilisé par les entreprises pour surveiller leurs applications et leurs services. Prometheus est conçu pour collecter des métriques à partir de sources de données telles que des applications, des services et des systèmes d’exploitation. Il stocke ces métriques dans un format compact et peut être interrogé pour obtenir des informations sur la performance et la disponibilité des applications et des services.

Prometheus est un outil très puissant qui peut être utilisé pour surveiller tous les aspects d’une infrastructure cloud-native. Il peut être utilisé pour surveiller les performances des applications, les performances des services, la disponibilité des services et bien plus encore. Il peut également être utilisé pour surveiller les performances des conteneurs et des microservices. Il offre une variété d’options de visualisation et de tableaux de bord pour afficher les données collectées par Prometheus. En outre, il offre une API REST qui peut être utilisée pour intégrer Prometheus à d’autres outils d’observabilité tels que Grafana ou Kibana.

J’utilise Prometheus depuis plusieurs années maintenant et je suis très satisfait de son fonctionnement. Il est très facile à configurer et à gérer, ce qui en fait un excellent choix pour les développeurs qui souhaitent surveiller leurs applications et leurs services. Il est également très flexible et peut être facilement intégré à d’autres outils d’observabilité. Enfin, il est open source, ce qui signifie qu’il est gratuit à utiliser et qu’il bénéficie du soutien de la communauté open source.

Source de l’article sur DZONE

Mise en œuvre de la découverte de services avec Spring Cloud (2e partie)

Dans cette deuxième partie, nous allons voir comment mettre en œuvre la découverte de services avec Spring Cloud. Préparez-vous à apprendre comment configurer et déployer vos services !

Partie 2 de l’Article Spring Cloud: Comment Implémenter le Service Discovery (Partie 1)

Dans la première partie de cet article, Spring Cloud: Comment implémenter le service de découverte (Partie 1), nous avons vu les bases du Service Discovery dans le contexte de Spring Cloud. Nous avons vu que la composante Netflix OSS Eureka est toujours le choix principal. Dans ce post, nous allons discuter de certains sujets supplémentaires liés à Eureka, tels que :

API Java Client

API REST

Sécuriser le serveur de découverte et les services clients

Combiner le Service Discovery avec la Configuration Distribuée

Service Discovery : API Java Client

Dans les exemples de la première partie de cet article, l’enregistrement et le récupération des fonctionnalités étaient exécutés sous le capot et nous avons seulement vu les résultats des tests de l’architecture entière en appelant un point de terminaison REST client. Il existe également une manière d’interagir avec l’API Eureka de manière programmatique, en utilisant des appels de méthodes Java. Un choix possible serait d’utiliser la classe EurekaClient. Par exemple, si nous voulons obtenir toutes les instances d’un service identifié par un ID particulier, nous pourrions écrire le code suivant, supposant que nous avons un client implémenté comme une application Spring Boot exposant des services REST :

EurekaClient eurekaClient = new EurekaClient.Builder().build();

Applications applications = eurekaClient.getApplications(« SERVICE_ID »);

List instances = applications.getInstances();

Une fois que nous avons obtenu la liste des instances, nous pouvons parcourir cette liste et récupérer les informations dont nous avons besoin, telles que l’adresse IP et le port sur lesquels le service est en cours d’exécution. Nous pouvons également effectuer des opérations supplémentaires sur les instances, telles que la mise à jour des informations ou la suppression d’une instance.

Service Discovery : API REST

Eureka fournit également une API REST qui peut être utilisée pour interagir avec le serveur de découverte. Cette API est très similaire à l’API Java client, mais elle est plus adaptée aux scénarios où nous devons interagir avec le serveur de découverte depuis un environnement non-Java ou depuis un script. Par exemple, si nous voulons récupérer toutes les instances d’un service spécifique, nous pouvons appeler l’URL suivante :

http://:/eureka/apps/

Cette URL retournera une réponse JSON contenant toutes les informations relatives à ce service et à ses instances. Nous pouvons également effectuer des opérations supplémentaires sur les instances, telles que la mise à jour des informations ou la suppression d’une instance, en appelant des URL spécifiques.

Service Discovery : Sécurisation du serveur et des services clients

Enfin, il est important de noter que le serveur Eureka et les services clients doivent être sécurisés pour éviter toute attaque malveillante. Par exemple, nous pouvons configurer Eureka pour utiliser HTTPS pour sécuriser les communications entre le serveur et les clients. Nous pouvons également configurer Eureka pour authentifier les clients et leurs requêtes en utilisant un système d’authentification basé sur des jetons. De plus, il est possible de configurer Eureka pour

Source de l’article sur DZONE

REST vs. Messagerie pour Microservices

Les microservices sont devenus une technologie populaire pour le développement d’applications. REST et Messagerie sont des méthodes populaires pour communiquer entre les microservices. Voyons les avantages et les inconvénients de chacun.

Rapport des tendances en matière d’intégration de logiciels de DZone 2023 : lire le rapport

En tant qu’informaticien enthousiaste, je suis très intéressé par l’architecture microservices. Cette architecture est une tendance très populaire dans le développement logiciel et elle est de plus en plus utilisée pour construire des systèmes complexes. La principale raison de son succès est qu’elle permet de découper un système complexe en petits modules indépendants qui peuvent être gérés plus facilement.

Cependant, il est important de noter que l’utilisation d’une architecture microservices nécessite une planification et une conception minutieuses. Les développeurs doivent prendre en compte plusieurs facteurs, notamment le nombre de services à créer, leur interdépendance et la façon dont ils communiquent entre eux. De plus, les tests sont essentiels pour s’assurer que chaque service fonctionne correctement et qu’il n’y a pas de problèmes de compatibilité entre les services.

Pour tirer le meilleur parti de l’architecture microservices, les développeurs doivent également mettre en place des outils et des processus de test efficaces. Ces outils peuvent être utilisés pour tester chaque service individuellement et pour vérifier que tous les services fonctionnent correctement ensemble. Les tests peuvent également être utilisés pour vérifier la sécurité et la fiabilité des services. Enfin, les tests peuvent être utilisés pour s’assurer que les performances des services sont optimales.

En conclusion, l’architecture microservices est une tendance très populaire dans le développement logiciel et elle peut être très utile pour construire des systèmes complexes. Cependant, il est important de bien planifier et concevoir l’architecture et d’utiliser des outils et des processus de test efficaces pour s’assurer que chaque service fonctionne correctement et qu’il n’y a pas de problèmes de compatibilité entre les services.

Source de l’article sur DZONE

gRPC côté client

Le gRPC côté client offre une communication efficace et sécurisée entre un client et un serveur. Il permet une communication rapide et fiable entre les deux parties.

## Sans un standard de validation de schéma, nous devons tomber en arrière sur la validation manuelle dans le code

En tant que scientifique informatique enthousiaste, je suis très intéressé par les données et leur traitement. Les composants de communication inter-systèmes qui utilisent REST sérialisent leur charge utile en JSON. À l’heure actuelle, JSON manque d’un standard de validation de schéma largement utilisé : le schéma JSON n’est pas répandu. La validation de schéma standard permet de déléguer la validation à une bibliothèque tiers et d’en finir avec elle. Sans celle-ci, nous devons revenir à la validation manuelle dans le code. Pire encore, nous devons garder le code de validation synchronisé avec le schéma.

XML dispose d’une validation de schéma hors boîte : un document XML peut déclarer une grammaire à laquelle il doit se conformer. SOAP, étant basé sur XML, en bénéficie également. Les technologies XML et SOAP sont très populaires et largement utilisées dans les entreprises et les organisations pour leurs systèmes d’information. Cependant, JSON est devenu le format de données préféré pour les communications inter-systèmes, car il est plus léger et plus facile à manipuler que XML.

Heureusement, des outils tels que JSON Schema sont disponibles pour fournir une validation de schéma pour JSON. JSON Schema est un format de description de données qui permet aux développeurs de décrire le contenu des données JSON qu’ils attendent. Il fournit une syntaxe pour décrire les données et permet aux développeurs de valider des données JSON afin de s’assurer qu’elles sont conformes à la structure attendue. En outre, il existe des bibliothèques pour la plupart des langages de programmation qui peuvent être utilisées pour valider automatiquement les données JSON contre un schéma.

JSON Schema est donc un outil très utile pour les développeurs qui travaillent avec des données JSON. Il permet aux développeurs de décrire le contenu des données qu’ils attendent et de valider automatiquement les données pour s’assurer qu’elles sont conformes à la structure attendue. Cela peut grandement simplifier le processus de développement et réduire le temps nécessaire pour tester et déboguer les applications qui utilisent des données JSON.

Source de l’article sur DZONE

Créer des microservices Micronaut avec MicrostarterCLI

Créer des microservices Micronaut avec MicrostarterCLI est une excellente façon de développer des applications modernes et robustes. Essayez-le dès aujourd’hui!

MicrostarterCLI : Outil de développement rapide

Premier Paragraphe

En tant qu’informaticien enthousiaste, je suis ravi de vous présenter MicrostarterCLI, un outil de développement rapide qui permet aux développeurs de générer des codes, des configurations ou des modèles standard réutilisables dont ils ont besoin dans leur application. Dans un article précédent, j’ai décrit un exemple de base pour créer des points de terminaison REST et GraphQL dans une application Micronaut. Cet article démontre un exemple de démarrage d’une application de microservices Micronaut à l’aide de MicrostarterCLI. L’architecture de l’application est la suivante:

Deuxième Paragraphe

Le processus de test commence par la génération des fichiers nécessaires à l’application à l’aide de MicrostarterCLI. Une fois ces fichiers générés, le processus de test peut commencer. La première étape consiste à tester le code généré pour s’assurer qu’il fonctionne correctement et qu’il est conforme aux spécifications. La deuxième étape consiste à tester les API REST et GraphQL générées par MicrostarterCLI. Pour ce faire, nous utilisons un outil appelé Postman. Postman est un outil très utile pour tester les API REST et GraphQL. Il permet de tester rapidement et facilement les API et de vérifier si elles fonctionnent correctement.

Troisième Paragraphe

Une fois le test des API terminé, nous pouvons passer à la dernière étape du processus de test, à savoir le test des performances. Pour ce faire, nous utilisons un outil appelé JMeter. JMeter est un outil très puissant qui permet de tester les performances d’une application en simulant des charges réelles. Il permet également d’analyser les performances de l’application et de repérer les problèmes potentiels. Une fois le test des performances terminé, nous pouvons être sûrs que notre application est prête à être déployée en production.

Source de l’article sur DZONE