FaaS et autres services de cloud computing
Qu'est-ce que le Function as a Service ?
Le FaaS désigne un service backend serverless qui permet aux créateurs de code ou aux développeurs d'écrire à la volée des morceaux de code modulaires, exécutables en réponse à des événements spécifiques.
Grâce au serverless, les développeurs peuvent créer et exécuter des applications sans se soucier de l'infrastructure cloud. Les serveurs restent présents dans une architecture serverless, mais ils sont dissociés du processus de développement applicatif. Le fournisseur cloud prend en charge les tâches ingrates de provisionnement, de maintenance et de mise à l'échelle de l'infrastructure serveur, ce qui permet aux développeurs de se concentrer uniquement sur le code à déployer.
Bien que les termes Function as a Service (FaaS) et serverless soient parfois utilisés de manière interchangeable, ils recouvrent deux réalités distinctes. Le FaaS est un sous-ensemble du serverless axé sur les déclencheurs événementiels, où le code s'exécute en réponse à des événements ou à des requêtes. Le serverless englobe toute architecture dans laquelle le serveur est totalement dissocié de l'utilisateur final, tandis que le FaaS est une sous-catégorie du serverless centrée sur les déclencheurs événementiels. Le serveur s'arrête lorsqu'aucune requête événementielle ne se présente, ce qui rend ses ressources disponibles pour les requêtes suivantes. Une fois lancé, le FaaS répond à la demande et monte ou descend en charge selon les besoins. Lorsqu'une fonction serverless est inactive, elle ne génère pratiquement aucun coût, ce qui permet de réduire les dépenses dans de nombreux cas.
Comment PaaS, IaaS et FaaS s'articulent
Platform as a Service (PaaS), Function as a Service (FaaS) et Infrastructure as a Service (IaaS) sont des services de cloud computing. Leur différence tient au niveau d'abstraction entre l'infrastructure et l'utilisateur auquel ils s'adressent.
L'IaaS offre le niveau d'abstraction le plus bas. Les utilisateurs qui recourent à l'IaaS disposent d'une maîtrise totale de leur infrastructure ainsi que des outils et logiciels associés. Ils n'ont toutefois pas à gérer ni à administrer l'infrastructure physique, comme les centres de données. L'IaaS permet aux développeurs de choisir les couches d'abstraction qu'ils souhaitent utiliser. Ils peuvent décider de tout gérer eux-mêmes ou d'ajouter des fonctionnalités telles que des équilibreurs de charge et des services gérés pour faciliter la maintenance de leur application.
Pour l'utilisateur final, le PaaS ajoute une couche d'abstraction supplémentaire. Les utilisateurs du PaaS n'ont pas à se soucier de la gestion du système d'exploitation, de l'environnement d'exécution ni des autres composants de l'infrastructure. Ils conservent néanmoins un contrôle granulaire sur les options d'infrastructure sous-jacentes et sur les applications. Le PaaS offre une option d'infrastructure entièrement gérée aux développeurs souhaitant lancer rapidement leurs applications. Ceux qui choisissent le PaaS peuvent se concentrer sur leur travail tandis que le fournisseur assure l'administration système et les processus backend.
Le FaaS offre une abstraction bien plus poussée pour l'exploitant et la fonctionnalité la plus spécifique des trois. Avec le FaaS, les programmeurs accèdent à un système qui exécute la logique applicative à la demande, et le fournisseur de services gère l'ensemble des ressources système et des autres composants d'infrastructure.
Différences entre PaaS et FaaS
Bien que les produits FaaS et PaaS puissent paraître très similaires au premier abord, il existe des différences importantes à prendre en compte pour déterminer la solution la mieux adaptée à vos besoins.
â Configuration : le FaaS offre un temps de provisionnement court grâce à son cas d'utilisation simple et à ses solutions entièrement gérées. Bien que le PaaS fournisse un niveau d'abstraction plus élevé que les autres services de cloud computing, il nécessite tout de même une certaine configuration. Selon le degré de contrôle souhaité, cela peut être un avantage ou un inconvénient.
â Opérations : les solutions FaaS démarrent et arrêtent des applications entières pour chaque requête individuelle. Si le PaaS offre la capacité de monter et descendre en charge selon les besoins, les ressources sont généralement disponibles en permanence. La latence, le coût et la capacité à traiter des requêtes complexes peuvent tous être affectés par cette caractéristique du FaaS.
â Évolutivité : le PaaS peut monter et descendre en charge selon les besoins, mais le développeur doit l'anticiper et le configurer. Avec le FaaS, aucune planification de capacité n'est nécessaire : il monte et descend en charge facilement selon la demande.
â Tarification : la tarification du PaaS varie selon le fournisseur, bien qu'elle soit souvent plus coûteuse que le FaaS pour une charge de travail légère. Si les déclencheurs événementiels sont peu fréquents, le FaaS permet aux développeurs de payer par appel de fonction, ce qui fait gagner du temps. Pour des charges de travail plus régulières ou plus importantes, le PaaS peut s'avérer la solution la plus économique.
Comment fonctionne le FaaS ?
L'architecture monolithique était couramment utilisée dans les premières applications. L'application était alors conçue comme une seule opération à exécuter. Les microservices sont devenus plus populaires auprès des développeurs. Il s'agit d'un ensemble de composants déployables indépendamment. Ils sont plus simples à maintenir et à tester, car ils peuvent être développés séparément.
Idéalement, une fonction est un microservice capable d'exécuter une action en réponse à un événement. Dans le FaaS, le fournisseur démarre un serveur lorsqu'une fonction est invoquée. Il exécute le code, puis éteint le serveur. Une fois le serveur arrêté, les services serverless ne sont actifs que pendant l'utilisation de la fonction, ce qui permet de déployer les mêmes ressources de calcul ailleurs.
Les développeurs ayant accès à la plateforme FaaS peuvent exécuter le code de leur application. La force du FaaS réside dans sa simplicité. Pour tirer le meilleur parti du FaaS, les développeurs doivent veiller à ce qu'une fonction n'exécute qu'une seule action. Le périmètre de la fonction doit être limité et efficace. L'utilisation d'un trop grand nombre de bibliothèques ou l'appel d'une fonction par une autre ralentit le programme et augmente les coûts.
Avantages du FaaS
L'utilisation d'une architecture FaaS présente de nombreux avantages. Voici quelques raisons pour lesquelles vous pourriez choisir le FaaS pour exécuter votre application :
â La liberté de vous concentrer entièrement sur le codage et le développement de votre application
â Vous payez uniquement pour ce que vous utilisez, ce qui réduit les coûts.
â Une mise à l'échelle automatique, sans planification de capacité ni maintenance régulière
â Grâce à la simplicité des tests et du développement, le délai de mise sur le marché est réduit.
Points à considérer pour choisir le FaaS
Des applications web aux chatbots en ligne, en passant par le traitement des données et les fonctions backend, le FaaS peut être utilisé de multiples façons. Avant de choisir un fournisseur FaaS, tenez compte des points suivants :
â Charges de travail : le FaaS convient bien aux tâches simples et répétitives qui demandent peu de travail ou génèrent de nombreuses requêtes. Le FaaS facturant chaque fonction exécutée, les frais liés à une utilisation intensive peuvent être plus élevés qu'avec une solution PaaS. Si votre charge de travail est relativement minime, le FaaS constitue une excellente solution pour simplifier le provisionnement et réduire les coûts.
â Contrôle : le FaaS est l'un des produits cloud les plus abstraits. Réfléchissez au niveau de visibilité et de contrôle que vous souhaitez sur vos configurations et votre infrastructure. Essayez une solution PaaS si vous désirez un peu plus de contrôle que le FaaS tout en conservant la même simplicité d'utilisation. Les équipes qui souhaitent une prise en main complète de leur écosystème de production ainsi que de la conception et du comportement de leur infrastructure s'orienteront vers une solution IaaS.
â Dépendance au fournisseur : ce terme désigne une situation dans laquelle la migration d'applications d'un fournisseur à un autre peut s'avérer difficile. Le recours à des technologies cloud open source facilite le transfert des activités de calcul d'un fournisseur unique vers d'autres.
Articles associés
-
6 technologies facultatives pour le stockage de données
Équipe de la base de connaissances
Découvrir plus d'offres spéciales
-
Short Message Service (SMS) et Service de messagerie
50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00
