Publié initialement le 3 octobre 2019
En tant que chef de produit pour l’API Brightspace, j’ai eu l’occasion de rencontrer de nombreux clients et partenaires pour en savoir plus sur la grande variété d’intégrations et de solutions qui ont été développées. Au cours de cette période, nous avons également examiné les données d’utilisation de l’API Brightspace. Pour ceux qui ont assisté à ma session à Fusion 2019, vous vous souvenez peut-être que ces données anecdotiques et analytiques m’ont clairement indiqué les types de solutions API en cours de développement (Intégration, Automatisation, Données, UX personnalisé et Innovation). Ces données nous ont également informés que l’utilisation de l’API Brightspace a considérablement augmenté au fil des ans, ce qui est quelque chose qui nous enthousiasme tous beaucoup.
Comme pour tout produit API, une utilisation accrue est une épée à double tranchant. Cela nous montre que notre API offre de la valeur à beaucoup d’entre vous. Cependant, l’inconvénient est que nous avons vu des scénarios d’utilisation extrêmement élevée des API qui ont eu un impact négatif sur les performances des serveurs Brightspace. Les pics d’utilisation très élevée des API ont un impact sur les performances du serveur.
Notre objectif en tant que fournisseur SaaS est de vous fournir la stabilité et le temps de mise à l’heure des applications. C’est pourquoi nous avons décidé de le faire activement collaborer activement comment collaborer avec les clients et les partenaires pour s’assurer que l’utilisation des API peut continuer à croître tout en prévenant les problèmes de performances.
Journalisation du taux d’API = Maintenant
Notre enquête initiale consiste à enregistrer des scénarios où une application API Brightspace spécifique a effectué un grand nombre d’appels d’API dans un court laps de temps. Les données que nous avons recueillies jusqu’à présent ont déjà été précieuses. Ces données nous ont permis de mieux comprendre les modèles d’itinéraire des API utilisés pour les solutions à fort volume. Cela nous a permis de :
- Entamez des conversations significatives avec les clients concernant les meilleures pratiques de développement d’API. L’objectif de ces réunions est de trouver des moyens de développer ensemble des solutions API plus efficaces et évolutives.
- Identifier les occasions d’améliorer l’efficacité des API existantes.
- Étudier le développement d’API en vrac qui pourraient réduire le nombre d’appels d’API entrants.
- Déterminer quel serait un nombre acceptable d’appels d’API pour une application donnée.
Limitation de débit de l’API = Proche Avenir
Tous les points ci-dessus aident D2L à déterminer comment permettre à nos clients et partenaires de continuer à développer d’incroyables solutions Brightspace tout en préservant la stabilité de Brightspace. Le dernier point est important, car nous croyons pouvoir définir ce qu’un nombre acceptable d’appels d’API pourrait être pour une application bien conçue.
À mesure que notre journalisation des taux d’API s’améliore, nous utiliserons ces données pour déterminer un seuil d’utilisation « appropriée » des API. Ce seuil sera défini pour minimiser l’impact sur les solutions existantes tout en évitant que ces solutions n’affectent négativement les performances de Brightspace. Notre plan est de l’utiliser dans le cadre d’une solution de limitation de débit de l’API. Une telle solution :
- Bloquera le trafic API qui dépasse le seuil d’utilisation acceptable
- Informer un développeur lorsque le trafic API a été bloqué
- Informer un développeur du processus à suivre pour être autorisé à continuer à effectuer des appels d’API
Quand cela se produit-il ?
La journalisation des taux d’API a été activée pour tous les clients D2L en octobre 2019.
La limitation de débit de l’API a été activée pour tous les nouveaux clients D2L le 16 décembre 2019.
La limitation de débit DE L’API a été activée pour tous les clients D2L existants qui ne sont pas des sites de production sur lundi 9 mars 2020.
La limitation de débit API est prévue à mettre en marche pour tous les clients D2L existants Sites de production sur lundi 8 juin 2020.
Comment commencer à se préparer à la limitation de débit de l’API
Surveillez votre utilisation de l’API Brightspace
Passez en revue le code que vous avez déjà écrit pour voir si vous pouvez réduire le volume d’appels que vous effectuez. Utilisez-vous des appels d’API pour récupérer des données statiques qui seraient disponibles par le biais de jeux de données ? Existe-t-il de nouveaux itinéraires d’API Brightspace qui pourraient rendre votre code plus efficace ? Envisagez d’enregistrer vos appels d’API afin de mieux cerner vos pics d’utilisation.
Déployez votre propre solution de limitation d’API
Travaillez avec votre personnel technique pour déterminer si une passerelle API et/ou une solution d’Enterprise Service Bus est appropriée pour cette raison et d’autres.
Préparation du code
Nous partagerons plus de détails concernant la mise en œuvre de notre solution de limitation de taux au cours des prochains mois. Nous sommes confiants de dire que notre solution bloquera les appels d’API qui dépassent le seuil d’utilisation acceptable. Lorsque la solution de limitation de débit est implémentée, vous saurez que vous avez connu un événement de limite de débit API lorsque vous recevez un message de réponse 429 « Trop de demandes ». Cette réponse comprendra des informations sur le temps que vous devrez attendre jusqu’à ce que vous puissiez réessayer d’envoyer à nouveau des appels API.
Envoyez-nous vos commentaires
Commentez cet article si vous avez des questions. Surveillez la communauté des développeurs Brightspace, car nous publierons plus de détails à mesure que cette solution évoluera. Et comme toujours, faites-nous savoir, par le biais de l’échange d’idées de produits, comment nous pouvons améliorer l’API Brightspace pour vous permettre de rendre votre code plus efficace. Si vous ne trouvez pas la réponse à votre question, n’hésitez pas à vous connecter avec votre D2L TAM et/ou CSM.
Que dois-je savoir d’autre ?
Comme d’autres fonctionnalités de Brightspace, nous nous attendons à ce que la journalisation et la limitation des taux d’API évoluent en fonction des commentaires des clients et de l’analyse des données. Comme l’objectif principal de la mise en œuvre de ces solutions est de garantir la stabilité de votre expérience Brightspace, nous continuerons à fournir des mises à jour sur la journalisation et la limitation des taux d’API en fonction de cet objectif. Les mises à jour seront communiquées via la communauté Brightspace, la documentation Valence, l’examen/prévisualisation de 90 jours, ainsi que par l’intermédiaire de votre D2L TAM/CSM.
Ressources supplémentaires
Journalisation/Limitation de débit API - FOIRE AUX QUESTIONS