My IBM Se connecter S’abonner

Qu'est-ce que le FaaS (fonction à la demande) ?

10 juillet 2021

Qu’est-ce que le FaaS ?

Le FaaS (fonction à la demande) est un service de cloud computing qui permet aux clients d’exécuter du code en réponse à des événements, sans avoir à gérer l’infrastructure complexe généralement associée au développement et au lancement d’applications de microservices.

L’hébergement d’une application logicielle sur Internet nécessite généralement la mise en place et la gestion d’un serveur virtuel ou physique, en plus d’un système d’exploitation et de processus d’hébergement du serveur Web. Dans le cas du FaaS, en revanche, le fournisseur de services cloud se charge automatiquement de la gestion du matériel physique, du système d’exploitation de la machine virtuelle et du logiciel du serveur Web. Les développeurs peuvent ainsi se concentrer uniquement sur les fonctions au sein du code de leurs applications.

Vue aérienne d’autoroutes

Gardez la tête dans le cloud 


Recevez la newsletter hebdomadaire Think pour obtenir des conseils d’experts sur l’optimisation des paramètres multicloud à l’ère de l’IA.

FaaS ou serverless (sans serveur)

On confond souvent le serverless (ou « approche sans serveur ») et le FaaS, or le second est en réalité dérivé du premier.

Le serverless se concentre sur toute catégorie de service, qu’il s’agisse de calcul, de stockage, de base de données, de messagerie, de passerelle API, etc., où la configuration, la gestion et la facturation des serveurs sont invisibles pour l’utilisateur.

Bien qu’il s’agisse sans doute de la technologie que l’on retrouve le plus souvent au cœur des architectures sans serveur, le FaaS est toutefois orienté événements, c’est-à-dire que le code des applications, ou les conteneurs, sont exécutés uniquement en réponse à des événements ou à des requêtes.

AI Academy

Se préparer à l’IA avec le cloud hybride

Dirigé par des leaders d’opinion IBM, le programme a pour but d’aider les chefs d’entreprise à acquérir les connaissances nécessaires qui leur permettront d’orienter leurs investissements IA vers les opportunités les plus prometteuses.

Avantages du FaaS

Le FaaS est un outil précieux, qui rend la migration des applications vers le cloud efficace et rentable. Voici quelques autres avantages :

  • Priorité au code et non à l’infrastructure : avec le FaaS, vous pouvez diviser le serveur en fonctions qui peuvent être mises à l’échelle automatiquement et indépendamment, ce qui vous évite d’avoir à gérer l’infrastructure. Vous pouvez ainsi vous concentrer sur le code et réduire considérablement les délais de mise sur le marché.

  • Facturation à l’utilisation en temps réel : avec le FaaS, vous payez uniquement lorsqu’une action se produit. Une fois celle-ci terminée, tout s’arrête : aucun code ne s’exécute, aucun serveur ne fonctionne à vide, aucun coût n’est engagé. Le FaaS est donc une solution rentable, en particulier pour les workloads dynamiques ou les tâches planifiées. Son coût total de possession s’avère également plus avantageux pour les tâches volumineuses.

  • Mise à l’échelle automatique : avec le FaaS, les fonctions sont mises à l’échelle automatiquement, indépendamment et instantanément, selon les besoins. Lorsque la demande diminue, le FaaS réajuste automatiquement les fonctions.

  • Avantages d’une infrastructure cloud robuste : le FaaS se caractérise par une haute disponibilité inhérente, car il est réparti sur plusieurs zones de disponibilité par région et peut être déployé dans un nombre illimité de régions sans frais supplémentaires.

Principes et bonnes pratiques du FaaS

Voici les bonnes pratiques pour déployer et utiliser le FaaS de façon plus efficace :

  • Faites en sorte que chaque fonction effectue une seule action : les fonctions FaaS doivent avoir pour objet d’effectuer une seule tâche en réponse à un événement. Il convient donc de limiter le champ d’application de votre code, de le rendre efficace et léger afin que les fonctions se chargent et s’exécutent rapidement.

  • Évitez que les fonctions en appellent d’autres : l’intérêt du FaaS réside dans l’isolation des fonctions. Un trop grand nombre de fonctions augmente vos frais et réduit cet intérêt.

  • Utilisez le moins de bibliothèques possible dans vos fonctions : un trop grand nombre de bibliothèques peut ralentir les fonctions et les rendre plus difficiles à dimensionner.

Cas d’utilisation du FaaS

Parce qu’il permet d’isoler les transactions et de les mettre à l’échelle facilement, le FaaS est particulièrement adapté pour les workloads volumineuses et excessivement parallèles. Il peut également être utilisé pour créer des systèmes backend ou pour des activités telles que le traitement des données, la conversion de format, l’encodage ou l’agrégation de données.

Le FaaS est également intéressant pour les applications Web, les backends, le traitement et les flux de données, ou pour créer des chatbots en ligne ou des backends d’appareils IdO. Il facilite par ailleurs la gestion et l’utilisation de services tiers. Si vous envisagez de développer une application Android, par exemple, vous pouvez adopter une approche FaaS afin d’en maîtriser les coûts. Étant donné que seul le moment où votre application se connecte au cloud pour une fonction spécifique telle que le traitement par lots vous est facturé, les frais encourus seront nettement inférieurs par rapport à une approche traditionnelle.

Le FaaS contribue en outre à améliorer considérablement les performances informatiques. Par exemple, deux étudiants ont récemment étudié avec des ingénieurs d’IBM comment exploiter IBM Cloud Functions pour les simulations Monte Carlo (méthodes mathématiques utilisées pour estimer les futurs résultats de certains événements difficiles à prévoir) afin d’estimer le cours des actions. Ces simulations sont considérées comme des workloads de calcul intensif.

En utilisant IBM Cloud Functions, l’équipe a pu exécuter des calculs à très grande échelle et se concentrer sur la logique applicative. Le FaaS lui a permis de réaliser une simulation Monte Carlo complète en 90 secondes environ avec 1 000 invocations simultanées. À titre de comparaison, l’exécution du même flux sur un ordinateur portable doté de quatre cœurs d’UC a nécessité 247 minutes et l’utilisation presque totale de l’UC.

FaaS, PaaS, conteneurs et machines virtuelles

Le FaaS, le PaaS (plateforme en tant que service), les conteneurs et les machines virtuelles (VM) jouent tous un rôle essentiel dans l’écosystème serverless. Le FaaS étant l’élément le plus central et le plus caractéristique de la pile sans serveur, penchons-nous sur ce qui le distingue des autres modèles de calcul courants du marché actuel :

  • Temps de mise à disposition : Quelques millisecondes, contre plusieurs minutes ou heures pour les autres modèles.

  • Administration continue : aucune, contre une difficulté graduelle pour le PaaS, les conteneurs et les machines virtuelles.

  • Mise à l’échelle élastique : chaque action est instantanément et intrinsèquement mise à l’échelle, par rapport aux autres modèles dont la mise à l’échelle automatique est lente et nécessite un réglage minutieux.

  • Planification de la capacité : Aucune, alors que les autres modèles requièrent un mélange de mise à l’échelle automatique et de planification de la capacité.

  • Connexions et états permanents : la capacité de persistance des connexions et de l’état est limitée et doit être conservée dans un service ou une ressource externe. Les autres modèles peuvent exploiter le protocole HTTP, maintenir un socket ou une connexion ouverte pendant de longues périodes et stocker l’état en mémoire entre les appels.

  • Maintenance : la maintenance est entièrement gérée par le fournisseur FaaS. C’est également vrai pour le modèle PaaS. Les conteneurs et les machines virtuelles sont très complexes à entretenir : mise à jour et gestion des systèmes d’exploitation, des images de conteneurs, des connexions, etc.

  • Haute disponibilité et reprise après sinistre : là encore, la haute disponibilité est inhérente au modèle FaaS, sans effort ni coût supplémentaire, contrairement aux autres modèles. Dans le cas des machines virtuelles et des conteneurs, l’infrastructure peut être redémarrée automatiquement.

  • Utilisation des ressources : les ressources ne fonctionnent pas à vide : elles sont invoquées uniquement sur demande. Tous les autres modèles présentent au moins un certain degré de fonctionnement à vide.

  • Limites des ressources : le FaaS est le seul modèle qui impose des limites de ressources sur la taille du code, les activations simultanées, la mémoire, la durée d’exécution, et plus encore.

  • Granularité de tarification et facturation : Par blocs de 100 millisecondes, et non à l’heure (et parfois à la minute) comme pour les autres modèles.

Kubernetes/Knative et FaaS

La combinaison de Kubernetes et Knative est l’une des possibilités offertes par le FaaS. Kubernetes est un outil d’orchestration de conteneurs open source qui est essentiel à la gestion des applications cloudKnative pour sa part permet d’exécuter des applications sans serveur au sein d’un cluster Kubernetes.

L’association de Knative et de Kubernetes vous permet de tirer parti des fonctions de Kubernetes telles que la surveillance, la sécurité, la journalisation et l’authentification, puis de les combiner avec les avantages de Knative tels que la mise en place automatique de conteneurs, la portabilité totale et le traitement au sein d’environnements hybrides.

Les créateurs de cette technologie estiment que les développeurs ne devraient pas avoir à choisir entre le serverless et les conteneurs lorsqu’ils créent des applications cloud. L’objectif est d’améliorer la disponibilité et la cohérence des conteneurs grâce à la mise à l’échelle efficace et à l’accès à la demande du serverless.

Solutions connexes

Solutions connexes

IBM Cloud Virtual Server for VPC

IBM Cloud Virtual Server for VPC est une famille de serveurs virtuels Intel x86, IBM Z et IBM LinuxONE basés sur IBM Cloud Virtual Private Cloud.

Découvrir Cloud Virtual Server
Hébergement Web cloud 

Les serveurs dédiés IBM Cloud offrent une solution d’hébergement Web évolutive avec un trafic backhaul gratuit illimité et des options de personnalisation étendues.

Découvrez les solutions d’hébergement Web
Services de conseil cloud 

Déverrouillez de nouvelles fonctionnalités et stimulez l’agilité de votre entreprise grâce aux services de conseil d’IBM Cloud. Découvrez comment co-créer des solutions, accélérer la transformation numérique et optimiser les performances grâce à des stratégies de cloud hybride et à des partenariats d’experts.

Services cloud
Passez à l’étape suivante

Renforcez votre présence en ligne avec les solutions d’hébergement Web fiables et sécurisées d’IBM Cloud. Des sites à fort trafic aux applications d’entreprise, les IBM Cloud Bare Metal Servers offrent flexibilité, transfert de données illimité et une portée mondiale adaptée à vos besoins d’hébergement.

Découvrir l’hébergement Web d’IBM Cloud Créer votre compte IBM Cloud gratuit