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.
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.
Le FaaS est un outil précieux, qui rend la migration des applications vers le cloud efficace et rentable. Voici quelques autres avantages :
Voici les bonnes pratiques pour déployer et utiliser le FaaS de façon plus efficace :
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.
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 :
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 cloud. Knative 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.
Accélérez la transformation opérationnelle de votre entreprise grâce à des solutions cloud conçues pour l’innovation et la croissance. Découvrez des outils de pointe et des perspectives qui vous donneront une longueur d’avance sur la concurrence.
Prêt à moderniser votre entreprise ? Découvrez les stratégies de migration vers le cloud les plus efficaces pour optimiser les performances, réduire les coûts et améliorer l’évolutivité.
Découvrez comment l’infrastructure en tant que service (IaaS) peut renforcer votre entreprise grâce à des solutions d’infrastructure cloud évolutives, flexibles et rentables, adaptées à vos besoins.
Découvrez comment les solutions IaaS, PaaS et SaaS peuvent transformer vos opérations, apportant flexibilité, évolutivité et rentabilité. Comprenez-en les différences et choisissez la solution idéale pour votre croissance.
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.
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é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.