FaaS : Function as a Service

Simplement défini, le Function as a Service est un modèle de services Cloud permettant de déployer une fonction applicative unique en mode serverless plutôt que toute une application. C’est un service « event-driven » qui ne s’adresse qu’aux entreprises qui exécutent une même fonction pour de gros volumes de transactions ou d’opérations et de façon intermittente, une fois en une journée, en une semaine ou en un mois par exemple. Découvrez tout sur le Function as a Service.

Comprendre le fonctionnement du Function as a Service

Les entreprises choisissent le Function as a Service (Faas ou Fonction en tant que Service en français) pour exécuter des fonctions applicatives individuelles. Elles le font parce que développer et lancer une application peut être une tâche chronophage et budgétivore, lorsqu’en réalité on n’a besoin que d’une fonction spécifique et pas de toute une application.

Ainsi, les fonctions lancées avec le FaaS ne traitent que des requêtes individuelles et ne s’exécutent généralement qu’en quelques millisecondes.

Et si on devait le comparer au PaaS : Platform as a Service (le service Cloud qui offre un environnement de conception et de déploiement d’application) on pourrait dire que sur le plan fonctionnel, le FaaS est une sorte de PaaS fractionné ou une unité de PaaS.

De plus, l’utilisateur du Function as a Service ne paie qu’en fonction de la durée d’exécution de chaque fonction applicative lancée, contrairement à la plupart des autres services Cloud comme le SaaS : Software as a Service où il paie en fonction des ressources utilisées.

Quels sont les domaines d’application du Function as a Service ?

Les entreprises qui développent des micro-services sont souvent les plus gros consommateurs de FaaS. En effet, le service a plusieurs utilités :

  • Automatiser l’exécution de tâches spécifiques planifiées ;
  • Traiter des requêtes web individuelles / fils de messages;
  • Exécuter des commandes manuelles spécifiques / une partie unitaire d’un code;
  •  

Il convient de préciser que le Function as a Service est plus adapté aux gros volumes de transactions ou d’opérations qui ne sont exécutées qu’une fois en une journée, en une semaine ou en un mois.

En fait, lorsque vous devez faire tourner une fonction lourde et complexe de façon quasi-permanente sur un serveur qui ne vous appartient pas, vous payez plus cher. Il serait même préférable dans ce cas de rechercher une IaaS : Infrastructure as a Service.

Ainsi, si le volume des transactions / opérations à faire pour une même fonction est important, et si lesdites opérations sont à exécuter de façon intermittente ou sporadique, il est recommandé d’isoler la fonction et de planifier son exécution automatique en mode serverless avec le Function as a Service.

Pourquoi opter pour le Function as a Service ?

En tant que modèle de services de Cloud computing, la principale particularité du Function as a Service est la possibilité de mise à l’échelle automatique qu’elle offre et qui, au niveau infrastructure, se traduit par une facturation minimisée.

Supposons par exemple que vous utilisez une application hébergée sur serveur qui n’exécute qu’une demande par minute ou même par jour. Supposons que vous avez besoin de cette fonction spécifique et que vous ne pouvez pas lancer l’application toutes les minutes, ni embaucher quelqu’un pour le faire.

Dans ces cas, vous planifiez l’exécution de la fonction via un Function as a Service. Le fournisseur ne facturera que le temps d’exécution de la fonction.

En outre, il est intéressant de noter que la plupart des entreprises n’exploitent que près de 5 à 15 % du temps de calcul réel de leurs serveurs. Or, d’une année à l’autre, le nombre des data centers (qui sont ultra-énergivores) ne cesse de croître pour répondre à la demande sans cesse croissante de services Cloud.

Si vous payez pour tout un serveur alors que vos besoins réels ne correspondent qu’à 5 à 15 % de la puissance de calcul disponible, votre code fait tourner les serveurs et les fait consommer de l’énergie inutilement.

C’est donc à dire que le Function as a Service, c’est du Cloud « scalable et écologique ».