L’architecture sans serveur permet de lancer une application sans administrer directement les machines qui exécutent son code. Les serveurs existent toujours, mais le fournisseur cloud prend en charge leur allocation et leur capacité.
Pour comprendre ce modèle, suivons une boutique fictive qui reçoit des commandes par son site. Son équipe peut déléguer l’exécution de code et consacrer davantage de temps aux fonctionnalités utiles aux clients.
A retenir :
- Infrastructure gérée par le fournisseur cloud
- Fonctions déclenchées par des événements précis
- Capacité adaptée aux variations de demande
- Coûts liés aux ressources effectivement consommées
Architecture sans serveur : principes et composants essentiels
Ces principes prennent forme grâce à plusieurs services coordonnés, plutôt qu’à un serveur unique qui resterait actif en permanence. Cette organisation convient particulièrement aux applications composées de tâches distinctes et déclenchées à la demande.
FaaS, BaaS et déclencheurs événementiels
Dans cette architecture, le FaaS exécute des fonctions cloud lorsqu’un événement survient, comme une requête HTTP ou une modification de données. Selon la description d’AWS Lambda, le service permet d’exécuter du code sans gérer directement les serveurs sous-jacents.
Le BaaS complète ce dispositif avec des services prêts à l’emploi, par exemple l’authentification, le stockage ou les bases de données. Selon les offres proposées par Firebase, ces fonctions backend peuvent être intégrées sans que l’équipe administre elle-même chaque composant.
Pour la boutique fictive, une nouvelle commande peut déclencher une fonction qui vérifie les articles, puis une autre qui prépare une notification. Ces déclencheurs événementiels évitent de faire tourner en continu un programme chargé d’attendre des commandes.
Composants clés du modèle :
- Calcul à la demande pour traiter les événements
- API Gateway pour recevoir et diriger les requêtes
- Stockage externe pour conserver fichiers et données
- Messagerie pour coordonner des tâches asynchrones
Rôle des services cloud dans une application
À l’échelle de l’application, chaque service assume une responsabilité précise et communique avec les autres par requête ou message. Selon la documentation d’Azure Functions, une fonction peut notamment réagir à des événements provenant de services cloud associés.
Composant
Rôle
Exemple d’usage
Fonction cloud
Exécuter une tâche déclenchée
Valider une commande
Passerelle API
Recevoir et acheminer des requêtes
Exposer le catalogue
Base de données
Conserver des informations persistantes
Enregistrer les achats
File de messages
Transmettre un événement entre services
Déclencher un courriel
La séparation facilite l’évolution d’une partie du système sans imposer le redéploiement d’un bloc monolithique. Elle demande toutefois de réfléchir aux échanges de données avant de multiplier les fonctions indépendantes.
Lorsque ces composants sont assemblés, leur intérêt devient plus concret dans le parcours d’une commande, depuis le clic du client jusqu’à la confirmation.
Exemple concret d’architecture serverless pour une boutique
Ce parcours transforme les composants précédents en une chaîne de traitement lisible, où chaque action déclenche la suivante. La boutique fictive reçoit une commande, contrôle son contenu, enregistre l’achat et informe le client.
Du clic client à la confirmation de commande
Dans cet exemple, l’API Gateway reçoit la requête envoyée par le navigateur et la transmet à une fonction cloud adaptée. Celle-ci vérifie les données reçues, puis demande à la base de données d’enregistrer la commande.
Une fois l’enregistrement effectué, un message peut déclencher l’envoi d’un courriel de confirmation par un autre service. Si le traitement du paiement échoue, l’application peut afficher une erreur sans interrompre les fonctions indépendantes.
Étapes du traitement d’une commande :
- Requête client reçue par la passerelle API
- Validation des informations par une fonction cloud
- Enregistrement de l’achat dans une base externe
- Notification déclenchée par un message événementiel
Mise à l’échelle automatique et facturation à l’usage
Pour cette boutique, une hausse soudaine des visites peut entraîner davantage d’exécutions, sans achat manuel de serveurs par l’équipe. La mise à l’échelle automatique adapte les ressources disponibles à la demande, selon les capacités du fournisseur.
La facturation à l’usage associe généralement les frais aux ressources consommées plutôt qu’à une machine réservée en permanence. Ce modèle peut réduire les dépenses liées aux périodes calmes, mais les appels fréquents et les services annexes restent à surveiller.
Situation
Comportement attendu
Point de vigilance
Trafic faible
Peu d’exécutions sollicitées
Coûts des services associés
Pic de commandes
Capacité ajustée automatiquement
Limites configurées par le fournisseur
Traitement asynchrone
Tâches réparties par messages
Suivi de l’ordre et des échecs
Fonction rarement appelée
Possible délai au premier démarrage
Latence ressentie par l’utilisateur
Le modèle répond ainsi aux variations de charge, mais l’automatisation ne dispense pas de concevoir des fonctions robustes. La surveillance devient essentielle lorsque l’application répartit son travail entre plusieurs services.
Ces avantages doivent donc être mis en balance avec les contraintes de diagnostic, de sécurité et de dépendance à un fournisseur particulier.
Limites et bonnes pratiques de l’architecture sans serveur
À mesure que les fonctions se multiplient, l’application gagne en souplesse, mais ses échanges deviennent moins visibles qu’au sein d’un programme unique. Une conception attentive aide à éviter les pannes difficiles à localiser et les coûts inattendus.
Démarrages à froid, état et débogage
Dans ce contexte, une fonction rarement appelée peut subir un délai lors de son premier lancement, appelé démarrage à froid. Des fonctions légères et des options de capacité préchauffée, lorsqu’elles existent, peuvent limiter cet effet selon le service choisi.
Les fonctions sont généralement conçues sans état local durable : elles ne doivent pas supposer qu’une exécution précédente a conservé des données en mémoire. La boutique stocke donc les commandes dans une base externe et utilise les journaux pour retracer les traitements.
Pratiques de fiabilité et de sécurité :
- Conserver l’état durable dans des services de stockage externes
- Limiter les permissions accordées à chaque fonction
- Protéger les secrets et chiffrer les données sensibles
- Centraliser journaux, métriques et alertes de fonctionnement
Choisir entre serverless et infrastructure classique
Le choix dépend du rythme des requêtes, des exigences de latence et des compétences disponibles dans l’équipe. Une charge stable et prévisible peut parfois justifier une infrastructure dédiée, tandis qu’une activité irrégulière se prête souvent mieux au modèle serverless.
Les services propriétaires peuvent aussi compliquer une migration vers un autre fournisseur, surtout si l’application s’appuie fortement sur leurs outils spécifiques. Documenter les interfaces et surveiller les coûts permet de conserver une marge de décision.
Critères de décision pour le projet :
- Variabilité réelle du trafic et des traitements
- Importance de la latence au premier appel
- Capacité de l’équipe à surveiller des services distribués
- Portabilité souhaitée entre fournisseurs cloud
Pour la boutique, ce modèle convient si ses commandes fluctuent et si l’équipe accepte de suivre plusieurs services distincts. Le choix reste pertinent lorsqu’il répond aux besoins réels, plutôt qu’à la seule promesse de ne plus gérer de serveurs.
L'informatique, un socle en perpétuelle évolution
Qu'il s'agisse des fondamentaux, de la cybersécurité, du cloud ou de l'intelligence artificielle, les notions informatiques continuent d'évoluer pour refléter les usages réels du public et des organisations. Comprendre ces mécanismes permet de mieux appréhender ce que représente vraiment la transformation numérique aujourd'hui.
Pour aller plus loin
- Distinguer les couches matérielles, logicielles et réseau avant de tirer des conclusions hâtives
- Se référer à des sources techniques fiables plutôt qu'à des raccourcis non vérifiés
- Garder une veille technologique régulière (IA, quantique, cybersécurité)
- Garder à l'esprit les enjeux éthiques et environnementaux du numérique