FaaS (Fonction en tant que service)

En savoir plus sur les avantages et les défis uniques de ce modèle de service de Cloud computing et évaluer l'adéquation du FaaS pour une variété de méthodes de développement et de déploiement d'applications.

Présentation du FaaS :

  • Le FaaS est un type de service de Cloud computing dans lequel le fournisseur de services Cloud (CSP) possède et gère tous les aspects de l'environnement informatique, y compris l'infrastructure matérielle, le middleware, le système d'exploitation et même les applications.

  • Le FaaS peut être un choix économique pour les modèles d'utilisation intermittents ou imprévisibles qui se caractérisent par de brèves périodes d'activité, car l'utilisateur ne paie que pour le temps d'exécution ou de traitement nécessaire à la réalisation de travaux utiles.

  • Les utilisations courantes du FaaS comprennent le traitement, la validation et le tri des données, ainsi que le support back-end pour les applications mobiles et IoT.

author-image

Par

Qu'est-ce que le FaaS ?

Différents types de Cloud computing ont gagné en popularité ces dernières années, les responsables informatiques adoptant les avantages en termes de commodité, d'évolutivité et de coûts de cette approche flexible de la gestion de l'infrastructure.

Les fournisseurs de services Cloud (CSP) ont réagi en proposant une variété de modèles de services Cloud, chacun avec son propre niveau de service. La Fonction en tant que service (FaaS) constitue l'une des offres les plus complètes.

Dans le modèle FaaS, les clients exécutent le code dans le Cloud, tandis que le CSP héberge et gère l'ensemble des opérations de back-end, de l'infrastructure aux applications. Les clients ne sont responsables que de leurs propres données et des fonctions qu'ils exercent.

En général, le client FaaS ne paie que pour le temps d'exécution réel nécessaire à l'exécution de la « fonction » dans la Fonction en tant que service. L'exécution peut prendre une fraction de seconde, et le système FaaS peut évoluer rapidement pour accueillir plusieurs instances simultanément. Le client n'a pas à payer de frais permanents pour le temps d'inactivité entre l'exécution d'une fonction et la suivante.

Cette tarification en fonction des événements fait de ce modèle de service Cloud un choix économique pour les développeurs qui ont des besoins de traitement intermittents ou sporadiques.

Les utilisations courantes du FaaS comprennent le traitement, la validation et le tri des données, ainsi que le support back-end pour les applications mobiles et IoT.

« L'informatique sans serveur » qui fonctionne sur des serveurs

Le modèle FaaS est considéré comme « sans serveur » du point de vue du client, car le CSP gère l'infrastructure, la plateforme, le système d'exploitation et les applications logicielles du Cloud, qui peuvent tous être opaques pour l'utilisateur.

Cependant, « informatique sans serveur » est un terme mal choisi. Même si les utilisateurs du FaaS ne gèrent pas ou ne voient même pas le matériel, le modèle FaaS fonctionne bien sur des serveurs. Le matériel est détenu, exploité et géré par le CSP, ce qui permet aux clients de profiter pleinement de la fonctionnalité à la demande, sans avoir à acheter ou à entretenir leurs propres serveurs.

Le « service » qui fait l'objet du « S » majuscule dans « FaaS » est le service commercial, comme dans le fournisseur de « services » Cloud (CSP). Le service y est l'unité de consommation. Vous ne payez pas pour le serveur mais pour la chose qu'il héberge. »1

Que sont les microservices ?

Les microservices font partie d'une architecture d'application, dans laquelle une section du code de l'application fonctionne de manière quelque peu indépendante des autres fonctions. Lors du développement d'une application complexe, l'approche des microservices permet d'isoler différentes fonctions les unes des autres, de sorte que l'ensemble de l'application continue de fonctionner même si un service tombe en panne.

Un environnement de développement logiciel basé sur les microservices peut être implanté dans le contexte d'une architecture orientée services. Les applications complexes sont construites et gérées comme une collection de services distincts vaguement intégrés via des interfaces de programmation d'applications (API). Les applications logicielles orientées services et les microservices qui les composent sont plus faciles à gérer et à mettre à niveau, car les services individuels peuvent être corrigés ou actualisés sans qu'il soit nécessaire d'arrêter l'ensemble de l'application.

De nombreux modules de microservices peuvent être développés et fournis efficacement dans un environnement FaaS. Dans de nombreux cas, les microservices sont conteneurisés, ou isolés davantage, pour améliorer le contrôle de chaque partie individuelle de l'application plus vaste.

Comment fonctionne la Fonction en tant que service ?

Du point de vue de l'utilisateur, la Fonction en tant que service est un environnement préconstruit pour le développement ou le déploiement de logiciels. Le CSP possède et gère l'ensemble de la pile technologique, y compris le matériel, le middleware et les logiciels.

Dans d'autres modèles de services Cloud, l'utilisateur paie, sur une période définie, pour un accès permanent à certaines machines virtuelles ou conteneurs et pour les ressources qu'ils consomment. Dans le modèle FaaS, les clients ne paient que pour le temps et les ressources nécessaires à la production d'une fonction.

Dans la structure tarifaire d'un CSP, par exemple, la durée d'une fonction et le déploiement de ses ressources sont mesurés en « gigaoctets secondes », arrondis à la milliseconde supérieure2.

Avantages du FaaS

Les utilisateurs du FaaS bénéficient d'un modèle de tarification à l'usage qui distingue ce type de Cloud computing des autres modèles « en tant que service ». Le CSP possède et gère l'ensemble de la pile technologique, du matériel aux logiciels et outils d'application, les utilisateurs n'ayant à gérer que leurs propres données et fonctions.

Les utilisateurs ne paient que pour le temps de fonctionnement actif des fonctions ou des services dans l'environnement FaaS. Ces pics d'activité sont souvent mesurés en millisecondes. L'utilisateur ne paie pas pour le temps d'inactivité entre ces pics.

La solution FaaS est la mieux adaptée aux charges de travail imprévisibles et intermittentes.

Défis du FaaS

Pour les charges de travail prolongées et ininterrompues, un autre modèle « en tant que service » pourrait être plus économique que le FaaS. L'utilisation du FaaS étant souvent mesurée et payée par incréments de quelques millisecondes, et le FaaS étant beaucoup plus cher qu'un service Cloud IaaS classique, l'utilisation constante peut devenir prohibitive.

Les déploiements FaaS peuvent également être difficiles à déboguer car la composition de l'environnement de développement est opaque pour l'utilisateur. Lorsque des tests approfondis sont nécessaires, il est préférable d'utiliser un modèle de Cloud computing différent, afin que l'utilisateur puisse spécifier et contrôler une variété d'écosystèmes standard. En revanche, si la technologie logicielle est mature et totalement indépendante de la plateforme, le FaaS peut être une bonne solution.

Cas d'utilisation du FaaS

La fonctionnalité à la demande est un modèle d'utilisation global qui convient bien à un environnement FaaS. Dans une configuration à la demande, les fonctions sont activées et désactivées rapidement et par intermittence. L'utilisateur du FaaS ne paie que pour le temps au cours duquel la fonction est active, de sorte que le modèle à la demande constitue une utilisation économique du FaaS.

Les sites web interactifs sont un exemple de modèle d'utilisation à la demande, notamment pour l'exécution du back-end. Le FaaS n'est activé que lorsqu'un utilisateur final clique sur le site Web et déclenche un événement de courte durée. Les éditeurs de médias en ligne et les sites de e-commerce profitent du modèle FaaS pour sa flexibilité, car les utilisateurs accèdent à leur site selon un horaire imprévisible. Par exemple, une entreprise qui fournit des médias en streaming peut gérer son site principal, avec ses menus utilisateurs et ses recommandations, sur le plan FaaS d'un CSP.

Les tâches de traitement et de validation des données peuvent très bien s'adapter à un modèle FaaS. Une installation de l'Internet des objets (IoT) qui envoie par intermittence des données de capteurs au Cloud pour analyse pourrait constituer un cas d'utilisation.

Le développement de logiciels peut également être déployé dans un cadre FaaS, sous réserve que la charge de travail de développement soit intermittente.

Le déploiement de logiciels peut s'inscrire dans le cadre du modèle FaaS pour la fourniture de microservices. Les fournisseurs de Logiciels en tant que service (SaaS) peuvent également gérer leurs propres opérations sur une base FaaS au cours de la phase de démarrage lorsqu'ils ajoutent rapidement de nouveaux utilisateurs et que le logiciel est utilisé de manière irrégulière, par intermittence.

Types de Cloud Computing

Les services de Cloud computing peuvent être divisés en deux catégories de base : publics et privés. De nombreuses organisations déploient une combinaison de ces deux modèles de services Cloud, dans des configurations hybrides ou multicloud.

Cloud public

Dans un modèle de service de Cloud public, l'utilisateur paie pour l'utilisation des ressources informatiques, de stockage et de réseau du CSP. Les services de Cloud public sont disponibles à la demande. Ils peuvent donc être déployés rapidement et budgétisés comme une dépense d'exploitation avec peu d'investissement initial.

Cloud privé

En revanche, un Cloud privé fonctionne dans le propre centre de données de l'organisation, ce qui nécessite un investissement initial important en matériel ainsi qu'une gestion continue. À long terme, un Cloud privé peut être plus économique que les modèles de services de Cloud public dans certains cas.

Les avantages d'un Cloud privé incluent le contrôle localisé de la propriété intellectuelle et la conformité réglementaire, ainsi que la prise en charge des charges de travail et des applications critiques pour l'entreprise qui ne peuvent pas migrer facilement vers le Cloud public.

Cloud hybride

Avec un Cloud hybride, les entreprises bénéficient des avantages des modèles de services de Cloud public et privé. Le Cloud hybride relie les Cloud publics et privés pour permettre à une organisation de partager des applications et des données entre les deux environnements. Les Cloud hybrides offrent flexibilité, évolutivité, contrôle et économies potentielles.

Multicloud

Dans un modèle multicloud, l'organisation profite des services de Cloud computing de plusieurs CSP différents. Le déploiement des ressources est généralement géré dans un logiciel. La stratégie multicloud est extrêmement souple, car l'entreprise peut équilibrer ses charges de travail et optimiser ses coûts sans être enfermée dans l'offre de services ou la pile technologique d'un seul CSP.

De nombreuses entreprises définissent des instances basées sur la technologie Intel® pour chaque CSP lors du déploiement multicloud afin d'assurer la cohérence et la compatibilité entre les fournisseurs.

IaaS, PaaS et SaaS

De nombreux CSP offrent un éventail de choix en matière de Cloud computing « en tant que service », allant du simple accès au matériel de serveur à des options complètes et à grande échelle telles que le FaaS.

Infrastructure en tant que service (IaaS)

Le service de Cloud computing le plus courant et le plus basique est connu sous le nom d'Infrastructure en tant que service (IaaS). Dans le modèle IaaS, le CSP possède et gère tout le matériel, y compris les serveurs, les réseaux et le stockage. L'utilisateur est responsable de la pile logicielle, y compris les abonnements, les licences, les mises à niveau et la maintenance de tous les systèmes d'exploitation et applications ainsi que des données et fonctions de l'organisation.

Les administrateurs informatiques se tournent vers l'IaaS comme alternative à l'achat et à la maintenance de matériel sur site ou en colocalisation, avec les dépenses d'investissement associées. L'IaaS est un modèle flexible qui peut évoluer en fonction des besoins de l'utilisateur, et les frais du CSP sont traités comme une dépense opérationnelle dans le budget de l'organisation.

Plateforme en tant que service (PaaS)

La Plateforme en tant que service (PaaS) est un modèle de services Cloud offrant un environnement de développement et de déploiement plus complet. Les offres PaaS des CSP comprennent généralement toute l'infrastructure matérielle de l'IaaS ainsi que des composants de base qui constituent la plateforme logicielle : le système d'exploitation, le middleware, les outils de développement et certains types de services de gestion et d'analyse des données.

Les utilisateurs du PaaS continuent de gérer la couche applicative de la pile logicielle, ainsi que leurs propres données et fonctions, comme ils le feraient dans un dispositif IaaS.

Logiciel en tant que service (SaaS)

Le SaaS, ou Logiciel en tant que service, est probablement le modèle de services de Cloud computing le plus répandu. Il existe des exemples de déploiement SaaS dans presque toutes les organisations, y compris celles qui rejettent l'IaaS en faveur de la possession et de la gestion d'une infrastructure de serveurs robuste sur site.

Certaines applications, telles que la messagerie électronique, la gestion de la relation client, les suites de productivité et le stockage de fichiers, sont fournies de manière pratique dans un modèle SaaS. L'organisation paie des frais de licence pour une période donnée, et les applications sont mises à disposition dans le Cloud. Les utilisateurs et les équipes informatiques évitent les téléchargements et les installations fastidieuses, et n'ont pas à gérer les mises à jour.

Technologies Intel® pour le FaaS

Les composants de la plateforme ne sont pas spécifiés en détail dans la plupart des offres FaaS des CSP. Les utilisateurs ne peuvent généralement pas choisir une technologie matérielle spécifique pour leurs machines virtuelles. Certaines caractéristiques du matériel Intel®, comme les accélérateurs Intel® AVX-512 et AVX2, optimisent les performances et améliorent la satisfaction des utilisateurs. C'est pourquoi certains CSP préfèrent proposer leurs offres de services FaaS sur des plateformes basées sur la technologie Intel®.

Même si les développeurs de logiciels ne peuvent pas définir de machines virtuelles basées sur la technologie Intel® dans un environnement FaaS, ils peuvent demander au CSP l'accès aux bibliothèques de code optimisées par Intel. Certaines de ces bibliothèques sont disponibles dans la suite Intel® oneAPI toolkits et comprennent du code d'amélioration des performances pour accélérer les routines mathématiques complexes, la compression, le chiffrement et d'autres tâches de calcul intensif. Ces optimisations peuvent permettre à l'utilisateur d'économiser du temps d'exécution et de l'argent sur les implémentations FaaS.

FAQ

Foire aux questions

Non, le FaaS n'est pas un microservice, mais les deux types de services de Cloud computing sont liés. Les microservices sont des parties modulaires d'applications plus complexes qui peuvent être développées ou déployées dans un environnement FaaS.

Le FaaS est un type de service de Cloud computing dans lequel le fournisseur de services Cloud (CSP) possède et gère tous les aspects de l'environnement informatique, y compris l'infrastructure matérielle, le middleware, le système d'exploitation et même les applications.

D'une part, les offres PaaS et FaaS comprennent l'accès à l'infrastructure matérielle ainsi que la plateforme logicielle de base, y compris le système d'exploitation, le middleware et certains outils et services.

Les utilisateurs du PaaS continuent de gérer la couche applicative de la pile logicielle, tandis que les utilisateurs du FaaS ne sont responsables que de leurs propres données et fonctions.

Oui, le modèle FaaS est considéré comme sans serveur car le CSP gère l'ensemble de la pile matérielle et logicielle. Le FaaS fonctionne en réalité sur des serveurs, mais le matériel est détenu et géré par le CSP, de sorte que les utilisateurs perçoivent une expérience informatique sans serveur.