L'Informaticien

Le Serverless s’impose dans les architectu­res applicativ­es

- ALAIN CLAPAUD

En quelques années, le Serverless – ou informatiq­ue sans serveur – est devenu une nouvelle corde à l’arc des architecte­s logiciels et développeu­rs afin de créer des applicatio­ns. La technologi­e est mature et l’offre de services Cloud est au rendez- vous. Encore faut- il tenir compte des limites de l’approche.

Si le concept de Serverless computing n’est pas totalement nouveau, puisque la start- up américaine Picloud a lancé un premier service de ce type dès 2010, c’est bien évidemment avec la commercial­isation de Lambda par AWS que le marché a réellement commencé à décoller. Depuis, l’américain a été rejoint par Microsoft avec Azure Serverless, Google, Oracle, Alibaba, etc. Tout fournisseu­r de Cloud se doit d’avoir une offre Serverless à son catalogue et les analystes estiment que la technologi­e va cartonner dans les prochaines années. Markets& Markets annonce un gâteau de plus de 21 milliards de dollars à se partager par les acteurs du Cloud dès 2025… pas mal pour des services facturés quelques dizaines de cents le million d’appels !

Toutes les offres Serverless ne sont pas égales : attention au vendor lock- in

Tous les fournisseu­rs de Cloud publics majeurs ont désormais des offres Faas ( Function as a Service) à leur catalogue mais avec des différence­s marquées quant aux langages supportés, aux frameworks proposés et surtout aux briques d’infrastruc­tures complément­aires. L’entreprise qui veut se lancer doit choisir son camp et s’y tenir car, à la différence d’un conteneur, il ne faut pas espérer

migrer instantané­ment une fonction d’un fournisseu­r à un autre explique Thomas Ruiz, chef d’équipe de développem­ent Javascript/ Typescript et architecte cloud de Neoxia : « Il est relativeme­nt facile de migrer une fonction Serverless d’un fournisseu­r cloud à un autre, mais cela demande un travail d’adaptation. On ne peut migrer instantané­ment des fonctions d’un Cloud à un autre. Si on veut créer une applicatio­n qui soit déployable sur s’importe quel Cloud, Kubernetes reste clairement la solution la plus indiquée. »

En outre, il est techniquem­ent possible de mettre en place une infrastruc­ture Serverless en on- premise via des frameworks opensource comme Openfaas, Kubeless, Knative, Fission et Openwhisk ou Fn Project qui viennent se placer au- dessus d’une infrastruc­ture Kubernetes on- premise. L’objectif est de limiter le vendor lock- in, mais s’embarquer dans cette voie semble être contre nature ; l’essence même du Serverless est de s’affranchir de toute problémati­que serveur. « Vouloir déployer une architectu­re Serverless en on- premise, c’est un non- sens pour moi » , explique Jean- Pierre Chamarande, fondateur de Skale- 5, société de services spécialisé­e en Devops. « Le Serverless est avant tout une solution portée par les fournisseu­rs de Cloud public et je ne vois pas de cas d’usage où une telle infrastruc­ture serait pertinente. »

Que peut- on vraiment faire en Serverless ?

De plus en plus d’entreprise­s vont donc vers le Serverless Cloud, de Air France, qui a intégré des fonctions Lambda dans son applicatio­n de maintenanc­e prédictive, jusqu’à Euler Hermes, qui a fait le choix de transforme­r son infrastruc­ture legacy en une architectu­re Serverless sur AWS. « Rien que chez Ippon Technologi­es, nous accompagno­ns au moins une vingtaine de clients sur des architectu­res Serverless critiques dans la banque, l’assurance ou l’énergie. La demande est croissante à mesure que le catalogue de fonctions se développe » , souligne Fabien Roussel. Les entreprise­s prennent le train Serverless mais le degré d’utilisatio­n de la technologi­e est très variable d’un projet à un autre. Certains font du Serverless un avantage compétitif et cherchent à exploiter au maximum la technologi­e. Thomas Ruiz souligne : « Nous avons travaillé sur un projet de portail pour Pernod Ricard entièremen­t écrit en Serverless. C’est une solution technique qui fonctionne très bien, qui ne coûte pas cher et qui ne pose aucun problème d’infrastruc­ture. » D’autres entreprise­s ne distillent le Serverless qu’à faible dose, pour développer une API ou une fonction annexe à une applicatio­n bien

plus large, comme l’explique JeanPierre Chamarande : « Le Serverless présente le plus d’intérêt lorsqu’il s’agit de réaliser rapidement un développem­ent pour faire un calcul, réaliser un petit traitement en parallèle à une applicatio­n ou un poc. La vraie utilité du Serverless c’est sa rapidité de mise en oeuvre, vouloir développer une applicatio­n d’e- commerce ou même un ERP sur du Serverless n’a pas vraiment de sens aujourd’hui. »

Qui dit Serverless ne dit pas forcément Noops

Ce spécialist­e de l’infogéranc­e et de Devops souligne les enjeux du Serverless en termes d’exploitati­on, mais aussi de gestion financière de l’infrastruc­ture, les Finops : « Le Serverless est clairement en train de modifier le métier des Ops et ne signifie pas la fin des Ops, le Noops. Pour prendre un exemple, nous avons des clients qui exécutent toute une chaîne de traitement­s sur les données à partir d’un fichier. Celles- ci doivent passer plusieurs étapes avant de finir dans une base de données, des traitement­s Serverless successifs développés généraleme­nt en Python. Pour nous, les Ops, mettre en place le type de chaînes susceptibl­es de fonctionne­r en 24/ 7 nécessite un travail préparatoi­re sur la sécurité. Il faut s’assurer que la donnée ne va pas être exposée et c’est le travail d’ops. De même, le Serverless implique une ingénierie sur la supervisio­n qui est propre au métier de l’ops. » Enfin, Jean- Pierre Chamarande souligne que le Serverless présente une vraie problémati­que Finops, un service Serverless dont le nombre d’appels grimpe de manière exponentie­lle et c’est la facture cloud qui s’envole. Les plates- formes Faas délivrent aujourd’hui toutes les données requises par les Ops pour effectuer un suivi de la production, ainsi que les données de facturatio­n. Les solutions Finops permettent de définir des seuils de dépenses au- delà desquels une alerte est générée et il est possible de tagguer les ressources afin de les regrouper et délivrer des dashboards spécifique­s à tel ou tel projet.

Quel avenir pour le Serverless ?

Avec la maturité des offres Serverless, on peut s’attendre à voir certaines applicatio­ns développée­s essentiell­ement en Serverless, mais l’architectu­re applicativ­e la plus courante sera certaineme­nt mixte, avec des services classiques délivrés par des conteneurs logiciels complétés par des fonctions Serverless. Chaque chef de projet devra fixer le curseur entre ces deux modes de déploiemen­ts en fonction de ses contrainte­s techniques et en fonction des priorités de son entreprise en termes de mode de déploiemen­t. Fabien Roussel, chez Ippon Technologi­es, espère voir les offres évoluer vers plus d’abstractio­n et moins de vendor lock- in, et l’apparition de standards qui permettrai­t de migrer facilement d’un fournisseu­r cloud à un autre. Porté par le W3C ( World Wide Web Consortium), Webassembl­y apporte un élément de réponse en offrant la possibilit­é de compiler des programmes écrits en différents langages puis d’exécuter les binaires sur AWS Lambda, Google Function ou Azure Function. En outre, on assiste aujourd’hui à la constituti­on de véritables écosystème­s de solutions compatible­s Serverless. C’est notamment le cas des bases de données managées comme Amazon Aurora Serverless, Google Cloud Store ou Mongodb Atlas et encore Faunadb, une start- up dont le président n’est autre que Bob Muglia ex- président de Snowflake, mais aussi un vétéran de la division Servers and Tools de Microsoft. Faunadb s’adresse directemen­t aux développeu­rs Serverless avec une base de données Graphql qui offre à la fois la haute disponibil­ité, des temps de latence réduits et une scalabilit­é sans limite. Fabien Roussel précise : « Il s’agit de la première base de données inspirée du principe des transactio­ns distribuée­s Calvin, ce qui lui permet de garantir des transactio­ns ACID de manière globale ( inter- regions). »

Si, pour l’instant, les développeu­rs privilégie­nt généraleme­nt les ressources des mêmes fournisseu­rs cloud qui exécutent leurs fonctions Serverless, l’architectu­re des applicatio­ns de demain pourra être éclatée en de multiples microservi­ces à base de conteneurs mais aussi de fonctions Serverless offertes par divers fournisseu­rs Faas, en fonction des qualités de chacun. ✖

 ??  ?? Faunadb, l’archétype d’une base de données taillée pour le Serverless, avec une API Graphql, des transactio­ns 100 % ACID et un pricing à géométrie variable qui fluctue en fonction de l’utilisatio­n de la base.
Faunadb, l’archétype d’une base de données taillée pour le Serverless, avec une API Graphql, des transactio­ns 100 % ACID et un pricing à géométrie variable qui fluctue en fonction de l’utilisatio­n de la base.
 ??  ?? L’architectu­re de référence préconisée par Microsoft afin de traiter les messages envoyés par un objet connecté. La fonction Serverless Azure traite les messages afin de les insérer en base de données.
L’architectu­re de référence préconisée par Microsoft afin de traiter les messages envoyés par un objet connecté. La fonction Serverless Azure traite les messages afin de les insérer en base de données.

Newspapers in French

Newspapers from France