Calcul sans serveur
Qu'est-ce que Functions as a Service (FaaS) ?
Published: octobre 28, 2024
Last updated: 26 novembre 2024
Qu'est-ce que le modèle des fonctions en tant que service (FaaS) ?
Les fonctions en tant que service ou FaaS sont un modèle d'exécution informatique sans serveur qui permet aux développeurs de déployer et d'exécuter facilement des applications sans avoir à gérer les serveurs. En résumé, avec FaaS, vous écrivez le code tandis que le fournisseur de cloud gère automatiquement le déploiement du serveur, l'allocation des ressources et la gestion de l'environnement.
Comment fonctionne FaaS ?
Dans le modèle FaaS, les développeurs écrivent du code sous forme de fonctions, qui sont de petits blocs indépendants conçus pour effectuer une seule opération. Ces fonctions sont déclenchées par des événements, par exemple des requêtes HTTP, des modifications de base de données ou un événement de téléchargement de fichier. Lorsqu'un événement se produit, le fournisseur de cloud alloue immédiatement les ressources nécessaires à la fonction et les libère une fois l'événement de la fonction terminé. Ce modèle informatique permet un déploiement sans serveur piloté par les événements, ce qui implique une facturation par exécution de fonction.
Certains fournisseurs FaaS bien connus sont Amazon AWS Lambda, Microsoft Azure Functions et Google Cloud Functions.
Quelle est la différence entre FaaS et SaaS ?
FaaS et SaaS sont modèles de déploiement dans le cloud computing environnement, même s'ils ont des fonctions différentes.
- FaaS : Il fournit une plateforme pour exécuter du code personnalisé déclenché par des événements spécifiques. Les développeurs d'applications contrôlent le code et l'infrastructure, tandis que la mise à l'échelle est gérée automatiquement et au niveau le plus micro. Les coûts sont déterminés par les ressources réellement utilisées (paiement à l'utilisation).
- SaaS: Fournit des solutions logicielles préconfigurées via une infrastructure cloud. Les utilisateurs travaillent avec l'interface donnée mais ont un contrôle limité sur l'infrastructure sous-jacente. En effet, l'évolutivité est généralement limitée dans les plans d'abonnement, tandis que les coûts sont normalement facturés sur Abonnements.
Quel est le principal avantage de FaaS ?
FaaS est un type d'informatique sans serveur dans lequel les développeurs se concentrent spécifiquement sur l'écriture de code et peuvent avoir très peu de contrôle sur les serveurs. Il permet d'ajuster l'échelle d'activité et repose sur un mécanisme automatique de facturation à l'utilisation en fonction de la charge de travail dans une application.
Quels sont les inconvénients de FaaS ?
Malgré les avantages de FaaS, il est essentiel de discuter de certains inconvénients.
- Verrouillage des fournisseurs: Il peut y avoir des variations dans la manière dont FaaS est implémenté entre différents fournisseurs de cloud, ce qui peut créer des difficultés pour déplacer votre application.
- Démarrages à froid : Le temps de démarrage initial des fonctions dormantes peut être prolongé, ce qui entraîne un retard de rétroaction pour les individus.
- Débogage et surveillance: Une application serverless distribuée peut être plus complexe à déboguer et à surveiller qu'une application monolithique.
- Apparence d'état : Préserver l'état dans les exécutions de la fonction est assez complexe et des efforts supplémentaires doivent être faits lors de la conception d'une application.
Malgré ces inconvénients, FaaS est largement utilisé lors de la création d'applications de haute technologie, évolutives et rentables, en particulier dans les cadres axés sur les événements et les clients.
Conclusion
FaaS est une extension de l'architecture sans serveur où les développeurs peuvent créer et déployer des applications sans acquérir de serveurs. FaaS dissimule l'infrastructure pour l'utilisation de la mise à l'échelle automatisée, du cercle de développement et du coût basé sur les ressources. Vous pouvez déployer FaaS dans le développement de solutions cloud évolutives et axées sur les événements, mais cela ne convient pas à tous les types d'applications.