Mettre à l'échelle les API et les charges de travail d'IA
Préparez un service d'IA à dix fois le trafic habituel, avec des preuves. Vous mesurez d'abord l'API de billets de Larkfield, puis vous ajoutez la concurrence, un cache sûr, une file d'attente de tâches avec des travailleurs et des limites qui gardent la surcharge sous contrôle, et vous montrez chaque changement avec un test de charge.
Lisez toutes les leçons sans compte, ou connectez-vous pour vous inscrire et suivre vos progrès.
Inscrivez-vous pour enregistrer les leçons que vous terminez. C'est gratuit.
Pour obtenir votre certificat, marquez chaque vérification des connaissances comme concordante. Ces leçons ont des vérifications à terminer :
Ce que vous apprendrez
À la fin de ce cours, vous pourrez :
Estimer la charge de travail et trouver les goulots d'étranglement.
Utiliser à bon escient la concurrence, le cache et les files d'attente.
Concevoir des nouvelles tentatives et une contre-pression robustes.
Valider les choix de mise à l'échelle avec des tests de charge contrôlés.
À propos de ce cours
Le Vendredi fou approche. Le centre d’assistance de Larkfield attend environ dix fois le nombre habituel de billets pendant quelques heures, et chaque nouveau billet lance maintenant un travail d’IA : le service le classe, rédige une réponse et calcule un plongement. Le fournisseur d’IA met des secondes à répondre, et il refuse des requêtes quand le centre d’assistance dépasse son quota.
Dans ce cours, vous préparez l’API de billets de Larkfield pour ce jour-là, un changement mesuré à la fois. D’abord, vous mesurez : vous décrivez la charge de travail en chiffres et vous trouvez le goulot d’étranglement. Ensuite, vous laissez le service faire plus de choses à la fois, et vous voyez où plus de concurrence cesse d’aider. Vous ajoutez un cache qui ne sert jamais la réponse d’une personne à une autre personne.
Puis vous déplacez le lent travail d’IA vers une file d’attente avec des travailleurs en arrière-plan. Un message répété a quand même un seul effet, et une file pleine refuse le nouveau travail avec un message clair au lieu de grandir sans limite. Vous ajoutez des délais d’attente, un disjoncteur et un arrêt en douceur, pour qu’un fournisseur lent ou en panne n’arrête pas tout le service.
Pour finir, vous prouvez chaque changement avec un test de charge et vous écrivez une recommandation de capacité. Tout s’exécute sur votre ordinateur, y compris un fournisseur d’IA simulé dont les temps viennent de vrais appels enregistrés. Chaque latence, chaque débit et chaque nombre d’erreurs des leçons vient d’une vraie exécution, et les leçons disent toujours sur quel ordinateur et sous quelle charge de travail.
Avant de commencer
Vous avez suivi les cours Créer et déployer votre première API, L'essentiel de Docker et du nuage pour les développeurs en IA, et Bases de données et stockage pour les applications d'IA, ou vous avez les mêmes compétences. Vous n'avez besoin ni d'un compte ni d'argent. La base de données, le cache, le fournisseur d'IA (un fournisseur simulé) et le générateur de charge s'exécutent tous sur votre ordinateur.
Les personnes qui savent créer une petite API avec une base de données et l'exécuter dans Docker, comme dans les cours Créer et déployer votre première API, L'essentiel de Docker et du nuage pour les développeurs en IA, et Bases de données et stockage pour les applications d'IA, et qui ont maintenant besoin qu'elle reste rapide et correcte quand beaucoup de requêtes et de lents appels d'IA arrivent en même temps. Les développeurs et ingénieurs en IA responsables d'un service.
Comment nous avons créé ce cours
Des spécialistes de l'IA expérimentés ont conçu ce cours. L'IA nous a aidés à rédiger le contenu; des personnes ont choisi l'approche pédagogique et les exemples, et ont révisé chaque leçon. Les résultats que vous voyez sont les vrais résultats de l'exécution du code. Comment nous créons les cours
Dans ce cours
Module 1Mesurer avant de mettre à l'échelle
4 leçons · bientôt
Mesurez avant de changer quoi que ce soit. Vous ajoutez le travail d'IA à l'API de billets, vous décrivez la charge de travail en chiffres, vous lisez des moyennes et des centiles, et vous trouvez où une requête passe son temps.
Exécuter la charge de travail d'IA sur votre ordinateur
Modèle de charge de travail
Latence et capacité
Trouver le goulot d'étranglement
Module 2Concurrence et limites des services
3 leçons · bientôt
Faites plus de choses à la fois sans rien briser. Vous voyez comment un seul appel bloquant arrête un serveur asynchrone, vous exécutez plusieurs instances, et vous découvrez pourquoi plus de concurrence peut donner moins de travail utile.
Travail d'E/S et travail de calcul
Mise à l'échelle horizontale
Limites des dépendances
Module 3Utiliser le cache sans fausser les résultats
3 leçons · bientôt
Mettez des réponses en cache sans jamais servir la mauvaise. Vous choisissez quoi mettre en cache, vous mettez les versions et l'identité de l'appelant dans chaque clé, et vous survivez à un cache vide ou en panne.
Choisir ce qui peut être mis en cache
Clés et invalidation
Pannes et ruée sur le cache
Module 4Files d'attente et travailleurs en arrière-plan
3 leçons · bientôt
Déplacez le lent travail d'IA vers une file d'attente. Vous suivez chaque tâche de la soumission au résultat, vous faites qu'un message répété ait un seul effet, et vous refusez poliment le travail en trop avant que la file grandisse sans limite.
Cycle de vie d'une tâche
Livraison et nouvelles tentatives
Contre-pression
Module 5Résilience et mise à l'échelle automatique
3 leçons · bientôt
Restez en service quand une dépendance tombe en panne. Vous utilisez des délais d'attente, un disjoncteur et un budget de nouvelles tentatives, vous mettez à l'échelle selon le bon signal, et vous remplacez un travailleur sans perdre une tâche.
Contenir les défaillances
Signaux de mise à l'échelle
Arrêt en douceur
Module 6Valider et justifier les changements
3 leçons · bientôt
Prouvez chaque changement avec un test de charge. Vous concevez des tests de montée, de régime stable, de rafale et d'endurance, vous comparez des configurations selon les centiles, les erreurs et le coût par tâche, et vous écrivez une recommandation de capacité que vous pouvez défendre.
Concevoir un test de charge
Comparer les configurations
Recommandation de capacité
Dernier module · choisissez-en au moins uneÉtudes de cas
2 études de cas · bientôt
Deux études de cas de bout en bout sur des données ouvertes. Planifiez la capacité à partir d'une vraie trace de trafic publique, et ajoutez une file d'attente et un cache à une API de données ouvertes sous charge. Terminez-en au moins une pour obtenir le certificat. Chacune peut entrer dans votre portfolio.
Terminez au moins une étude de cas pour obtenir le certificat. Les autres sont facultatives. Ce que couvre chacune
Plan de capacité à partir d'une trace de trafic publique
File d'attente et cache pour une API de données ouvertes
Études de cas
Des projets réalistes du début à la fin, sur de vraies données, avec chaque résultat expliqué. Chacun devient une pièce de votre portfolio. Terminez-en au moins une pour obtenir le certificat; les autres sont facultatives.
Plan de capacité à partir d'une trace de trafic publiqueBientôt
Modéliser les arrivées et les rafales à partir d'un journal public de demandes, et calculer la file d'attente que créerait un nombre donné de travailleurs.
File d'attente et cache pour une API de données ouvertesBientôt
Mettre une API de données ouvertes sous charge, ajouter un cache et une tâche d'exportation en arrière-plan, et mesurer l'effet de chaque changement.
Avis
Chargement des avis…
Vous avez suivi ce cours? Connectez-vous pour donner votre avis. Vous pouvez donner un avis après avoir terminé 25 % des leçons.