FaaS est un service de backend sans serveur permettant aux développeurs d'écrire à la volée des morceaux de code modulaires qui peuvent être exécutés en réponse à certains événements.
Cet article s'articule autour des points suivants :
Copier le lien de l'article
La fonction en tant que service (FaaS) est un moyen sans serveur d'exécuter des morceaux de code modulaires en périphérie. FaaS permet aux développeurs d'écrire et de mettre à jour un morceau de code à la volée, qui peut ensuite être exécuté en réponse à un événement, tel qu'un utilisateur qui clique sur un élément d'une application web. Il est ainsi facile d'adapter le code et constitue un moyen économique de mettre en œuvre des micro-services.
Si une application web était une œuvre d'art plastique, l'utilisation d'une architecture de micro-services reviendrait à faire de l'art à partir d'une collection de carreaux en mosaïque. L'artiste peut facilement ajouter, remplacer et réparer un carreau à la fois. L'architecture monolithique reviendrait à peindre l'ensemble de l'œuvre sur une seule pièce de toile.
Cette approche consistant à créer une application à partir d'un ensemble de composants modulaires est connue sous le nom d'architecture de micro-services. La division d'une application en micro-services est attrayante pour les développeurs car elle leur permet de créer et de modifier de petits morceaux de code qui peuvent être facilement mis en œuvre dans leurs bases de code. Cela s'oppose à l'architecture monolithique, dans laquelle tout le code est imbriqué dans un grand système. Avec les grands systèmes monolithiques, même une modification mineure de l'application nécessite un processus de déploiement lourd. FaaS élimine cette complexité de déploiement.
Avec un code sans serveur comme FaaS, les développeurs web peuvent se concentrer sur l'écriture du code de l'application, tandis que le fournisseur sans serveur s'occupe de l'allocation des serveurs et des services backend.
Avec FaaS, les développeurs peuvent passer plus de temps à écrire la logique des applications et moins de temps à se soucier des serveurs et des déploiements. Cela signifie généralement un délai de développement beaucoup plus rapide.
Le code FaaS étant par nature évolutif, les développeurs n'ont pas à se soucier de créer des contingences pour un trafic élevé ou une utilisation intensive. Le fournisseur sans serveur se chargera de tous les problèmes d'évolutivité.
Contrairement aux fournisseurs traditionnels de cloud, les fournisseurs de FaaS sans serveur ne facturent pas à leurs clients les temps morts d'utilisation. De ce fait, les clients ne paient que le temps de connexion qu'ils utilisent et n'ont pas besoin de gaspiller de l'argent en surchargeant les ressources du cloud.
Le fait qu'une tierce partie gère une partie de l'infrastructure rend difficile la compréhension de l'ensemble du système et ajoute des difficultés de débogage.
Il peut être très difficile d'intégrer le code FaaS dans un environnement de test local, rendant les tests approfondis d'une application plus ardus.
Les développeurs doivent nouer des relations avec un fournisseur sans serveur afin d'activer la fonctionnalité FaaS pour une application web. Étant donné que l'intégration FaaS signifie qu'une partie du code de l'application sera fournie par la périphérie, la disponibilité et la répartition géographique des serveurs latéraux sont des facteurs importants à prendre en considération. Un utilisateur en Italie qui accède à un site reposant sur le code FaaS en périphérie, servi à partir d'un datacenter surchargé au Brésil, rencontrera le type de retard qui entraîne des taux de rebond élevés. Cloudflare Workers est une solution FaaS qui tire parti du réseau mondial de Cloudflare, qui compte plus de 194 serveurs de périphérie, ce qui en fait un choix populaire.