Dans le secteur privé, mais aussi et surtout dans la sphère pro­fes­sion­nelle, les tran­sac­tions nu­mé­riques se font de plus en plus souvent dans le Cloud. Divers four­nis­seurs se sont lancés dans la course aux solutions de services in­té­res­santes et pro­met­teuses. La des­crip­tion et la dis­cri­mi­na­tion des dif­fé­rentes offres restent toutefois bien souvent obscures. Il en est par exemple ainsi pour la clas­si­fi­ca­tion du ser­ver­less computing, un service encore très récent, désigné par les experts en tant que Function as a Service (FaaS). Bien que son nom puisse le laisser entendre, il ne s’agit en aucun cas de struc­tures cloud sans serveur. Dans les sections suivantes, nous ferons la lumière sur cette nouvelle tech­no­lo­gie.

Compute Engine
La solution IaaS idéale pour gérer vos charges de travail
  • vCPU aux coûts avan­ta­geux et cœurs dédiés per­for­mants
  • Sans en­ga­ge­ment pour plus de flexi­bi­lité
  • As­sis­tance par des experts 24h/24 et 7j/7 incluse

Qu’est-ce que le concept ser­ver­less ?

Le ser­ver­less computing (en français in­for­ma­tique sans serveur) ou ser­ver­less ar­chi­tec­ture est un modèle de Cloud computing per­met­tant aux uti­li­sa­teurs de créer et d’exécuter des ap­pli­ca­tions ou processus sans entrer en contact avec le serveur sous-jacent. Bien que son nom le laisse supposer, un en­vi­ron­ne­ment Cloud de ce type est bel et bien doté d’un serveur. Toutefois, sa mise à dis­po­si­tion, son di­men­sion­ne­ment et sa gestion relèvent de l’entière res­pon­sa­bi­lité du four­nis­seur. L’approche ser­ver­less va donc plus loin que le modèle de « Platform as a Service » (PaaS), au sein duquel le dé­ve­lop­peur ou le client doit toujours interagir avec les serveurs via une API et doit fournir ou approuver lui-même les res­sources.

Dans la mesure où ces tâches ad­mi­nis­tra­tives de­vien­nent su­per­flues au sein d’une in­fras­truc­ture de ser­ver­less computing, il est possible de se con­cen­trer plei­ne­ment sur le dé­ve­lop­pe­ment et l’exécution du logiciel. Pour cela, il faut toutefois créer, outre le code du programme, des fonctions sans statut, contenant des ins­truc­tions sur la manière dont un programme doit réagir à certains évé­ne­ments. Le code du programme peut ensuite être té­lé­chargé et exécuté dans l’en­vi­ron­ne­ment du Cloud, avec les fonctions sou­hai­tées (qui ne pré­sen­tent aucun lien de dé­pen­dance avec l’in­fras­truc­ture du fait de leur absence de statut). En raison du rôle élé­men­taire des fonctions, certains four­nis­seurs offrent leur service ser­ver­less sous le nom de « Function as a Service (FaaS) ».

Note

Les four­nis­seurs de ser­ver­less computing prennent la res­pon­sa­bi­lité de la dis­po­ni­bi­lité constante des res­sources de serveur né­ces­saires et ga­ran­tis­sent une sécurité in­trin­sèque maximale à leurs clients. La fac­tu­ra­tion a alors lieu selon le modèle pay-per-use, selon lequel les clients ne passent à la caisse que dans la mesure où ils ont réel­le­ment fait usage du service.

Comment fonc­tionne le ser­ver­less computing ?

Élément essentiel d’une ser­ver­less ar­chi­tec­ture, la gestion du matériel doit être réalisée par le four­nis­seur. Pour les uti­li­sa­teurs, le seul défi doit être d’intégrer leurs logiciels ou leur logique et les fonc­tion­na­li­tés cor­res­pon­dantes dans les struc­tures cloud qu’ils louent. L’ac­ti­va­tion de ces fonctions peut se faire de manière...

  • asyn­chrone à l’occasion d’évé­ne­ments
  • ou synchrone suivant le modèle serveur-client tra­di­tion­nel.

La première variante offre l’avantage d’empêcher un couplage trop poussé des dif­fé­rentes fonctions et de maintenir les besoins en res­sources à un niveau minimal sur la durée. Un exemple de fonction possible fondée sur un événement serait la création au­to­ma­tique d’une vignette lors du char­ge­ment d’une image. Suivant le processus de la version tra­di­tion­nelle, le client doit sys­té­ma­ti­que­ment envoyer une demande spéciale au serveur pour ouvrir une fonction cor­res­pon­dante et créer l’affichage miniature.

À l’inverse d’une in­fras­truc­ture de Platform as a Service, le four­nis­seur de ser­ver­less computing ne met pas à la dis­po­si­tion du client un en­vi­ron­ne­ment de travail durable pour la durée totale du processus, mais fournit ponc­tuel­le­ment, en temps réel, les res­sources né­ces­saires pendant la période d’ac­ti­va­tion d’une fonction. En arrière-plan (masqués à l’uti­li­sa­teur), des serveurs physiques et virtuels sont utilisés pour l’exécution des services ser­ver­less et des fonctions demandées.

Ser­ver­less ar­chi­tec­ture : aperçu des avantages et des in­con­vé­nients

Les in­fras­truc­tures cloud tra­di­tion­nelles per­met­tent aux uti­li­sa­teurs d’ex­ter­na­li­ser la gestion du matériel né­ces­saire. Elles exigent cependant bien souvent des dépenses con­si­dé­rables dans les domaines de l’ad­mi­nis­tra­tion et de la micro-gestion. Le ser­ver­less computing permet de réduire ces dépenses au minimum.

Le tableau suivant syn­thé­tise d’autres avantages, ainsi que les lacunes prin­ci­pales du concept ser­ver­less :

Ser­ver­less computing – Avantages Ser­ver­less computing – In­con­vé­nients
Di­men­sion­ne­ment et ad­mi­nis­tra­tion des res­sources né­ces­saires par le four­nis­seur L’accès aux machines vir­tuelles, au système d’ex­ploi­ta­tion et aux en­vi­ron­ne­ments d’exécution est ver­rouillé
Mise à dis­po­si­tion rapide des res­sources en temps réel, même en cas de pointes de con­som­ma­tion et de crois­sance démesurée L’im­plé­men­ta­tion de struc­tures ser­ver­less est très coûteuse
Les coûts facturés cor­res­pon­dent uni­que­ment aux res­sources utilisées Dé­pen­dance élevée par rapport au four­nis­seur (« effet de ver­rouil­lage ») - en cas de chan­ge­ment de four­nis­seur, toutes les fonctions fondées sur des évé­ne­ments doivent être réécrites par exemple.
Tolérance élevée aux erreurs, grâce à l’in­fras­truc­ture ma­té­rielle flexible des centres de données du four­nis­seur Processus de sur­veil­lance et de débogage re­la­ti­ve­ment compliqué, car il n’est gé­né­ra­le­ment pas possible de procéder à des analyses ap­pro­fon­dies des per­for­mances et des erreurs

Le ser­ver­less computing en pratique : où le principe ser­ver­less est-il utilisé ?

Le ser­ver­less computing est avant tout conçu pour l’échange à court terme de données d’ap­pli­ca­tions Web et com­mer­ciales dans le Cloud. Dans la pratique, il ne s’agit pas de traiter des ap­pli­ca­tions ou des séquences de code dans leur in­té­gra­lité (la ser­ver­less ar­chi­tec­ture n’y est d’ailleurs pas du tout adaptée), mais bien de se con­cen­trer sur un certain nombre de fonctions diverses. Cette approche est donc adaptée à la ré­so­lu­tion de plusieurs scénarios, dont ceux ré­per­to­riés dans la liste suivante :

  • API Proxy : de nom­breuses ap­pli­ca­tions com­mer­ciales de première gé­né­ra­tion sont dotées d’API lentes et complexes (in­ter­faces lo­gi­cielles). Avec la ser­ver­less ar­chi­tec­ture et la pas­se­relle API cor­res­pon­dante, vous pouvez créer une couche d’abs­trac­tion al­ter­na­tive pour y accéder via une REST API simple et faciliter ainsi l’accès à d’autres systèmes.
  • Ser­ver­less Backend : de plus en plus souvent, le ser­ver­less computing peut également être utilisé pour concevoir et exploiter la totalité des processus d’arrière-plan d’une ap­pli­ca­tion dans le cloud. Un tel scénario s’appelle aussi plus com­mu­né­ment, Backend as a Service (BaaS).
  • Trai­te­ment de données (non) struc­tu­rées : l’en­vi­ron­ne­ment com­mer­cial moderne ne saurait plus se passer des big data. L’in­fras­truc­ture ser­ver­less s’avère être ici l’un de vos meilleurs alliés pour le trai­te­ment de ce type d’in­for­ma­tions - c’est-à-dire le trans­co­dage, le dé­pla­ce­ment, la com­bi­nai­son ou la ma­ni­pu­la­tion de données struc­tu­rées (JSON, XML, etc.) ou non struc­tu­rées (images, audio, etc.).
  • Exécution de tâches con­for­mé­ment à un planning : Dans la plupart des cas, les fonctions ne sont pas seulement fondées sur des évé­ne­ments, elles peuvent également être exécutées selon un planning défini. Vous pouvez ainsi, par exemple, initier au­to­ma­ti­que­ment le tri de vos bases de données ou encore la création de sau­ve­gardes.
  • In­té­gra­tion d’as­sis­tants lin­guis­tiques et d’agents con­ver­sa­tion­nels (chatbots) : La tech­no­lo­gie ser­ver­less est aussi par­fai­te­ment adaptée à l’in­té­gra­tion d’as­sis­tants lin­guis­tiques nu­mé­riques et d’agents con­ver­sa­tion­nels de type chatbots.
Aller au menu principal