Récemment, Cloudflare a dû faire face à une panne inattendue de son tableau de bord en ligne, perturbant ses services pendant plus d’une heure. Cette défaillance, causée par une erreur dans l’utilisation de la bibliothèque JavaScript React, a mis en lumière les défis techniques auxquels sont confrontées même les plus grandes entreprises technologiques. Découvrez comment une simple ligne de code a pu perturber un service mondialement utilisé.
Les 3 informations essentielles à retenir
- Le tableau de bord de Cloudflare a été hors ligne pendant plus d’une heure en raison d’une erreur de programmation.
- Le problème provenait d’un hook useEffect de React, qui appelait constamment l’API Tenant Service, provoquant sa surcharge.
- Cloudflare a mis en place des mesures pour éviter la répétition de ce type de problème, en augmentant la capacité du Tenant Service et en améliorant la surveillance.
Erreur de programmation dans React
Cloudflare a identifié que la panne de son tableau de bord était liée à une erreur de programmation dans l’utilisation de React, une bibliothèque JavaScript populaire. Le hook useEffect, conçu pour gérer des effets secondaires dans le code, a été mal utilisé, entraînant une surcharge de l’API Tenant Service. Cette surcharge a rendu l’API inaccessible, perturbant ainsi le tableau de bord et plusieurs API associées.
Impact sur le service et réponse de Cloudflare
La perturbation a duré plus d’une heure, affectant non seulement le tableau de bord de Cloudflare, mais également plusieurs de ses API. L’erreur a été causée par la recréation incessante d’un objet dans le tableau des dépendances du hook useEffect. Ce dernier, en croyant à tort qu’une modification avait eu lieu, rappelait constamment l’API, entraînant une avalanche de requêtes inutiles.
En réponse à cet incident, Cloudflare a augmenté la capacité du Tenant Service pour gérer de telles situations. De plus, des mécanismes de surveillance améliorés ont été mis en place pour distinguer plus efficacement les nouvelles requêtes des répétitions, réduisant ainsi le risque de futures surcharges.
Leçons tirées et recommandations
Cette mésaventure souligne l’importance d’utiliser le hook useEffect avec précaution. Dans sa documentation, React recommande de limiter l’utilisation du hook aux situations réellement nécessaires et de maintenir les dépendances aussi stables que possible pour éviter les erreurs de performance. Cloudflare, prenant cette recommandation au sérieux, a réagi en mettant en œuvre des améliorations techniques pour prévenir de futurs incidents.
Cloudflare, fondée en 2009, est une entreprise américaine spécialisée dans la fourniture de services de sécurité Internet et de performance web. Elle est bien connue pour son réseau de distribution de contenu (CDN) et ses services de protection contre les attaques DDoS. Au fil des années, Cloudflare a évolué pour devenir un acteur majeur dans le domaine de la sécurité et de la performance en ligne, servant des millions de clients à travers le monde. Grâce à sa capacité à s’adapter rapidement aux défis techniques, l’entreprise continue de consolider sa position sur le marché global.