Tous les produits
Search
Centre de documentation

Function Compute:Termes

Dernière mise à jour :Aug 12, 2026

Cette page présente les concepts fondamentaux de Function Compute (FC), structurés autour des trois étapes clés d'utilisation d'une fonction FC : création, configuration et invocation.

image

Une fonction FC constitue l'unité de base pour la planification et l'exécution des ressources dans Function Compute. Elle se compose d'un code et d'une configuration.

Créer une fonction

Lors de la création d'une fonction, sélectionnez un type de fonction et un environnement d'exécution, puis chargez votre code. Vous pourrez ajuster les autres paramètres de configuration ultérieurement.

Pour déterminer l'approche la plus adaptée à votre cas d'usage, consultez le Guide de sélection technique.

Types de fonctions

Fonction événementielle

Une fonction événementielle répond aux déclencheurs provenant de services Alibaba Cloud tels que Object Storage Service (OSS), Kafka et Simple Log Service (SLS). Écrivez votre handler en vous basant sur les interfaces définies par Function Compute. Consultez la rubrique Créer une fonction déclenchée par événement.

Fonction Web

Une fonction Web s'appuie sur un framework Web populaire (Flask, ThinkPHP, Express ou SpringBoot) et expose une interface HTTP. Développez votre handler conformément aux interfaces du framework choisi. Reportez-vous à la rubrique Créer une fonction Web.

Fonction de tâche

Une fonction de tâche traite les requêtes asynchrones en mode tâche. Le système suit l'état de chaque tâche, ce qui permet de démarrer ou d'arrêter manuellement leur exécution. Ce type de fonction convient particulièrement aux charges de travail hors ligne telles que les tâches planifiées, le traitement audio et vidéo, ainsi que le traitement de données par lots. Voir Créer une fonction de tâche.

Fonction GPU

Une fonction GPU exécute des charges de travail accélérées par GPU, comme Stable Diffusion WebUI, ComfyUI, RAG ou TensorRT. Déployez ces projets sous forme d'images conteneur. Consultez la rubrique Créer une fonction accélérée par GPU.

Environnement d'exécution

L'environnement d'exécution détermine la manière dont Function Compute exécute le code de votre fonction.

Runtime intégré

Un runtime intégré (ou runtime prédéfini) est préconfiguré par la plateforme Function Compute. Écrivez le handler de votre fonction en suivant les interfaces définies par Function Compute. Les runtimes intégrés offrent les démarrages à froid les plus rapides, mais ne prennent pas en charge plusieurs requêtes simultanées par instance. Ils sont particulièrement adaptés aux scénarios déclenchés par événements via des déclencheurs OSS, Kafka ou SLS. Voir Runtimes de Function Compute.

  • Événement (event) : Les données d'événement sont transmises à votre fonction sous forme de document JSON. Le runtime les convertit en objet et les passe au paramètre event du handler de votre fonction. Si l'événement provient d'un autre service Alibaba Cloud, son format respecte la spécification de ce service. Consultez la rubrique Formats des événements de déclenchement.

  • Contexte (context) : Lorsque FC exécute votre fonction, il transmet un objet de contexte au paramètre context du handler de votre fonction. Cet objet contient des informations relatives à l'invocation, au service, à la fonction et à l'environnement d'exécution. Voir Contexte.

Runtime personnalisé

Un runtime personnalisé prend en charge les frameworks Web courants tels que Flask, ThinkPHP, Express et SpringBoot. Votre package de déploiement est un fichier ZIP contenant un programme serveur HTTP. Définissez la Start Command et les Start Arguments dans la configuration de la fonction pour lancer le serveur HTTP. Reportez-vous à la section Fonctionnement.

Image personnalisée

La fonctionnalité d'image personnalisée permet d'utiliser une image conteneur comme artefact de livraison pour votre fonction. Chargez une image personnalisée dans Container Registry (ACR) ou utilisez une image d'exemple. Les images personnalisées constituent le seul type de runtime compatible avec les fonctions GPU. Voir Créer une fonction utilisant une image personnalisée.

Types d'instances

Instance provisionnée

Une instance provisionnée est associée à une fonction GPU lors de l'achat d'un pool de ressources provisionnées. Ces pools sont exclusivement réservés aux fonctions GPU et facturés selon un modèle d'abonnement mensuel. Ce mode de facturation permet de réserver des ressources GPU à l'avance afin de garantir un fonctionnement stable. Après l'association, allouez des instances provisionnées pour traiter les requêtes entrantes.

Instance élastique

Une instance élastique s'adapte automatiquement au volume d'invocations. FC crée des instances lorsque le trafic augmente et les supprime lorsqu'il diminue. La première invocation après une réduction à zéro nécessite un démarrage à froid.

Instance élastique (hibernation légère (anciennement inactif))

Lorsque le nombre minimal d'instances est défini sur 1 ou plus et que l'option d'hibernation légère est activée, les instances inactives entrent automatiquement en hibernation légère. Dans cet état, le système gèle certaines ressources de l'instance et n'applique que des frais minimaux de maintien en vie. À l'arrivée d'une nouvelle requête, les ressources gelées sont restaurées et l'instance redevient active. Ce démarrage à chaud prend généralement plus de 2 secondes, selon la taille du modèle.

Les instances élastiques passent à l'état de facturation en hibernation légère dans les scénarios suivants :

  • L'instance est inactive après avoir défini le nombre minimal d'instances sur 1 ou plus et activé l'option d'hibernation légère.

  • L'instance se trouve dans sa période de maintien en vie dans un scénario d'affinité de session.

  • L'instance ne traite aucune tâche en arrière-plan dans un scénario de tâches en arrière-plan.

Instance élastique (active)

Les instances élastiques passent à l'état de facturation active dans les situations suivantes :

  • L'instance est démarrée par une requête alors que le nombre minimal d'instances n'est pas défini (comportement par défaut : réduction à zéro en cas d'inactivité).

  • L'instance devient active pour traiter des requêtes lorsque le nombre minimal d'instances est fixé à 1 ou plus, indépendamment de l'activation de l'hibernation légère.

  • L'instance traite des requêtes dans un scénario d'affinité de session.

  • L'instance exécute des tâches en arrière-plan dans un scénario de tâches en arrière-plan.

Nombre minimal d'instances

Définir le nombre minimal d'instances sur 1 ou plus élimine les démarrages à froid pour la première requête sur une instance élastique et garantit une capacité de calcul réservée. La valeur par défaut est 0, ce qui signifie que les instances sont réduites à zéro en cas d'inactivité.

Pour les services dépendant de l'affinité de session (tels que WebSocket et gRPC), un nombre minimal d'instances supérieur ou égal à 1 active la planification par affinité de session et les connexions persistantes, assurant ainsi la stabilité des interactions en temps réel.

Configurez une mise à l'échelle planifiée ou basée sur des métriques pour ajuster dynamiquement le nombre minimal d'instances : augmentez-le pendant les périodes de pointe ou lorsqu'un seuil de métrique est atteint, et réduisez-le lorsque la charge diminue afin d'optimiser l'utilisation des ressources. Voir Limites de mise à l'échelle des instances et politiques élastiques.

Référence sur le démarrage à froid

Le tableau suivant résume l'impact de chaque modèle d'instance sur le comportement de démarrage à froid, afin de vous aider à choisir l'approche appropriée :

Modèle d'instance Comportement de démarrage à froid Cas d'usage recommandé
Instance élastique (nombre minimal = 0) Démarrage à froid à chaque mise à l'échelle depuis zéro Charges de travail sensibles aux coûts et tolérantes à la latence
Instance élastique (nombre minimal >= 1, hibernation légère activée) Démarrage à chaud (généralement > 2 s) lors de la sortie d'hibernation Inférence GPU, chargement de modèles volumineux
Instance élastique (nombre minimal >= 1, hibernation légère désactivée) Aucun démarrage à froid ; l'instance reste active Services à faible latence, WebSocket, gRPC
Instance provisionnée Aucun démarrage à froid ; ressources GPU réservées en permanence Charges de travail GPU de production nécessitant une disponibilité constante

Configurer une fonction

Après la création d'une fonction, ajustez les éléments de configuration suivants selon vos besoins.

Configurations de base

Type d'instance

FC propose plusieurs types d'instances avec différentes spécifications de ressources. Voir Types d'instances.

Disque temporaire

Chaque instance de fonction dispose d'un disque de stockage temporaire monté sur son répertoire racine. Le contenu du disque est effacé lorsque l'instance est récupérée. Pour un stockage de fichiers persistant, montez plutôt un système de fichiers NAS ou un système de fichiers OSS.

Les instances GPU complètes (série Tesla avec 16 Go, série Ada avec 48 Go) prennent en charge des tailles de disque de 30 Go ou 60 Go. Les autres types d'instances prennent en charge 512 Mo ou 10 Go. La taille de disque de 512 Mo est gratuite.

Déclencheur

Certains services Alibaba Cloud peuvent invoquer directement des fonctions FC via des déclencheurs. Lorsqu'un événement spécifique se produit, le service pousse l'événement vers FC et la fonction est immédiatement invoquée. Une même fonction peut comporter plusieurs déclencheurs, chacun agissant comme un client indépendant. Chaque événement transmis par FC à votre fonction contient les données d'un seul déclencheur. Voir Introduction aux déclencheurs.

Runtime

FC prend en charge plusieurs langages de programmation grâce aux runtimes. Un runtime fournit un environnement d'exécution spécifique au langage qui relaie les événements d'invocation, les informations de contexte et les réponses entre FC et votre fonction. Consultez la rubrique Introduction aux runtimes.

Variable d'environnement

Les variables d'environnement sont stockées sous forme de paires clé-valeur de type chaîne dans la configuration de la fonction. Chaque fonction possède son propre jeu indépendant de variables d'environnement. Utilisez-les pour modifier le comportement de la fonction sans changer le code. Voir Configurer les variables d'environnement.

Couche

Une couche est un fichier .zip contenant du code supplémentaire ou d'autres contenus (généralement des bibliothèques, un runtime personnalisé, des fichiers de données ou des fichiers de configuration). FC fournit des couches publiques officielles et permet de créer des couches personnalisées.

L'utilisation de couches offre trois avantages principaux :

  • Packages de déploiement allégés : Déplacer les dépendances dans une couche réduit la taille du package de déploiement de votre fonction et accélère le déploiement du code.

  • Séparation des préoccupations : Mettez à jour les dépendances de la fonction sans toucher au code de la fonction, et inversement.

  • Partage des dépendances : Ajoutez une seule couche à autant de fonctions que nécessaire dans votre compte au lieu d'inclure les mêmes dépendances dans chaque package de déploiement.

Les fonctions utilisant une image personnalisée (Custom Container) ne prennent pas en charge les couches. Intégrez directement votre runtime, vos bibliothèques et vos autres dépendances dans l'image conteneur lorsque vous créez une fonction utilisant une image personnalisée .

Permissions

Accordez à une fonction l'accès à d'autres services Alibaba Cloud en lui attribuant un rôle Resource Access Management (RAM). FC utilise ce rôle RAM pour générer des identifiants temporaires qu'il transmet ensuite au code de votre fonction. Voir Utiliser un rôle de fonction pour accorder à une fonction les permissions d'accéder à d'autres services Alibaba Cloud.

Journaux

FC s'intègre à Simple Log Service (SLS). Une fois la journalisation configurée, FC collecte automatiquement les journaux de la fonction et les transmet au Logstore spécifié. Consultez la rubrique Configurer la fonctionnalité de journalisation.

Réseau

Par défaut, une fonction peut accéder à Internet mais pas aux ressources d'un Virtual Private Cloud (VPC). Pour accéder aux ressources VPC ou autoriser un VPC spécifique à invoquer la fonction, configurez les paramètres réseau et les permissions correspondantes. Voir Configurer les paramètres réseau.

Stockage

FC permet de monter des systèmes de fichiers Apsara File Storage NAS ainsi que des buckets OSS. Reportez-vous aux rubriques Configurer un système de fichiers NAS et Configurer l'accès OSS.

Configuration asynchrone

FC exécute les requêtes asynchrones en mode tâche. Dans ce mode, le système enregistre l'état d'exécution de chaque tâche à chaque étape et fournit des requêtes d'état de tâche, des métriques de file d'attente, une déduplication des tâches ainsi qu'une terminaison proactive des tâches.

Le mode de tâche asynchrone convient aux charges de travail de longue durée. Il n'est pas adapté au traitement sensible à la latence (temps de réponse inférieurs à 100 ms) ni aux charges soumettant en continu des milliers de tâches par seconde ou plus. Voir Invocation asynchrone.

Cycle de vie

Les instances de fonction sont créées et détruites dynamiquement en fonction du volume de requêtes en temps réel. Chaque instance passe par trois phases de cycle de vie : Création, Invocation et Destruction. Voir Configurer un hook de cycle de vie d'instance.

Vérification de l'état

FC prend en charge les vérifications périodiques de l'état pour les instances de fonctions Web et de fonctions GPU. Ces vérifications empêchent le routage des requêtes vers des instances défaillantes, réduisant ainsi les échecs de requêtes. Consultez la rubrique Configurer une vérification de l'état pour une instance.

DNS

La fonctionnalité DNS personnalisé accélère l'accès aux sites. Elle est uniquement compatible avec les runtimes intégrés et les runtimes personnalisés. Voir Configurer le DNS personnalisé.

Nom de domaine personnalisé

Associez un nom de domaine personnalisé à une fonction ou à une application pour y accéder via une URL stable. Ce nom de domaine personnalisé peut également servir d'origine pour un domaine accéléré par CDN, réduisant ainsi la latence d'accès pour vos utilisateurs. Voir Configurer un nom de domaine personnalisé.

Invoquer une fonction

Une fois une fonction FC déployée, invoquez-la de plusieurs manières : utilisez la console Function Compute pour tester avec un événement d'exemple, appelez-la via SDK ou API, utilisez une URL de fonction (endpoint HTTP ou HTTPS), ou déclenchez-la depuis une source d'événements. Les sections suivantes décrivent les concepts liés à l'invocation de fonctions.

Invocation synchrone

FC traite l'événement et retourne le résultat immédiatement. Voir Invocations synchrones.

Invocation asynchrone

FC accepte l'événement et retourne une réponse immédiate, sans attendre la fin de la tâche en arrière-plan. Le système traite l'événement de manière fiable, mais ne retourne pas de détails spécifiques sur l'invocation ni sur l'état d'exécution de la fonction. Pour récupérer le résultat d'une invocation asynchrone, configurez une destination d'invocation asynchrone. Consultez la rubrique Aperçu des fonctionnalités.

Analyse des invocations

La fonctionnalité d'analyse des invocations synthétise l'état d'exécution au niveau de la requête. Lorsqu'elle est activée, FC collecte des informations de métriques pour chaque exécution de fonction. Voir Journaux de métriques au niveau de la requête.

Nombre maximal d'instances

Le nombre maximal d'instances limite le nombre d'instances que la fonction peut exécuter simultanément. Par défaut, cette limite est fixée à 100 instances par compte Alibaba Cloud et par région. La limite effective est visible dans le Centre de quotas. Pour augmenter cette limite, soumettez une demande via le Centre de quotas.

Concurrence par instance

La concurrence par instance correspond au nombre de requêtes qu'une seule instance peut traiter simultanément. Lors de la création d'une fonction avec un runtime personnalisé ou une image conteneur, configurez plusieurs requêtes simultanées par instance pour réduire le temps d'exécution, diminuer le nombre total d'instances et améliorer l'utilisation des ressources. Voir Configurer la concurrence.

Autres concepts

Version

La publication d'une version enregistre le code et la configuration actuels de la fonction sous forme de référence immuable. Cette référence exclut les propriétés de ressources telles que les déclencheurs, les configurations de tâches asynchrones et les politiques élastiques. Une version est analogue à un git commit : elle capture un snapshot de votre code et de votre configuration à un instant donné. Voir Gestion des versions.

Alias

Un alias est un pointeur vers une version spécifique d'une fonction. Lorsqu'une fonction est invoquée via un alias, FC le résout transparentement vers la version cible ; les appelants n'ont pas besoin de connaître la version pointée par l'alias. Utilisez les alias pour mettre en œuvre des déploiements canari, des rollbacks et des déploiements progressifs. Un alias est comparable à un git tag qui marque un commit pour publication. Voir Gestion des alias.

Tag

Les tags permettent de catégoriser les ressources de fonction pour faciliter la recherche et l'agrégation. Utilisez les tags pour regrouper les fonctions et attribuer différentes permissions opérationnelles à différents rôles pour chaque groupe. Voir Configurer les tags.