Comment fonctionne le serverless computing ?

Étiqueté par le cabinet de conseil Gartner comme l’une des grosses tendances dans l'infrastructure et les opérations, le serverless computing a le vent en poupe et fait beaucoup parler de lui. La course pour gagner des parts de ce précieux marché fait rage entre les géants de l’informatique. Comment fonctionne le serverless computing ? Quel est l’impact de cette architecture pour les utilisateurs et les développeurs ? Quels sont les concepts à connaître et à maîtriser ? Nous vous expliquons ces différents aspects dans cet article.

 

computer-screens-desk-1300px

Qu’est-ce que le serverless computing ?

Le serverless computing — littéralement calcul informatique sans serveur en français — consiste dans l’usage d’une infrastructure externe pour développer et faire tourner des applications. Contrairement à ce que l’appellation laisse sous-entendre, le serverless computing utilise bien des serveurs mais la gestion et l’opération de ces serveurs sont déléguées à une tierce partie.

 

Le serverless computing fonctionne sur un modèle de serveurs à la demande. On parle de Function as a Service (FaaS) bien que ce concept n’englobe qu’une partie de ce que permet le serverless computing et que le terme ne soit pas encore totalement généralisé. Si beaucoup font l’amalgame entre les deux notions, la plupart des spécialistes insistent sur le fait que serverless computing et FaaS constituent deux choses bien distinctes. Nous n’aborderons pas ces technicités dans le cadre de cet article.

 

Le calcul sans serveur facilite grandement le travail des développeurs en ce qu’il enlève de l’équation tous les défis liés à la gestion des serveurs, leur sécurité et la scalabilité. Les avantages en termes de coûts se révèlent considérables d’autant plus si l’on ne fait pas partie d’une entreprise de taille importante. 

 

Comme l’indique Gartner : « Le serverless computing permet aux développeurs de se concentrer sur ce qu’ils devraient faire — en l’occurrence écrire du code et optimiser le design des applications — et ouvre la voie pour la flexibilité commerciale ». Toujours selon le cabinet de conseil, plus de 50% des entreprises utiliseront le serverless computing d’ici à 2025.

 

Pour plus de détails sur ce qu’est le serverless computing et les avantages et inconvénients du serverless computing, nous vous renvoyons à notre article approfondi sur le sujet : Serverless, une infrastructure cloud.

Comment fonctionne le serverless computing ?

Les entreprises qui utilisent le serverless computing outsourcent (externalisent) leurs composants backend. On inclut dans cette catégorie les bases de données, les calculs, le stockage ou encore le traitement des flux de données. L’utilisateur se concentre donc sur la conception. Certains recourent d’ailleurs au terme Backend as a Service (BaaS).

 

On peut comparer très simplement cette dynamique à celle d’un grand restaurant. Vous êtes chargé de l’intitulé du menu, du décor, de l’ambiance et de la création des plats et leur présentation mais vous déléguez tout le travail en cuisine. Une autre équipe s’occupe d’éplucher les pommes de terre, de s’assurer de la fraîcheur et de la disponibilité des produits, de faire monter la sauce et de cuire votre entrecôte ou votre steak végétal à la perfection. Cerise sur le gâteau, vous les payez à l’heure et uniquement quand ils travaillent.

 

Présenté comme cela, le serverless computing donne l'envie de se pourlécher les babines et on comprend que son usage soit appelé à croître. La majeure contrainte à garder à l’esprit réside dans le fait que vous entrez dans une relation de dépendance par rapport à une entreprise tierce. En déléguant, vous augmentez le champ des possibles mais vous perdez aussi une partie de votre autonomie. Le serverless computing présente également certaines limites lorsqu’on pense à des applications complexes. Imaginer une architecture qui repose uniquement sur le serverless computing reste fort risqué et difficile à mettre en œuvre en 2020.

 

Le serverless computing fonctionne sur une base dite event driven, soit lorsqu’un événement se produit, une fonction s’exécute. Il se distingue dans ce sens de l’usage de Machines Virtuelles (Virtual Machine, VM) ou de modèles PaaS (Platform as a Service) par exemple. Le concepteur ou le développeur loue en quelque sorte un espace pour exécuter une fonction et ne paye que lorsque la fonction est effectivement utilisée. Le concept sous-jacent est donc que l’usager ne paye pas pour le serveur en tant que tel mais bien pour le service qu’il propose. Le développeur doit donc créer le code de l’application et les fonctions sans état (ou neutres) associées.

 

À l’heure actuelle, le serverless computing concerne principalement des applications encore très simples. On peut citer les exemples suivants :

  • Intégration d’un chatbot ;
  • Traitement en temps réel de données structurées ou non structurées ;
  • Exécution automatique de tâches, notamment pour les communications Machine to Machine, M2M ;
  • Disponibilité des données dans différents formats.

 

Ces quelques illustrations ne représentent qu’une infime fraction de ce que le serverless computing peut réaliser. En pratique, le serverless computing représente une forme d’évolution du modèle PaaS et convient parfaitement à n’importe quelle application dont la charge de travail est volatile ou cyclique. Le serverless computing permet une rationalisation des coûts alors que le modèle PaaS reste plus rigide. 

 

De nombreuses grandes entreprises utilisent actuellement le serverless computing. Le pourcentage s'élève à 40% selon une étude conduite par O’Reilly, maison d’édition spécialisée en informatique. On cite souvent des noms connus comme Coca-cola ou encore Autodesk en tant qu’exemples d’utilisateurs. Netflix est un autre exemple concret. L’entreprise utilise AWS Lambda pour adapter et redimensionner ses images par rapport à l’interface. Cette fonction est exécutée à la demande ce qui évite de stocker un nombre astronomique de fichiers médias.

computing-1300px

Le marché du serverless computing en bref

En 2020, quelques acteurs dominent largement le segment du serverless computing. Il s’agit d’AWS Lambda (Amazon), Microsoft Azure, IBM Cloud Functions et Google Cloud Platform. Amazon fut l’un des pionniers dans le domaine et reste clairement le fournisseur de référence actuellement. Néanmoins, le marché est en pleine expansion et ses concurrents espèrent bien occuper une place de choix dans les années à venir. L’entreprise Technavio a estimé le taux de croissance annuel du marché à 26% pour la période 2019-2023.

Ryax et le serverless computing

Ryax se targue d’améliorer constamment sa plateforme de data engineering. Notre framework utilise les dernières technologies serverless afin de permettre un déploiement rapide et fiable de n’importe quel code, script ou conteneur en production.

 

Nous nous chargeons de la scalabilité et de la sécurité. Notre plateforme est compatible avec un grand nombre de langages de programmation et hautement adaptative.

 

Si vous souhaitez en savoir plus sur les technologies employées par Ryax, n’hésitez pas à demander notre fiche produit détaillée ou à nous contacter afin d’en discuter.

La Ryax Team.