Les fonctions serverless permettent aux développeurs d'exécuter du code sans avoir à gérer un 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 en suivant notre méthodologie pour tester les performances de leurs fonctions 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 la performance de chaque fournisseur non pas comme un nombre unique, mais comme une plage de temps de réponse observés durant 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 au-dessus du graphique.
- Bande inférieure : Elle représente les temps de réponse les plus rapides enregistrés pour chaque fournisseur. Elle indique les performances optimales, montrant à quelle vitesse une fonction peut s'exécuter dans des conditions idéales (par exemple, un démarrage « à chaud » avec des ressources en cache). Dans cette vue, une valeur plus basse (plus à gauche) est meilleure.
- Bande supérieure : Elle représente les temps de réponse les plus lents observés pour chaque fournisseur. Elle met en évidence les performances les plus faibles, qui peuvent être influencées par des facteurs tels que les démarrages à froid, la latence réseau ou des conflits temporaires de ressources. Cette valeur est essentielle 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, excluant les erreurs ou les requêtes échouées. Plus c'est bas, mieux c'est, indiquant un traitement plus rapide pour chaque requête.
Raisons potentielles des différences de performance des fonctions serverless
1. Environnement d'exécution principal (Architecture)
La technologie sous-jacente fondamentale, qu'il s'agisse d'une microVM hautement optimisée, d'un moteur V8 ou d'un conteneur standard, est le principal moteur des différences de performance.
- AWS Lambda Firecracker MicroVMs : Utilise des microVM basées sur KVM qui suppriment les fonctionnalités non essentielles du noyau pour démarrer en millisecondes.
- Concurrence optimisée : AWS lance physiquement les environnements d'exécution plus rapidement que les conteneurs standards. L'architecture MicroVM leur permet de gérer une rafale de 1000 requêtes sans mise en file d'attente.
- Cloudflare Workers V8 Isolates (Edge) : Exécute le code dans des processus Chrome V8 existants (Isolates) plutôt que de démarrer un système d'exploitation.
- 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 sandbox) : Utilise gVisor pour l'abstraction du noyau et la sécurité.
- Limites de concurrence : Bien que sécurisé, le sandbox gVisor ajoute une surcharge à la création de nouvelles instances. Le planificateur limite probablement le taux de création (montée en charge) pour maintenir la stabilité, réduisant ainsi le score total de requêtes/sec.
- Heroku Dynos (conteneurs LXC) : Repose sur l'orchestration de conteneurs traditionnelle (PaaS).
- La taxe « Always On » : Conçu pour les applications à exécution longue, pas pour les rafales événementielles. 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 MicroVM AWS et les Isolates Cloudflare sont conçus pour éliminer ou réduire drastiquement le temps de démarrage. AWS supprime le noyau, tandis que Cloudflare évite complètement de démarrer un système d'exploitation, permettant le débit et la concurrence les plus élevés en supprimant les goulots d'étranglement de démarrage.
- Azure Functions / Google Cloud Functions surcharge d'environnement plus lourde : Les deux plateformes subissent 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 le 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 atouts adaptés à des cas d'usage 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 événements sans gérer l'infrastructure.1 Il fournit une intégration avec d'autres services Azure, tels que Azure Blob Storage pour la gestion des fichiers, Cosmos DB pour les opérations de base de données et Event Grid pour le routage d'événements.
Les Azure Functions offrent une mise à l'échelle automatique pour gérer des volumes de requêtes variables et s'intègrent avec 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 avec 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 é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 Cloud Storage ou des messages Pub/Sub. La plateforme s'adapte automatiquement pour gérer des charges de travail fluctuantes, provisionnant les ressources selon les besoins sans intervention manuelle.3
Google Cloud Functions s'intègre également avec les 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 informations en temps réel. Sa conception événementielle garantit 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 front-end, 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 des langages tels que JavaScript (Node.js), TypeScript, Python, Go et Ruby. Des fonctionnalités comme les déploiements automatiques, les URL de prévisualisation et un réseau edge 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 du monde entier, obtenant 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 d'IA et de blockchain.
Cloudflare Workers est axé sur l'edge computing et les hautes performances avec une faible latence. Les développeurs peuvent évaluer ces plateformes en fonction de leurs besoins et des exigences de leurs projets.
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 l'infrastructure serveur.6 Le service s'intègre avec des 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 événements.
Huawei Cloud FunctionGraph offre une mise à l'échelle automatique pour s'adapter aux variations 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 inclut également des capacités de surveillance et de journalisation via les outils d'observabilité de Huawei Cloud, aidant les développeurs à suivre les performances et à diagnostiquer les problèmes d'application.
Heroku
Heroku est une Platform as a Service (PaaS) qui permet un déploiement et une gestion rapides des applications. Elle utilise des conteneurs virtuels appelés « dynos » pour faciliter la gestion et la mise à l'échelle des applications.7 De plus, elle propose des « dynos ponctuels » temporaires pour exécuter des opérations spécifiques à la manière d'une fonction serverless.
Nombre de langages pris en charge
Que sont les fonctions serverless ?
Les fonctions serverless, également appelées Function as a Service (FaaS), sont un modèle de cloud computing, comme les GPU cloud, qui vous permet d'exécuter du code sans gérer les serveurs ou l'infrastructure sous-jacents. Dans ce modèle, vous écrivez de petits morceaux de code pilotés par événements (des 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 cloud prend en charge le provisionnement, la mise à l'échelle et la gestion des serveurs 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 s'adapte à zéro, donc aucune consommation de ressources et aucun coût.
D'autre part, lorsque la demande augmente, le système s'adapte pour gérer la charge de travail accrue. Cette mise à l'échelle dynamique garantit 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 é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 un événement déclenché, le fournisseur cloud provisionne un environnement léger pour exécuter la fonction. On appelle souvent cela un « conteneur » ou « environnement d'exécution ». Le code est exécuté dans cet environnement, mais celui-ci 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 s'adapter automatiquement 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, ce que l'on appelle souvent la mise à l'échelle horizontale.8 Le fournisseur 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 plus et ne consomme plus 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 cloud gère la gestion des serveurs, comme les correctifs, 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 fait abstraction de la complexité de la gestion des serveurs, des systèmes d'exploitation ou du matériel, ce qui réduit les problèmes opérationnels pour les équipes de développement.
Par exemple, avec AWS Lambda, les développeurs peuvent déployer leurs fonctions sans gérer les machines virtuelles, les équilibreurs de charge ou les composants réseau. La plateforme provisionne automatiquement les ressources nécessaires pour exécuter la fonction en réponse à un événement, garantissant l'exécution sans intervention manuelle.
Rentabilité
Les fonctions serverless sont généralement facturées en fonction de l'utilisation réelle des ressources, pas 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 d'exécution réel de leur code, 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 inactive.
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 fait du calcul serverless une option vraiment rentable, en particulier pour les charges de travail ayant des modèles de trafic variables.
Mise à l'échelle automatique
L'une des fonctionnalités les plus puissantes des fonctions serverless est leur capacité à s'adapter automatiquement 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 diminue, 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 les lancements de produits ou les ventes flash, une plateforme serverless telle qu'AWS Lambda ou Azure Functions lancera des ressources supplémentaires pour gérer toutes ces requêtes supplémentaires. Une fois l'événement terminé, 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, surtout lorsqu'elles sont intégrées à d'autres services. Parce que vous n'écrivez que de petits morceaux de code discrets (des 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 gestion de 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 la vérification de plusieurs agents utilisateurs 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 la charge. Cela teste la capacité des plateformes à gérer plusieurs requêtes en même temps.
- Métriques de performance : Plusieurs indicateurs clés de performance ont été collectés 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 :
FAQ
Les fonctions serverless sont légères et s'exécutent dans un environnement sans état, où le fournisseur cloud gère la mise à l'échelle et la gestion des ressources. En revanche, les fonctions conteneurisées empaquettent votre code avec toutes les dépendances dans un conteneur qui peut s'exécuter n'importe où, permettant un meilleur 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 événements et s'adaptent automatiquement en fonction de la demande, sans avoir besoin de gérer l'infrastructure. Les fonctions cloud désignent 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 parfaitement 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 support solide pour des langages tels que Go et Python et est hautement évolutif pour gérer la logique métier pilotée par é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'edge computing. Les deux plateformes gèrent automatiquement la mise à l'échelle 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.