Les fonctions serverless permettent aux développeurs d'exécuter du code sans avoir à gérer de serveur. Cela leur permet de se concentrer sur l'écriture et le déploiement d'applications, tandis que la mise à l'échelle et la maintenance de l'infrastructure sont gérées automatiquement en arrière-plan.
Dans ce benchmark, nous avons évalué 7 fournisseurs de services cloud populaires suivant notre méthodologie pour tester leurs performances de fonction serverless. Nous avons mesuré leurs temps de réponse les plus rapides et les plus lents, le temps d'exécution total pour 1000 requêtes, le débit et le temps moyen par requête réussie sous charge.
Résultats du benchmark des fonctions serverless
Le premier graphique visualise les performances de chaque fournisseur non pas comme un chiffre unique, mais comme une plage de temps de réponse observés lors de notre benchmark de 1000 requêtes. Ce spectre de performance est représenté par une « Bande Inférieure » et une « Bande Supérieure », entre lesquelles vous pouvez basculer à l'aide des boutons situés au-dessus du graphique.
- Bande Inférieure : Cela représente les temps de réponse les plus rapides enregistrés pour chaque fournisseur. Cela indique les performances dans le meilleur des cas, montrant la rapidité d'exécution d'une fonction dans des conditions optimales (par exemple, un démarrage « chaud » avec des ressources mises en cache). Dans cette vue, une valeur plus faible (plus à gauche) est meilleure.
- Bande Supérieure : Cela représente les temps de réponse les plus lents observés pour chaque fournisseur. Cela met en évidence les performances dans le pire des cas, qui peuvent être influencées par des facteurs tels que les « démarrages à froid », la latence réseau ou la contention temporaire des ressources. Cette valeur est cruciale pour comprendre les pics de latence potentiels qui pourraient affecter l'expérience utilisateur.
Requêtes/sec : Le nombre de requêtes par seconde, c'est-à-dire le débit moyen. Cela mesure la capacité de traitement du serveur. Plus c'est élevé, mieux c'est, car cela signifie que plus de requêtes peuvent être traitées par seconde.
Temps total : Plus c'est bas, mieux c'est car la plateforme peut gérer rapidement la charge de travail.
Temps moyen par requête réussie : Le temps moyen par requête pour les requêtes traitées avec succès, en excluant toute erreur ou requête échouée. Plus c'est bas, mieux c'est, indiquant un traitement plus rapide pour chaque requête.
Raisons potentielles des différences de performance pour les fonctions serverless
1. Environnement d'exécution principal (Architecture)
La technologie fondamentale sous-jacente, qu'il s'agisse d'un microVM hautement optimisé, d'un moteur V8 ou d'un conteneur standard, est le principal moteur des différences de performance.
- AWS Lambda MicroVMs Firecracker : Utilise des microVMs basés sur KVM qui éliminent les fonctionnalités du noyau non essentielles pour démarrer en millisecondes.
- Concurrence optimisée : AWS lance physiquement des environnements d'exécution plus rapidement que les conteneurs standard. L'architecture MicroVM leur permet de gérer une rafale de 1000 requêtes sans mise en file d'attente.
- Cloudflare Workers Isolats V8 (Edge) : Exécute du code dans des processus Chrome V8 existants (Isolats) plutôt que de démarrer un OS.
- Zéro démarrage à froid : En éliminant complètement le processus de démarrage du système d'exploitation, Cloudflare supprime le principal goulot d'étranglement de la mise à l'échelle serverless, offrant la latence la plus faible.
- Google Cloud Functions gVisor (Conteneurs isolés) : Utilise gVisor pour l'abstraction du noyau et la sécurité.
- Limites de concurrence : Bien que sécurisé, le bac à sable gVisor ajoute une surcharge à la création de nouvelles instances. Le planificateur limite probablement le taux de création (Ramp-Up) pour maintenir la stabilité, réduisant ainsi le score total de requêtes/sec.
- Heroku Dynos (Conteneurs LXC) : S'appuie sur l'orchestration de conteneurs traditionnelle (PaaS).
- La taxe « Always On » : Conçu pour les applications de longue durée, pas pour les rafales pilotées par des événements. L'architecture n'est pas optimisée pour passer de 0 à 1000 instantanément.
2. Surcharge d'initialisation et de mise à l'échelle
Cette catégorie aborde le compromis direct entre la complexité de l'environnement d'exécution (lourd vs léger) et la vitesse des démarrages à froid.
- AWS Lambda / Cloudflare Workers initialisation optimisée : Les deux MicroVMs AWS et les Isolats Cloudflare sont conçus pour éliminer ou réduire considérablement le temps de démarrage. AWS élimine le noyau, tandis que Cloudflare évite de démarrer un OS, permettant le débit et la concurrence les plus élevés en éliminant les goulots d'étranglement au démarrage.
- Azure Functions / Google Cloud Functions surcharge d'environnement plus lourde : Les deux plateformes encourrent une latence d'initialisation significative par rapport aux leaders. Azure initialise un environnement de serveur web plus lourd (comme C#/.NET sur IIS/Kestrel), tandis que gVisor de Google ajoute une surcharge de sécurité à la création de nouvelles instances, qui doit être limitée par le planificateur pour maintenir la stabilité globale du système.
Fournisseurs de fonctions serverless
Il existe une variété de fournisseurs de fonctions serverless, chacun avec des fonctionnalités distinctes, des intégrations d'écosystème et des forces adaptées à des cas d'utilisation spécifiques :
Microsoft Azure Functions
Microsoft Azure Functions est un service de calcul serverless qui permet aux développeurs de créer et de déployer des applications pilotées par des événements sans gérer l'infrastructure.1 Il offre une intégration avec d'autres services Azure, tels que le stockage Blob Azure pour la gestion de fichiers, Cosmos DB pour les opérations de base de données et Event Grid pour le routage d'événements.
Les fonctions Azure disposent d'une mise à l'échelle automatique pour gérer les volumes de requêtes variables et s'intègrent à Azure Monitor et Azure Security Center pour le suivi des performances et la gestion de la sécurité.
AWS Lambda
AWS Lambda est un service de calcul serverless proposé par Amazon Web Services (AWS) qui s'intègre à d'autres services AWS, tels que Amazon S3 pour le stockage, DynamoDB pour les opérations de base de données et API Gateway pour les points de terminaison HTTP, permettant le développement d'architectures pilotées par des événements.2
AWS Step Functions peut coordonner plusieurs fonctions Lambda, prenant en charge la création de flux de travail complexes pour des tâches telles que le traitement de données ou l'orchestration d'applications.
Google Cloud Functions
Google Cloud Functions est un environnement d'exécution serverless qui permet aux développeurs d'exécuter du code déclenché par des événements provenant de sources telles que des requêtes HTTP, des mises à jour du stockage Cloud ou des messages Pub/Sub. La plateforme se met automatiquement à l'échelle pour gérer les charges de travail fluctuantes, provisionnant les ressources au besoin sans intervention manuelle.3
Google Cloud Functions s'intègre également aux services de données et d'analyse de Google Cloud, tels que BigQuery pour l'analyse de données à grande échelle et Cloud Dataflow pour le traitement de flux, prenant en charge les applications axées sur la gestion des données et les analyses en temps réel. Sa conception pilotée par des événements assure l'exécution efficace des tâches liées à des déclencheurs spécifiques au sein de l'écosystème Google Cloud.
Vercel Functions
Vercel est une plateforme cloud destinée aux développeurs frontend, fournissant des outils de déploiement et de mise à l'échelle pour les applications web modernes. Elle est connue pour avoir développé Next.js et offre une intégration avec ce framework React largement utilisé.
Vercel Functions permet aux développeurs d'exécuter du code backend sans gérer de serveurs et prend en charge les langages, notamment JavaScript (Node.js), TypeScript, Python, Go et Ruby. Des fonctionnalités telles que les déploiements automatiques, les URL d'aperçu et un réseau de bord mondial améliorent les performances et la productivité des développeurs.4
Cloudflare Workers
Avec Cloudflare Workers, les développeurs peuvent exécuter leur code dans des centres de données dans le monde entier, atteignant une faible latence.5 La plateforme prend en charge des technologies telles que JavaScript et WebAssembly, permettant aux développeurs de déployer rapidement leurs applications. Cloudflare Workers est également optimisé pour les applications IA et blockchain.
Cloudflare Workers est axé sur l'informatique de pointe et les hautes performances avec une faible latence. Les développeurs peuvent évaluer ces plateformes en fonction de leurs besoins et des exigences de leur projet.
Huawei Cloud FunctionGraph
Huawei Cloud FunctionGraph est un service qui permet aux développeurs d'exécuter du code en réponse à des événements sans gérer d'infrastructure serveur.6 Le service s'intègre aux sources d'événements au sein de l'écosystème Huawei Cloud, notamment Object Storage Service (OSS) pour les déclencheurs liés aux fichiers et API Gateway pour les invocations basées sur HTTP, permettant la création d'applications pilotées par des événements.
Huawei Cloud FunctionGraph fournit une mise à l'échelle automatique pour s'adapter aux changements de charge de travail et fonctionne sur un modèle de facturation à l'usage, ne facturant que les ressources consommées pendant l'exécution. Il comprend également des capacités de surveillance et de journalisation grâce aux outils d'observabilité de Huawei Cloud, aidant les développeurs à suivre les performances et à diagnostiquer les problèmes d'application.
Heroku
Heroku est un Platform as a Service (PaaS) qui permet un déploiement et une gestion rapides des applications. Il utilise des conteneurs virtuels appelés « dynos » pour faciliter la gestion et la mise à l'échelle des applications.7 De plus, il offre des « dynos uniques » temporaires pour exécuter des opérations spécifiques de manière fonctionnelle serverless.
Nombre de langues prises en charge
Qu'est-ce que les fonctions serverless ?
Les fonctions serverless, également connues sous le nom de Function as a Service (FaaS), sont un modèle de cloud computing comme le cloud GPU qui vous permet d'exécuter du code sans avoir à gérer les serveurs ou l'infrastructure sous-jacents. Dans ce modèle, vous écrivez de petits morceaux de code pilotés par des événements (fonctions) qui sont déclenchés par des événements spécifiques comme une requête HTTP, une mise à jour de base de données ou un message dans une file d'attente.
Le fournisseur de cloud s'occupe du provisionnement, de la mise à l'échelle et de la gestion du serveur afin que vous puissiez vous concentrer sur l'écriture et le déploiement de votre code. Dans l'architecture serverless, les ressources sont mises à l'échelle dynamiquement en fonction de la demande en temps réel. Pendant les périodes d'inactivité, l'infrastructure se réduit à zéro, donc aucune consommation de ressources et aucun coût.
D'autre part, lorsque la demande augmente, le système se met à l'échelle pour gérer la charge de travail accrue. Cette mise à l'échelle dynamique assure la rentabilité car la facturation est basée sur les ressources réellement utilisées.
Comment fonctionnent les fonctions serverless ?
1. Déclencheur d'événement :
Les fonctions serverless sont pilotées par des événements, déclenchées par des requêtes HTTP, des téléchargements de fichiers, des modifications de base de données ou d'autres événements. L'événement définit quand la fonction doit être exécutée.
2. Exécution :
Une fois qu'un événement est déclenché, le fournisseur de cloud provisionne un environnement léger pour exécuter la fonction. Cela est souvent appelé un « conteneur » ou un « environnement d'exécution ». Le code est exécuté dans cet environnement, mais l'environnement est temporaire et créé uniquement pour la durée de l'exécution de la fonction.
3. Mise à l'échelle :
Les plateformes serverless sont conçues pour se mettre automatiquement à l'échelle en fonction de la demande. Si plusieurs événements se produisent simultanément, la plateforme lancera plus d'instances de la fonction pour les gérer, souvent appelé mise à l'échelle horizontale.8 Le fournisseur de cloud gère cela automatiquement, vous n'avez donc pas besoin de gérer l'infrastructure vous-même.
4. Arrêt :
Une fois que la fonction a terminé son exécution, l'environnement (conteneur) est arrêté. La fonction serverless ne s'exécute pas ni ne consomme de ressources après avoir terminé sa tâche.
Avantages des fonctions serverless
Pas de gestion de serveur
Avec les fonctions serverless, les développeurs n'ont pas à se soucier du provisionnement, de la gestion ou de la maintenance de l'infrastructure sous-jacente. Le fournisseur de cloud gère la gestion des serveurs, telle que le correctif, la mise à l'échelle et la surveillance, permettant aux développeurs de se concentrer sur l'écriture et le déploiement de la logique métier.
Cela abstrait la complexité de la gestion des serveurs, des systèmes d'exploitation ou du matériel, entraînant moins de maux de tête opérationnels pour les équipes de développement.
Par exemple, avec AWS Lambda, les développeurs peuvent déployer leurs fonctions sans gérer de machines virtuelles, d'équilibreurs de charge ou de composants réseau. La plateforme provisionne automatiquement les ressources nécessaires pour exécuter la fonction en réponse à un événement, garantissant une exécution sans intervention manuelle.
Efficacité des coûts
Les fonctions serverless sont généralement facturées en fonction de l'utilisation réelle des ressources, et non de la puissance de calcul pré-allouée ou du temps d'inactivité que vous pourriez avoir. Ce modèle de paiement à l'usage permet aux entreprises de ne payer que pour le temps pendant lequel leur code s'exécute réellement, souvent mesuré à un niveau très détaillé. Cela diffère des modèles de cloud computing traditionnels, où vous pouvez payer pour une puissance de calcul réservée même lorsqu'elle est simplement là à ne rien faire.
Par exemple, vous ne payez pas pour la capacité inutilisée si votre fonction est inactive ou reçoit un faible trafic. D'autre part, lorsque la demande augmente, la plateforme ajuste automatiquement les ressources pour répondre à la charge sans coût supplémentaire au-delà de ce que vous utilisez réellement. Cela rend le calcul serverless une option vraiment rentable, en particulier pour les charges de travail qui ont des modèles de trafic variables qui montent et descendent.
Mise à l'échelle automatique
L'une des fonctionnalités les plus puissantes des fonctions serverless est leur capacité à se mettre automatiquement à l'échelle lorsque la demande change. Lorsque de nombreux événements déclenchent des fonctions en même temps, la plateforme provisionne automatiquement des ressources supplémentaires (comme de nouvelles instances de la fonction) pour gérer la charge accrue. Une fois que la demande redescend, le système réduit les ressources, s'assurant que seule l'infrastructure nécessaire est utilisée.
Par exemple, lors d'événements à fort trafic comme des lancements de produits ou des ventes flash, une plateforme serverless telle que AWS Lambda ou Azure Functions lancera des ressources supplémentaires pour gérer toutes ces requêtes supplémentaires. Après la fin de l'événement, la plateforme réduira l'échelle pour économiser des ressources et réduire les coûts.
Déploiement rapide
Les fonctions serverless peuvent être déployées beaucoup plus rapidement que les applications traditionnelles, en particulier lorsqu'elles sont intégrées à d'autres services. Parce que vous écrivez uniquement de petits morceaux de code discrets (fonctions) qui sont déclenchés par des événements spécifiques. Le déploiement consiste simplement à télécharger le code de la fonction sur la plateforme et le système s'occupe de tout, du provisionnement des ressources à la gestion des environnements d'exécution.
Le déploiement rapide est essentiel pour accélérer les cycles de développement. Les développeurs peuvent expérimenter et itérer plus rapidement car ils n'ont pas à passer du temps à configurer l'infrastructure ou à gérer des pipelines de déploiement complexes.
Cela peut réduire considérablement le temps nécessaire pour publier de nouvelles fonctionnalités ou corriger des bugs, favorisant un processus de développement plus agile. Par exemple, vous pouvez rapidement déployer une fonction qui réagit à un téléchargement de fichier dans un service de stockage ou une requête API sans la surcharge de gérer l'infrastructure vous-même.
Méthodologie du benchmark des fonctions serverless
Dans ce test, nous avons créé une fonction qui vérifie si le navigateur d'un visiteur du site est à jour en fonction du système d'exploitation actuel et de l'agent utilisateur. Nous voulions voir comment chaque plateforme gère ce type de requête qui implique de vérifier plusieurs agents utilisateur pour les mises à jour du navigateur.
Procédure de test :
- Implémentation du code : Une fonction Python a été écrite pour inspecter la chaîne User Agent d'un visiteur. La fonction vérifie le système d'exploitation actuel et le compare avec la version du navigateur pour voir si le navigateur est à jour. Le code est une simple comparaison entre la version actuelle du navigateur et la version prise en charge par le système d'exploitation.
- Requêtes parallèles : La fonction a été exécutée 1000 fois en parallèle, simulant un trafic réel, en utilisant 10 threads pour générer de la charge. Cela teste comment les plateformes peuvent gérer plusieurs requêtes en même temps.
- Métriques de performance : Plusieurs métriques clés de performance ont été collectées pendant le test pour voir comment chaque plateforme se comporte.
Pour aller plus loin
Découvrez les développements récents sur les plateformes serverless en consultant :
Meilleurs 10+ fournisseurs serverless GPU 2025 : AWS, Azure & Plus
FAQ
Les fonctions serverless sont légères et s'exécutent dans un environnement sans état, où le fournisseur de cloud gère la mise à l'échelle et la gestion des ressources. En revanche, les fonctions conteneurisées emballent votre code avec toutes les dépendances dans un conteneur qui peut s'exécuter n'importe où, permettant un plus grand contrôle sur les environnements d'exécution et la mise à l'échelle.
Les fonctions serverless, comme AWS Lambda ou Google Cloud Functions, sont pilotées par des événements et se mettent automatiquement à l'échelle en fonction de la demande, sans avoir besoin de gérer l'infrastructure. Les fonctions cloud font référence à toute fonction de calcul basée sur le cloud, mais sont généralement associées au modèle serverless où les ressources sont provisionnées dynamiquement.
Les deux AWS Lambda (services AWS) et Google Cloud Functions offrent des environnements serverless robustes. AWS Lambda s'intègre de manière transparente avec d'autres services AWS, permettant une connexion facile entre les fonctions serverless et des ressources comme S3 ou DynamoDB. Google Cloud Functions, d'autre part, offre un fort soutien pour des langages tels que Go et Python et est hautement évolutif pour gérer la logique métier pilotée par des événements. Votre choix dépend de votre écosystème cloud existant et des exigences spécifiques de vos applications serverless.
Les applications serverless sur des plateformes comme AWS Lambda et Cloudflare Workers permettent aux développeurs de déployer des fonctions avec une surcharge minimale. AWS Lambda connecte les fonctions à d'autres services AWS, tandis que Cloudflare Workers se concentre sur l'exécution à faible latence grâce à son modèle d'informatique de pointe. Les deux plateformes gèrent la mise à l'échelle automatiquement en fonction du trafic, vous n'avez donc pas à vous soucier de la gestion de l'infrastructure. Ces plateformes optimisent l'exécution de votre code de fonction, améliorant les performances et l'évolutivité de vos applications serverless.
Citez ce benchmark
Choisissez le format qui correspond à votre lieu de publication. Coller la version avec lien dans votre CMS préserve le lien retour.
@misc{dogan2026,
author = {Dogan, Sedat and Sarı, Ekrem},
title = {{Meilleures fonctions serverless: Vercel vs Azure vs AWS}},
year = {2026},
month = jun,
howpublished = {\url{https://aimultiple.com/serverless-functions}},
note = {AIMultiple. Consulté le 30 Juin 2026}
}






Soyez le premier à commenter
Votre adresse courriel ne sera pas publiée. Tous les champs sont obligatoires. Les commentaires sont laissés dans leur langue d'origine.