Un groupe de services gère plusieurs services traitant le trafic via un endpoint unifié. Le système distribue le trafic entrant vers ces services selon une politique d'allocation définie. Cette méthode est idéale pour les déploiements canaris, la mise à l'échelle élastique et l'ordonnancement de ressources hétérogènes. Cette rubrique explique comment créer un groupe de services, consulter son endpoint de trafic et modifier la politique d'allocation du trafic.
Cas d'utilisation
-
Déploiement canari
Ajoutez un service de production et un service canari au même groupe. Allouez ensuite une petite partie du trafic au service canari. Lors du déploiement d'une nouvelle version, mettez d'abord à jour le service canari et surveillez ses performances. En cas de problème, revenez à la version précédente du service canari ou arrêtez-le, puis redirigez son trafic vers le service de production. Si la nouvelle version fonctionne comme prévu, déployez-la sur le service de production. Après la mise à jour, réduisez le nombre de réplicas du service canari à zéro ou conservez-le pour gérer un faible volume de trafic.
-
Mise à l'échelle élastique basée sur l'abonnement et le paiement à l'utilisation
Pour répondre à la demande de base, déployez des services sous abonnement dans un groupe de ressources dédié avec un nombre fixe de réplicas. Pour gérer les pics de trafic et réduire les coûts, utilisez des services en paiement à l'utilisation dans un groupe de ressources public.
-
Utilisation de ressources matérielles hétérogènes
Dans les scénarios accélérés par GPU, l'indisponibilité d'un modèle de GPU spécifique dans une région peut empêcher la mise à l'échelle horizontale d'un service. Un groupe de services permet de surmonter ce problème en créant dynamiquement des services avec différents modèles de GPU compatibles avec divers environnements CUDA. Plusieurs services peuvent ainsi utiliser des ressources hétérogènes pour prendre en charge le même scénario métier. Comme l'endpoint de trafic du groupe de services reste inchangé, ces modifications sont transparentes pour le front-end.
Créer un groupe de services
Vous pouvez assigner un service à un groupe de services lors de sa création.
Lorsque vous créez un service et l'assignez à un groupe, le système crée le groupe s'il n'existe pas. Si le groupe existe déjà, le service y est simplement ajouté. Le groupe est automatiquement supprimé lorsque son dernier service membre est retiré.
L'exemple suivant montre comment créer un groupe de services nommé pmml et lui assigner deux services, pmml_prod et pmml_grey.
Connectez-vous à la PAI console. Sélectionnez une région en haut de la page. Sélectionnez ensuite l'espace de travail souhaité et cliquez sur Enter Elastic Algorithm Service (EAS).
Sous l'onglet Group Service, cliquez sur Create Group and Service.
-
Sur la page Custom Deployment, configurez les paramètres et cliquez sur Deploy.
Paramètres clés :
Service Name : Configurez le nom du service selon les instructions affichées à l'écran. Dans cet exemple, définissez-le sur pmml_prod.
Group : Sélectionnez New Group et définissez la valeur sur pmml pour cet exemple.
Pour plus d'informations sur les autres paramètres, consultez la section Déploiement personnalisé.
Répétez les étapes 2 et 3 pour créer le service pmml_grey et l'assigner au groupe de services pmml.
Une fois les services créés, accédez à l'onglet Group Service et cliquez sur le nom du groupe pmml pour accéder à la page des détails du groupe. Cette page affiche la liste des services appartenant au groupe.
Par défaut, les services nouvellement ajoutés ne reçoivent pas de trafic du groupe. Pour activer le trafic, consultez la section Modifier la politique d'allocation du trafic.
Consulter les endpoints de trafic
Un groupe de services dispose d'un endpoint de trafic unifié. Chaque service du groupe possède également son propre endpoint individuel.
Group Traffic Entry : Le trafic vers cet endpoint est distribué aux différents services selon la politique d'allocation. Les services d'un groupe de services peuvent être créés ou supprimés, mais l'adresse de l'endpoint reste inchangée.
Service-specific Traffic Entry : Cet endpoint est lié au cycle de vie d'un service spécifique. Le trafic est toujours acheminé vers le service spécifié. Lorsque le service est supprimé, l'endpoint est également détruit. Après avoir basculé le trafic du groupe, vous devez toujours utiliser cette adresse d'endpoint pour accéder au service et effectuer un débogage en ligne.
Procédure d'obtention :
Sous l'onglet Inference Service, cliquez sur le nom du service cible pour accéder à la page Overview.
Dans la section Basic Information, cliquez sur View Endpoint Information.
-
Dans la boîte de dialogue qui s'affiche, consultez l'adresse d'appel et les informations relatives au jeton.
Endpoint
Format de l'adresse
Exemple
Group Traffic Entry
<endpoint>/api/predict/<group_name>http://182848887922****.vpc.cn-shanghai.pai-eas.aliyuncs.com/api/predict/pmmlService-specific Traffic Entry
<endpoint>/api/predict/<group_name>.<service_name>http://182848887922****.vpc.cn-shanghai.pai-eas.aliyuncs.com/api/predict/pmml
Modifier la politique d'allocation du trafic
Sur la page des détails du groupe, vous pouvez changer la méthode d'allocation du trafic située à côté du nom du groupe en haut de la page. EAS prend actuellement en charge deux méthodes d'allocation du trafic :
Replica Allocation : Le trafic est alloué dynamiquement en fonction du nombre de réplicas de chaque service. Par exemple, si le service A dispose d'un réplica et le service B de trois réplicas, le service A reçoit 25 % du trafic et le service B en reçoit 75 %. Après la désactivation de l'allocation du trafic, le service ne participe plus à la distribution du trafic du groupe, mais reste accessible individuellement.
Custom Allocation : Le trafic est distribué en fonction du poids de chaque service. Par exemple, si le service A a un poids de trafic de 100 et le service B un poids de 400, le service A reçoit 20 % du trafic et le service B en reçoit 80 %.
Remarques :
-
Activez l'interrupteur Traffic Allocation pour un service afin d'activer la distribution du trafic. Désactivez l'interrupteur pour désactiver la distribution du trafic pour le service.
ImportantQuelle que soit la méthode d'allocation du trafic, après avoir désactivé l'interrupteur Traffic Allocation, le service ne participe plus à la distribution du trafic du groupe, mais reste accessible individuellement.
Pour utiliser l'option Weight for Custom Allocation, cliquez sur le bouton de modification dans la colonne Traffic Weight pour définir le Traffic Weight du service.
Vous pouvez également utiliser des opérations API pour ajuster le poids du trafic et l'état du trafic des services. Pour plus d'informations, consultez la section ReleaseService.