paint-brush
L’état des webhooks en 2023par@tomhacohen
1,405 lectures
1,405 lectures

L’état des webhooks en 2023

par Tom Hacohen4m2023/10/28
Read on Terminal Reader

Trop long; Pour lire

Les webhooks constituent désormais un composant essentiel dans la gestion des flux de travail basés sur des événements en temps réel sur toutes les plateformes. Nous avons examiné plus de 100 des principaux fournisseurs d'API, examinant comment ils ont adopté et mis en œuvre les webhooks. La plupart des principaux fournisseurs d’API adhèrent-ils aux meilleures pratiques ? De combien de tentatives ces messages ont-ils généralement besoin avant d’arriver avec succès dans les applications auxquelles ils sont destinés ?
featured image - L’état des webhooks en 2023
Tom Hacohen HackerNoon profile picture
0-item


Alors que les logiciels continuent de conquérir le monde, l’accent croissant mis sur les informations en temps réel, les intégrations transparentes et l’automatisation a propulsé les webhooks à l’avant-garde des architectures d’applications modernes. Les webhooks constituent désormais un composant essentiel dans la gestion des flux de travail basés sur des événements en temps réel sur toutes les plateformes. Vous pouvez lire le rapport complet ici .


Un merci spécial à Ojus Save de Zoom, Judy Vander Sluis d'Intuit, Sharon Yelenik de Cloudinary, Sarah Edwards de Github et Kanad Gupta de ReadMe pour avoir collaboré avec nous sur nos révisions de documentation de webhook. Cela nous a vraiment aidé à comprendre comment les gens envisagent de documenter les API de leurs webbooks et a éclairé une grande partie de nos décisions lors de la création de ce rapport.


Dans ce rapport complet sur l'état des webhooks en 2023, nous avons examiné plus de 100 des principaux fournisseurs d'API, examiné comment ils ont adopté et mis en œuvre les webhooks, et analysé les diverses manières dont ces implémentations ont pris forme. La plupart des principaux fournisseurs d’API adhèrent-ils aux meilleures pratiques ? Au-delà de la simple adoption, comment ont-ils optimisé, sécurisé et enrichi leurs offres de webhooks pour répondre aux besoins des développeurs et des entreprises d'aujourd'hui ?


Conscients que des vérités terrain émergent souvent dans des cas d'utilisation réels, nous avons puisé dans notre propre base de clients, compilant un cache intrigant de statistiques qui mettent en lumière les réalités des livraisons de webhooks. À quelle fréquence échouent-ils dans la nature ? De combien de tentatives ces messages ont-ils généralement besoin avant d’arriver avec succès dans les applications auxquelles ils sont destinés ? Ces statistiques de première main offrent non seulement une image claire des taux de réussite actuels, mais démontrent également l'importance de la mise en œuvre des meilleures pratiques.


De manière générale, nous avons constaté que l'adoption des webhooks est élevée, à 83 %. Toutefois, l’adoption de la plupart des meilleures pratiques accuse du retard.

Nouvelles tentatives

Les nouvelles tentatives impliquent de renvoyer un webhook si une tentative échoue. Ils sont essentiels pour un service de webhook fiable, car des problèmes de réseau temporaires, des temps d'arrêt du serveur ou d'autres erreurs passagères peuvent entraver la livraison immédiate des données.


67 % des services proposaient des tentatives automatiques. Le nombre de tentatives le plus souvent proposé est de 5, la plupart proposant entre 3 et 10 tentatives. Environ 10 % des services ont déclaré avoir réessayé les messages ayant échoué, mais n'ont fourni aucune information sur le calendrier des nouvelles tentatives lui-même.


Répartition du nombre de tentatives de relance proposées

Nouvelles tentatives : interruption exponentielle

Les tentatives de Webhook utilisent une interruption exponentielle pour gérer efficacement les échecs sans surcharger le serveur de réception.


En augmentant progressivement le temps d'attente entre les tentatives, cela réduit le risque d'aggraver les problèmes potentiels du serveur et offre une approche plus adaptative de la gestion des pannes transitoires.


25 fournisseurs sur 83 ont précisé que leur calendrier de nouvelles tentatives suivait une interruption exponentielle.



En conclusion, les webhooks sont adoptés par la plupart des fournisseurs d’API, mais la plupart ne parviennent pas à mettre en œuvre les meilleures pratiques. Même ceux qui mettent en œuvre la plupart des meilleures pratiques le font de différentes manières. L'espace est tellement fragmenté que les seuls fournisseurs ayant des implémentations similaires sont ceux qui n'ont pas du tout mis en œuvre les meilleures pratiques. Espérons que ce rapport suscitera une adoption accrue des meilleures pratiques en matière de webhooks pour contribuer à améliorer l’expérience des développeurs autour des webhooks.

Nouvelles tentatives manuelles

La possibilité de réessayer manuellement les messages accélère le dépannage. Il est plus rapide de déclencher une nouvelle tentative immédiatement plutôt que d'attendre la prochaine tentative automatique. 12 fournisseurs sur 83 ont précisé que les tentatives pouvaient être déclenchées manuellement. Il s’agit de la meilleure pratique la moins adoptée.

Enregistrement

À des fins de test, de dépannage et de débogage, un journal des tentatives de livraison de webhooks est extrêmement utile. Il s'agit de la deuxième fonctionnalité la moins adoptée, avec un taux d'adoption de 23 %.

Types d'événements

L'organisation des événements proposés aux consommateurs de webhooks en types d'événements permet aux utilisateurs de choisir les événements pour lesquels ils souhaitent recevoir des webhooks et de réduire le nombre de messages inutiles et non pertinents envoyés.


93 % des prestataires proposaient des types d'événements. Il s’agit de la meilleure pratique la plus largement adoptée, qui découle probablement du fait que les événements constituent la valeur fondamentale des webhooks.

Authentification des messages

Donner aux utilisateurs un moyen d'authentifier l'origine et le contenu d'un message webhook est essentiel pour garantir que les données n'ont pas été falsifiées pendant le transit et confirmer qu'elles proviennent d'une source fiable.


La meilleure pratique consiste à utiliser les signatures HMACSHA256 qui contiennent la charge utile, l'horodatage et l'ID du message.



45 des 83 fournisseurs de webhooks incluaient un horodatage. L'horodatage est essentiel pour empêcher les attaques par relecture.

Documentation

Bien documenter un service de webhook peut faire gagner du temps aux utilisateurs et leur éviter des maux de tête.


Avoir un exemple de code facilite la vie des développeurs. Alors que seulement 43 % proposaient des échantillons de code, l’inclusion d’échantillons de code était fortement corrélée à l’utilisation des signatures HMACSHA256.


Documentation

Essai

La meilleure documentation sur les webhooks donne des conseils sur la façon de tester leurs implémentations de webhook. Les conseils courants incluent la manière de tester les webhooks localement (principalement à l'aide de ngrok), la liste de divers outils permettant de faire tourner les points de terminaison afin de recevoir des messages de test et la possibilité d'envoyer des événements de test.


Il existe une forte corrélation entre le fait de disposer d'échantillons de code et la fourniture de conseils et d'outils pour tester les webhooks.


72 % de ceux qui ont des exemples de code dans leurs documents ont également fourni des conseils pour les tests.

Livraison

Dans le rapport complet, nous présentons également certaines données internes de Svix pour voir la fréquence d'échec des messages, la fréquence de tentatives réussies, les temps de réponse moyens et la taille moyenne de la charge utile des messages webhook.


Lire le rapport complet



Pour plus de contenu comme celui-ci, assurez-vous de nous suivre sur Twitter , Github ou RSS pour les dernières mises à jour du service webhook Svix , ou rejoignez la discussion sur notre communauté Slack .