Cloud et edge

L’architecture sans serveur expliquée avec un exemple concret

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…

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.

A lire également :  Serverless et microservices : comment le cloud a changé la façon de coder

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.

A lire également :  Edge computing : pourquoi rapprocher le calcul des données

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

A lire également :  Cloud public ou cloud privé selon le type de logiciel

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.

À retenir

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