Nouvelles Du Monde

GraphQL pourrait être la clé pour apprivoiser l’explosion des API

GraphQL pourrait être la clé pour apprivoiser l’explosion des API

Le développement d’applications a une longue histoire d’évolution et de transformation rapides, peut-être plus rapidement que toute autre industrie. Les outils que nous utilisons pour créer et héberger nos applications évoluent constamment.

Les développements rapides des outils de programmation offrent de nombreuses opportunités de création de logiciels pour des entreprises de tailles, d’industries et de budgets différents. Cependant, la flexibilité et la diversité accrues des outils – ainsi que le paysage en constante évolution – introduisent également leur propre ensemble de défis.

Les développeurs doivent être capables de créer leurs applications de manière à s’adapter à l’échelle et aux changements que subissent leur organisation, leurs clients et leur infrastructure. Heureusement, avec le passage à la programmation basée sur des graphes, les entreprises seront bien mieux équipées pour maintenir leur agilité tout en se développant et en s’adaptant continuellement aux besoins de leurs clients.

Les défis du développement d’applications modernes

Achetez vos billets pour TNW Valencia maintenant !

Le cœur de la tech arrive au cœur de la Méditerranée

L’une des bénédictions – et des malédictions – du développement d’applications modernes réside dans les nombreuses options dont vous disposez.

Vous pouvez choisir entre exécuter votre application sur vos propres serveurs, dans le cloud ou dans un modèle hybride. Vous pouvez utiliser un modèle sans serveur, où un fournisseur de cloud gère votre serveur en arrière-plan et vous vous concentrez sur les fonctionnalités, ou choisir un modèle conteneurisé, où votre application est empaquetée dans un fichier docker. Vous pouvez choisir entre différents modèles d’hébergement et de stockage de données, y compris des entrepôts de données et des lacs de données. Et vous pouvez faire ces choix et bien d’autres pour chaque composant de votre application.

L’avantage de cette puissante variété de plates-formes de calcul et de stockage est que vous pouvez ajuster votre application en fonction des besoins de vos clients et de votre organisation. Cependant, l’inconvénient est la complexité supplémentaire qui accompagne la communication avec les nombreuses API de service différentes qui prennent en charge votre application.

GraphQL aide les développeurs à communiquer avec les API via des requêtes de données flexibles et structurées.

« De nombreuses applications doivent communiquer avec des dizaines, voire des centaines de services pendant l’exécution. Dans certains cas, chaque mise à jour d’application (mobile, Web, etc.) nécessite des centaines d’appels d’API vers différents services », explique Peggy Rayzis, directrice principale de l’expérience développeur chez Apollo Graph, Inc.. “Cela nécessite un effort énorme et compliqué de la part des développeurs, qui doivent s’assurer que tous ces différents services sont compatibles et peuvent interagir.”

Lire aussi  iliad Business is reality, voici l'offre de l'opérateur français

La complexité supplémentaire rend également difficile l’itération, l’ajout ou la modification de fonctionnalités, ou la modification de l’infrastructure sous-jacente. Dans chaque cas, les implémentations redondantes et les incohérences entre les services obligent les développeurs à effectuer des changements intensifs dans leur code pour connecter tous les anciens et nouveaux services.

La programmation basée sur les graphes à la rescousse

L’une des tendances qui aident les développeurs à faire face à la complexité de l’écosystème d’applications est la programmation basée sur des graphes. La programmation basée sur des graphes permet aux développeurs d’ajouter une couche de schéma de données entre leur application et les services API qui s’exécutent en arrière-plan. Cette couche d’abstraction découple ces parties et leur permet d’évoluer sans provoquer de perturbations majeures les unes des autres.

« Fondamentalement, l’idée est d’ajouter une couche intermédiaire qui permet à votre application d’interagir avec vos entités de données en interrogeant un graphique », explique Rayzis. « La couche graphique est uniforme et flexible, quel que soit le type d’infrastructure qui fonctionne en arrière-plan, qu’il s’agisse d’un serveur sur site, d’une machine virtuelle cloud, d’une API REST, d’un entrepôt de données ou d’une fonction sans serveur comme AWS Lambda. ”

La programmation basée sur les graphiques a été popularisée par GraphQL, un langage de requête de données introduit par Facebook en 2015. GraphQL aide les développeurs à communiquer avec les API via des requêtes de données flexibles et structurées. Cela permet au développeur de se concentrer plus facilement sur le schéma de données et la logique de l’application et de maintenir la stabilité de l’application à mesure que les API évoluent et changent.

Nous voyons 30 % des entreprises du Fortune 500 construire leurs applications sur le supergraphe.

Les entreprises et les applications de différentes tailles peuvent bénéficier de la programmation basée sur les graphes. Rayzis dit :

Indépendamment de la taille et de la structure, chaque application peut bénéficier d’un développement basé sur des graphes. Au fur et à mesure que votre application se développe ou que votre infrastructure de données change, votre graphique reste cohérent et reste lié à la logique de votre application.

Par exemple, Walmart a utilisé GraphQL pour créer un schéma fédéré de différentes entités utilisées dans leurs différentes applications et services proposés sur le Web et sur mobile. Avec GraphQL, ils pourraient supprimer une grande partie du code répliqué sur leurs API, unifier leurs applications et devenir beaucoup plus agiles dans le déploiement de fonctionnalités et l’amélioration de l’expérience utilisateur.

Lire aussi  Les Jets de Winnipeg signent un deuxième blanchissage en trois matchs

La prochaine génération d’outils basés sur des graphiques

“Ce que nous avons découvert au cours de nos plus de six années de travail avec des développeurs mettant en œuvre GraphQL à grande échelle, c’est que sa flexibilité est sa plus grande force, mais qu’elle peut également entraîner des conséquences négatives si elle n’est pas mise en œuvre selon des principes”, déclare Rayzis.

Ces limitations ont conduit à l’idée du supergraphe, ApollonL’implémentation spéciale de GraphQL. Le supergraphe va au-delà des avantages de base de GraphQL, qui consistent à remplacer la récupération de données et le code backend for frontend (BFF) par un schéma et des requêtes. Il rassemble les données, les microservices et les capacités numériques d’une entreprise, créant une couche de composition unifiée pour l’ensemble de l’organisation. L’architecture du supergraphe est construite sur la technologie ouverte d’Apollo, Apollo Federation. Apollo fournit également GraphOS, une plate-forme d’outils basée sur le cloud avec un pipeline d’exécution et de livraison de schémas pour le supergraphe. Selon Rayzis :

Le supergraphe vous permet de distribuer le schéma de graphe entre différentes équipes et différents services, mais ensuite de l’unifier en une seule interface pour le client. Il s’agit de résoudre les vrais problèmes des clients. Il est basé sur nos années d’expérience, aidant les clients à mettre en œuvre GraphQL. Et vraiment, les principes de base sont qu’il s’agit d’une couche unifiée, de modules intégrés que vous pouvez faire évoluer au fil du temps.

L’une des entreprises qui ont bénéficié du supergraphe est Booking.com, l’une des plus grandes agences de voyages en ligne au monde. Booking.com existe depuis 1996 et utilise donc beaucoup de code et d’infrastructure hérités. Il est donc très difficile de modifier l’architecture logicielle, d’autant plus que l’entreprise emploie des milliers d’ingénieurs et doit s’assurer qu’ils peuvent collaborer en toute sécurité.

Lire aussi  La fusée SpaceX Falcon 9 lance 2 satellites pour un 20e vol record

Grâce à la flexibilité et à la polyvalence du supergraphe, Booking.com a pu effectuer une transition progressive vers GraphQL sans casser aucun de leurs services. Au fur et à mesure qu’ils déployaient le supergraphe dans l’ensemble de l’organisation, les ingénieurs et les managers ont réalisé ses avantages et ont contribué à accélérer la transition. L’adoption complète du supergraphe a permis à Booking.com d’expédier 40% plus rapidement, doublant parfois la vitesse à laquelle ils publient des fonctionnalités. Dans le même temps, ils ont réussi à réduire considérablement les erreurs et les changements de rupture.

« Nous voyons 30 % des entreprises Fortune 500 construire leurs applications sur le supergraphe. Et je pense que ce nombre ne fera qu’augmenter dans les années à venir », déclare Rayzis.

Cela va considérablement réduire la barrière pour le développement d’applications et permettre à davantage de développeurs de créer des applications. Cela va continuer à réduire le temps nécessaire pour créer ces applications. Et donc en le rendant plus accessible et en réduisant ce temps, vous allez voir encore plus d’innovation.

Facebook
Twitter
LinkedIn
Pinterest

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

ADVERTISEMENT