Qu'est-ce que l'architecture serverless ?

Mis à jour : septembre 2026

L’architecture serverless est un modèle d’exécution cloud où le fournisseur exécute votre code à la demande : vous ne provisionnez ni ne gérez aucun serveur. Les serveurs existent toujours — vous cessez simplement de les louer, de les patcher et de les mettre à l’échelle. Vous déployez des fonctions ; la plateforme alloue du calcul quand un événement arrive et ne vous facture que ce qui s’exécute.

Points clés

QuestionRéponse
Ce que c’estDu code exécuté dans un calcul à la demande géré par le fournisseur — aucun serveur à provisionner
Problème résoluLa planification de capacité, le coût des serveurs inactifs et l’exploitation de l’infrastructure
Modèle de facturationPar requête + par Go-seconde d’exécution ; retombe à zéro à l’inactivité
Points de vigilanceCold starts, limites de durée d’exécution, lock-in fournisseur
Équivalent Back4appLes fonctions Cloud Code — vous déployez le code, Back4app l’exécute

Le problème qu’elle résout

Avec un déploiement traditionnel, vous louez de la capacité avant la demande : dimensionner l’instance, configurer l’autoscaling, payer le temps d’inactivité, patcher l’OS. Trompez-vous dans un sens et vous brûlez de l’argent ; dans l’autre, vous perdez des requêtes à votre pic de trafic.

Dans un modèle serverless, cette boucle entière disparaît. Vous écrivez une fonction, et passer de zéro à des milliers d’exécutions concurrentes est le travail du fournisseur. Voici tout le code backend nécessaire pour calculer côté serveur la note moyenne d’un film :

// cloud/main.js — une fonction Cloud Code de Back4app
Parse.Cloud.define('averageStars', async (request) => {
  const query = new Parse.Query('Review');
  query.equalTo('movie', request.params.movie);
  const reviews = await query.find();
  const sum = reviews.reduce((acc, r) => acc + r.get('stars'), 0);
  return sum / reviews.length;
});

Aucune app Express autour, pas de Dockerfile, pas de load balancer. La fonction est l’unité de déploiement.

L’appeler depuis n’importe quel client

Chaque SDK client invoque la même fonction par son nom — le transport, l’auth et la mise à l’échelle sont pris en charge par la plateforme :

// JavaScript / Node.js — Back4app JS SDK
const params = { movie: 'Inception' };
const rating = await Parse.Cloud.run('averageStars', params);
console.log(`Average rating: ${rating}`);

Comment circule une requête serverless

Flux d'une requête serverlessUn client appelle un endpoint géré ; la plateforme exécute la fonction sur une instance chaude ou en provisionne une lors d'un cold start, lit la base de données gérée, renvoie la réponse et retombe à zéro après la période d'inactivité.

oui

non

après la période d'inactivité

App cliente

Endpoint HTTPS géré

Instance chaude
disponible ?

Exécuter la fonction

Cold start :
provisionner le runtime

Base de données gérée

Réponse au client

Retombe à zéro
coût : 0 $

Un client appelle un endpoint géré ; la plateforme exécute la fonction sur une instance chaude ou en provisionne une lors d'un cold start, lit la base de données gérée, renvoie la réponse et retombe à zéro après la période d'inactivité.

La branche à surveiller est le cold start. Quand aucune instance chaude n’existe, la plateforme doit provisionner un runtime avant d’exécuter votre code — de quelques millisecondes à plusieurs secondes selon le langage, la taille du code et les dépendances. En production, il ne touche qu’une petite fraction des requêtes, puisqu’une fonction invoquée régulièrement continue de réutiliser des instances chaudes — négligeable pour la plupart des API, mais réel sur les chemins critiques en latence, et l’une des raisons pour lesquelles les fonctions edge et les stratégies de warm-up existent.

Serverless vs. conteneurs vs. serveurs traditionnels

DimensionServerlessConteneurs (Kubernetes)VM traditionnelles
Unité déployéeFonctionImage de conteneurImage machine
Mise à l’échelleAutomatique, par requête, jusqu’à zéroAutomatique, mais vous configurez et payez le clusterManuelle ou groupes d’autoscaling
Coût à l’inactivité0 $Le cluster continue de tournerL’instance continue de tourner
Cold startsOui (de ms à quelques secondes)Non (les pods restent chauds)Non
Processus de longue duréeLimités par les timeouts d’exécutionOuiOui
Charge d’opsAucuneSignificative (cluster, mises à niveau, capacité)La plus lourde (OS, patchs, haute dispo)
Idéal pourCharge orientée événements, en pics ou imprévisibleCharge soutenue, runtimes personnalisésSystèmes legacy, contrôle total

FaaS et BaaS : les deux moitiés du serverless

« Serverless » couvre deux modèles complémentaires, une distinction que l’article canonique de Mike Roberts sur martinfowler.com a formalisée. La séparation a une date de naissance : le calcul commercial déclenché par événements est apparu en 2014 et, en deux ans, le serverless est passé d’idée de recherche à standard de production pour le travail orienté événements — c’est pourquoi le vocabulaire semble encore plus neuf que les idées qu’il recouvre. Le FaaS (Functions as a Service) signifie que vous écrivez encore de la logique côté serveur, mais qu’elle s’exécute dans un calcul stateless, déclenché par événements et entièrement géré — le modèle des « cloud functions ». Le BaaS (Backend as a Service) va plus loin : la base de données, l’authentification, le stockage de fichiers et les API sont eux-mêmes consommés comme des services gérés, si bien que la majeure partie du code backend que vous auriez écrit disparaît entièrement.

La plupart des applications réelles ont besoin des deux — des fonctions pour la logique sur mesure, des services gérés pour tout le reste. Cette combinaison est exactement ce qu’une plateforme BaaS réunit clé en main. Pour approfondir cette moitié du modèle, lisez notre guide complet du Backend as a Service.

Cas d’usage courants du serverless

  • API et backends mobiles. Le cas dominant : un trafic piloté par les requêtes qui dort la nuit et explose au lancement — exactement la forme que la tarification à l’exécution récompense.
  • Traitement d’événements et de données. Redimensionner une image à l’upload, valider un enregistrement à la sauvegarde, synchroniser un changement vers un système tiers — des réactions brèves à des événements.
  • Jobs planifiés. Rapports nocturnes, tâches de nettoyage et synchronisations récurrentes tournent comme des fonctions déclenchées par cron, sans serveur qui attend entre deux exécutions.
  • Fonctionnalités temps réel. Chat, notifications et dashboards en direct associent des fonctions serverless à une infrastructure temps réel gérée, plutôt qu’à des serveurs WebSocket faits main.
  • MVP et prototypes. Quand on valide une idée, passer zéro minute sur l’infrastructure est tout l’intérêt — déployez une fonction, obtenez une URL, livrez.
  • Agents IA et webhooks. Le code de liaison entre LLM, prestataires de paiement et API SaaS est naturellement orienté événements et de courte durée — un cas idéal pour le serverless.

Devriez-vous passer au serverless ? Matrice de décision

Choisissez le serverless quand…Choisissez des serveurs toujours actifs quand…
Le trafic est en pics, imprévisible ou à faible volumeLe trafic est soutenu et à fort volume (le toujours actif revient moins cher)
Vous devez lancer vite avec une petite équipeVous exécutez des processus longs qui dépassent les timeouts des fonctions
Les briques standard (auth, CRUD, stockage) couvrent l’essentielVous avez besoin de runtimes personnalisés, de GPU ou de matériel spécialisé
Vous n’avez pas de ressources DevOps dédiéesLa réglementation exige le contrôle total de l’infrastructure
Le coût doit suivre l’usage, en partant de 0 $Une latence de queue sous 10 ms est non négociable sur chaque requête

Sur le coût, des repères concrets aident : les plateformes serverless facturent par requête plus le temps de calcul consommé (Go-secondes), sans engagement initial — et l’offre gratuite de Back4app inclut 25 000 requêtes d’API par mois, de quoi faire tourner un vrai MVP à 0 $ avant toute décision de mise à l’échelle.

Limites et trade-offs

  • Les cold starts. La première invocation d’une fonction inactive paie une pénalité de provisionnement (de moins de 100 ms à plus d’une seconde). Atténuations : concurrence chaude, bundles plus petits, runtimes edge.
  • Les limites de durée d’exécution. Les fonctions sont faites pour du travail court ; l’encodage vidéo ou les batchs d’une heure relèvent des conteneurs ou des systèmes de jobs en arrière-plan.
  • Débogage et observabilité plus difficiles. Il n’y a pas de serveur où entrer en SSH. Vous dépendez des logs, des métriques et du tracing de la plateforme — évaluez-les avant de vous engager.
  • Le vendor lock-in. Les fonctions qui dépendent d’API propriétaires coûtent cher à déplacer. Préférez les plateformes construites sur de l’open source — Cloud Code de Back4app repose sur une fondation open-source que vous pouvez auto-héberger à tout moment.
  • Le coût à l’échelle soutenue. Payer à l’exécution est imbattable à faible volume et en pics, mais peut dépasser un tarif serveur fixe sous une charge constante et lourde. Refaites le calcul quand le trafic se stabilise.
  • L’absence d’état. Les fonctions ne gardent aucune mémoire entre les invocations ; la session et l’état applicatif doivent vivre dans une base de données ou un cache — une contrainte de conception si vous portez du code stateful.

L’architecture serverless sur Back4app

Back4app est une plateforme open-source de Backend as a Service (BaaS) qui combine une base de données gérée, des API REST et GraphQL générées automatiquement, l’authentification, le stockage de fichiers et des fonctions serverless avec Cloud Code. Elle vous donne les deux moitiés dans une seule plateforme. La moitié FaaS est Cloud Code : des fonctions JavaScript comme averageStars ci-dessus, déployées depuis le dashboard ou la CLI, plus des triggers de base de données et des jobs planifiés — aucune gateway, politique IAM ni infrastructure à configurer. La moitié BaaS vient provisionnée avec chaque app Back4app : la base de données, l’authentification des utilisateurs, le stockage de fichiers et les API REST et GraphQL générées automatiquement. Et parce que Back4app se construit sur une fondation open-source, les fonctions que vous écrivez sont portables — vous pouvez auto-héberger le même stack plus tard, ce qui lève l’objection de lock-in qui pèse sur les plateformes serverless liées à un fournisseur.

Questions fréquentes

Serverless signifie-t-il qu'il n'y a pas de serveurs ?

Non — des serveurs exécutent toujours votre code. « Serverless » signifie qu'ils vous sont invisibles : le fournisseur cloud les possède, les provisionne, les patche et les met à l'échelle. Vous déployez des fonctions et la plateforme décide où et quand elles s'exécutent. Du point de vue du développeur, il n'y a rien à dimensionner, à redémarrer ni à maintenir.

Le serverless est-il moins cher que les serveurs traditionnels ?

Pour les charges en pics ou à faible volume, généralement oui : vous payez par requête et par Go-seconde d'exécution, et la facture tombe à zéro quand rien ne tourne. Pour un trafic soutenu à fort volume, un conteneur toujours actif ou une instance réservée revient souvent moins cher, car le prix par invocation sur des millions de requêtes régulières peut dépasser un tarif serveur fixe. Modélisez votre courbe de trafic réelle avant de choisir.

Quels sont les inconvénients de l'architecture serverless ?

Les principaux trade-offs sont les cold starts (typiquement de moins de 100 ms à plus de 1 seconde à la première invocation d'une fonction inactive), les limites de durée d'exécution, un débogage local et une observabilité plus difficiles, et un vendor lock-in potentiel si vos fonctions utilisent des API propres au fournisseur. Les plateformes construites sur de l'open source, comme Cloud Code de Back4app, atténuent le risque de lock-in parce que vous pouvez auto-héberger le même stack.

Devrais-je utiliser du serverless ou des conteneurs ?

Choisissez le serverless plutôt que des conteneurs Docker pour les charges orientées événements, en pics ou imprévisibles, et pour les petites équipes qui ne veulent pas opérer d'infrastructure. Choisissez les conteneurs pour les processus de longue durée, les runtimes personnalisés ou les services soutenus à fort volume où la capacité toujours active revient moins cher. Beaucoup de systèmes de production combinent les deux : serverless pour les API et les handlers d'événements, conteneurs pour les charges de fond régulières.

Les cold starts sont-ils encore un problème ?

Bien moins qu'avant. En production, les cold starts ne touchent qu'une petite fraction des invocations — une fonction invoquée régulièrement réutilise des instances chaudes pendant des centaines de milliers d'appels — et durent typiquement de quelques millisecondes à environ une seconde selon le runtime et la taille du code. Pour les chemins critiques en latence, vous pouvez les atténuer avec des instances préchauffées, des dépendances plus légères ou des fonctions edge. Pour les API et les backends mobiles typiques, ils se remarquent rarement.

Quelle est la différence entre FaaS et BaaS ?

Le FaaS (Functions as a Service) exécute le code côté serveur que vous écrivez encore — des fonctions stateless déclenchées par des événements, comme Cloud Code de Back4app. Le BaaS (Backend as a Service) va plus loin : la base de données, l'authentification, le stockage de fichiers et les API sont consommés comme des services prêts à l'emploi, si bien que la majeure partie du code backend disparaît entièrement. Ce sont les moitiés complémentaires du modèle serverless, et la plupart des applications réelles utilisent les deux.

Quand ne faut-il PAS utiliser le serverless ?

Évitez le serverless pour les jobs longs qui dépassent les limites de durée d'exécution, les charges nécessitant du matériel spécialisé ou des runtimes personnalisés, les systèmes critiques en latence qui ne tolèrent aucun cold start, et le trafic soutenu à fort volume où des serveurs toujours actifs reviennent moins cher. Des exigences réglementaires de contrôle total de l'infrastructure peuvent aussi l'exclure.

Quels langages de programmation les fonctions serverless peuvent-elles utiliser ?

Cela dépend des runtimes que votre plateforme propose — JavaScript/Node.js est le plus universellement supporté, et la plupart des plateformes ajoutent des options comme Python, Go ou Java. Sur Back4app, les fonctions Cloud Code s'écrivent en JavaScript sur un runtime Node.js géré : le même langage que votre frontend web exécute votre logique backend. Quelle que soit la plateforme, vos clients ne sont pas affectés : ils appellent les fonctions par leur nom via HTTPS ou un SDK.

Termes associés

À comparer avec

Lectures recommandées

Prêt à construire votre backend ?

Lancez votre projet sur Back4app en quelques minutes — base de données, authentification, API et Cloud Code inclus. Sans carte bancaire.

Écrit et révisé par Back4app Engineering, Back4app Engineering · Publié le 2026-09-08