Le cloud computing serverless offre une alternative aux méthodes et infrastructures informatiques traditionnelles, ce qui libère du temps pour permettre au personnel informatique de se consacrer à des tâches plus importantes. Il gagne ainsi en popularité dans les secteurs d’activité et les tendances du marché.
Une enquête d’O’Reilly a révélé que 40 % des personnes interrogées travaillaient dans une entreprise ayant adopté une architecture serverless. Et une enquête de Datadog a découvert que 50 % des utilisateurs d’AWS utilisaient la fonction serverless. Par ailleurs, Precision Reports prévoit que la taille du marché mondial de l’architecture serverless atteindra 10 290 millions de dollars US en 2026, contre 3 570 millions de dollars US en 2019, avec un TCAC de 16,2 % sur la période 2021-2026.
Sur un marché qui évolue aussi rapidement, il peut être difficile de déterminer quel fournisseur serverless vous convient. Gardez à l’esprit les besoins spécifiques de votre entreprise lorsque vous évaluez les principaux facteurs de différenciation de chaque solution.
Principaux fournisseurs serverless
Les principaux fournisseurs serverless sont notamment les suivants :
- Red Hat
- Cloudflare Workers
- AWS Lambda
- Oracle Cloud Functions
- Back4App
- Kinvey
- Microsoft Azure Functions
- Google Cloud Functions
- IBM Cloud Functions
- Knative
- Parse
Red Hat
Red Hat fournit des fonctionnalités serverless par l’intermédiaire de Red Hat OpenShift Serverless, proposé dans le cadre d’un abonnement OpenShift. La solution permet une installation en un clic sur OpenShift via un Operator.
Outre l’interface de ligne de commande (CLI), elle offre une expérience de développement et de déploiement serverless via la DevConsole d’OpenShift.
Principaux facteurs de différenciation
- Les conteneurs sont faciles à utiliser grâce à une expérience développeur simplifiée permettant de déployer des applications et du code sur des conteneurs serverless, en faisant abstraction de l’infrastructure pour se concentrer sur l’essentiel.
- Effectuez facilement des tests canary, A/B ou blue-green avec un déploiement progressif du trafic, tout en respectant les bonnes pratiques.
- Il n’est pas nécessaire de configurer le nombre de réplicas ni la mise en veille. Grâce à la fiabilité et à la tolérance aux pannes intégrées, les utilisateurs peuvent automatiquement réduire la capacité à zéro lorsqu’elle n’est pas utilisée, ou l’augmenter à plusieurs milliers d’instances pendant les pics d’activité.
- OpenShift Serverless peut être déployé sur site ainsi que dans des environnements de cloud public ou hybride, ce qui permet aux utilisateurs de tirer parti de la localité des données et du SaaS lorsque cela est nécessaire.
- Utilisez n’importe quel langage de programmation ou environnement d’exécution de votre choix, comme Java, Python, Go, JavaScript, Quarkus, SpringBoot ou Node.js.
- Créez des applications distribuées et faiblement couplées en les connectant à diverses sources d’événements ou à divers connecteurs intégrés ou tiers, alimentés par des Operators.
- OpenShift Serverless est proposé pour les installations sur site de la plateforme Kubernetes OpenShift ou dans un contexte hybride, en association avec des installations OpenShift hébergées.
- En tant que distribution Knative, la solution offre notamment un format de packaging fondé sur les conteneurs, une mise à l’échelle jusqu’à zéro, un mécanisme sophistiqué d’autoscaling basé sur la consommation HTTP, une prise en charge de niveau production des applications serverless pilotées par les événements et adossées à Apache Kafka, ainsi que la prise en charge d’un modèle de programmation fonctionnelle.
Cloudflare Workers
Cloudflare Workers est une plateforme permettant de déployer instantanément du code pour le calcul en périphérie et le calcul haute performance. Elle permet au service informatique de déployer dans le monde entier du code serverless offrant performance, fiabilité et évolutivité.
Principaux facteurs de différenciation
- Cloudflare promet qu’il faut moins de cinq minutes entre l’inscription et le déploiement mondial.
- Le code s’exécute en quelques millisecondes.
- Il n’est pas nécessaire de configurer l’autoscaling et les équilibreurs de charge, ni de payer une capacité inutilisée.
- Le trafic est automatiquement acheminé et réparti entre les serveurs sur des milliers de serveurs.
- Le code s’appuie sur le réseau de Cloudflare.
- Les langages de programmation disponibles sont JavaScript, Rust, C et C++.
AWS Lambda
AWS Lambda est un service de calcul serverless piloté par les événements qui permet d’exécuter du code pour pratiquement tout type d’application ou de service back-end, sans provisionner ni gérer de serveurs. Vous pouvez déclencher Lambda depuis plus de 200 services AWS et applications SaaS, en ne payant que ce que vous utilisez.
Principaux facteurs de différenciation
- Utilisez Amazon Simple Storage Service (Amazon S3) pour déclencher en temps réel le traitement des données par AWS Lambda après un téléversement, ou connectez-vous à un système de fichiers Amazon EFS existant afin d’activer un accès partagé massivement parallèle pour le traitement de fichiers à grande échelle.
- AWS Lambda traite les données à grande échelle.
- Le code est exécuté avec la capacité dont l’utilisateur a besoin.
- AWS Lambda adapte automatiquement sa capacité aux volumes de données.
- Les déclencheurs d’événements peuvent être personnalisés selon les préférences des utilisateurs.
- Les utilisateurs peuvent exécuter des back-ends web et mobiles interactifs.
Oracle Cloud Functions
Oracle Cloud Functions est une plateforme serverless qui permet aux développeurs de créer, d’exécuter et de faire évoluer des applications sans gérer d’infrastructure. En outre, Oracle Cloud Functions s’intègre à Oracle Cloud Infrastructure, aux services de plateforme et aux applications SaaS.
Et comme Oracle Cloud Functions repose sur le projet open source Fn Project, les développeurs peuvent créer des applications portables vers d’autres environnements cloud et sur site.
Principaux facteurs de différenciation
- Le code fondé sur Oracle Cloud Functions s’exécute généralement pendant de courtes périodes, et les utilisateurs ne paient que les ressources qu’ils utilisent.
- Les utilisateurs peuvent écrire et déployer leur propre code.
- Oracle provisionne et met automatiquement à l’échelle les ressources.
- Oracle Cloud Functions empaquette automatiquement le code sous forme d’images Docker.
- Les développeurs expérimentés peuvent utiliser des Dockerfiles, installer des bibliothèques natives et personnaliser l’environnement d’exécution des fonctions.
- Grâce à la prise en charge de Python, Go, Java, Node et d’autres langages, les développeurs peuvent choisir le langage le plus approprié pour chaque tâche et intégrer facilement leurs applications serverless.
- Les utilisateurs peuvent recourir au service géré ou à des clusters Fn autogérés et open source déployés sur site ou dans n’importe quel cloud.
Back4App
Back4App, fondé sur la plateforme open source Parse, propose un back-end low-code pour créer des applications. Il peut être utilisé pour stocker et interroger des données relationnelles dans le cloud et les rendre accessibles via GraphQL et REST.
Principaux facteurs de différenciation
- Back4App s’intègre facilement aux applications mobiles et web.
- Les utilisateurs peuvent stocker et interroger des données relationnelles via GraphQL, REST ou les SDK Parse.
- La logique métier peut être ajoutée à l’aide de fonctions cloud.
- Les applications peuvent être accélérées sans gérer l’infrastructure.
- Les utilisateurs peuvent créer des modèles de données relationnelles en quelques minutes.
- Les utilisateurs peuvent effectuer des requêtes relationnelles complexes sur une plateforme véritablement serverless.
Kinvey
Progress Kinvey est une plateforme de développement d’applications serverless qui fournit aux développeurs des outils pour créer des applications multicanales utilisant un back-end cloud et des SDK front-end. Elle répond à des besoins de développement tels qu’un magasin de données, l’intégration de données, l’intégration de l’authentification unique et le stockage de fichiers.
Principaux facteurs de différenciation
- Les développeurs peuvent se concentrer sur la création de ce qui apporte de la valeur à leur application : l’expérience utilisateur (UX) et la logique métier de l’application.
- Les applications créées dans Kinvey se composent de plusieurs éléments découplés qui fonctionnent ensemble.
- L’application cliente constitue la partie front-end et visible par l’utilisateur d’une application Kinvey.
- Le SDK client est l’interface entre le client et le back-end du service Kinvey.
- L’application back-end contient toutes les API et tous les services — données, authentification, logique côté serveur, etc. — disponibles pour une application cliente front-end.
- Chaque application back-end peut disposer d’un ou de plusieurs environnements pour accompagner le cycle de développement.
Microsoft Azure Functions
Microsoft Azure Functions offre une expérience complète de développement d’applications serverless. De la création et du débogage en local au déploiement et à la supervision dans le cloud, les extensions Microsoft Azure Functions pour Visual Studio et Visual Studio Code peuvent être utilisées pour accélérer et optimiser le développement sur une machine locale.
Principaux facteurs de différenciation
- Microsoft Azure Functions peut être entièrement intégré à l’ensemble de la plateforme Azure.
- Les utilisateurs peuvent configurer l’intégration et la livraison continues (CI/CD) avec Azure Pipelines.
- Les utilisateurs peuvent obtenir, grâce à Azure Monitor, des informations intelligentes et proactives sur les performances des applications serverless en production.
- Les utilisateurs peuvent créer, déboguer, déployer et superviser leurs applications à l’aide d’outils intégrés et de fonctionnalités DevOps intégrées.
Google Cloud Functions
Google Cloud Functions permet aux utilisateurs d’exécuter du code dans le cloud sans avoir à gérer de serveurs ni de conteneurs. Google Cloud Functions est un produit de fonctions en tant que service (FaaS) évolutif et facturé à l’usage, conçu pour créer et connecter des services pilotés par les événements au moyen de code à usage unique.
Principaux facteurs de différenciation
- Créez et déployez une fonction Google Cloud avec un simple navigateur web en suivant un guide de démarrage rapide.
- Répondez aux besoins de quelques utilisateurs comme à ceux d’un déploiement à grande échelle.
- Google Cloud Function offre une expérience de développement simplifiée et accélère le travail des développeurs.
- Écrivez du code et laissez Google Cloud Function gérer l’infrastructure opérationnelle.
- Écrivez et exécutez de petits extraits de code qui réagissent aux événements.
- Simplifiez les problèmes complexes d’orchestration en connectant des produits Google Cloud entre eux ou à des services tiers au moyen d’événements.
IBM Cloud Functions
IBM Cloud Functions est une plateforme FaaS fondée sur Apache OpenWhisk. Elle permet aux développeurs d’exécuter du code applicatif sans serveurs, de le mettre automatiquement à l’échelle et de ne rien payer lorsqu’il n’est pas utilisé.
Principaux facteurs de différenciation
- Les espaces de noms peuvent être gérés explicitement et apparaissent sur le tableau de bord.
- Ne payez que le temps d’utilisation, au dixième de seconde près.
- Exécutez des actions des milliers de fois en une fraction de seconde, ou une fois par semaine. Les instances d’action s’adaptent exactement à la demande, puis disparaissent.
- Permettez aux développeurs mobiles d’accéder à la logique côté serveur et de déporter les tâches gourmandes en calcul vers une plateforme cloud évolutive.
- Implémentez des fonctions dans des langages tels que Swift et utilisez des fonctions côté serveur avec le SDK iOS.
Knative
Le Knative est un framework open source utilisé par de nombreux autres environnements serverless. Par exemple, Red Hat OpenShift Serverless est fondé sur Knative et s’exécute sur Red Hat OpenShift, la distribution d’entreprise de Kubernetes proposée par Red Hat.
Knative est donc un projet open source en incubation de la Cloud Native Computing Foundation (CNCF) qui propose une solution serverless basée sur des conteneurs et s’exécutant au-dessus de Kubernetes.
Principaux facteurs de différenciation
- Knative offre une utilisation gratuite en tant que plateforme open source.
- Il n’y a pas de dépendance vis-à-vis d’un fournisseur.
- Il s’agit d’une solution indépendante de la plateforme pour exécuter des déploiements serverless.
- Les utilisateurs peuvent réduire la capacité à zéro, puis l’augmenter à partir de zéro.
- Choisissez votre stratégie de déploiement progressif en fonction de vos besoins.
- Gérez des événements provenant de nombreuses sources.
- Exécutez facilement des conteneurs serverless dans Kubernetes. Knative se charge des détails liés au réseau, à la mise à l’échelle automatique, y compris jusqu’à zéro, et au suivi des révisions.
Parse
Parse est une plateforme open source souvent utilisée comme fondation pour d’autres offres serverless. Elle permet de créer plus rapidement des applications grâce au stockage d’objets et de fichiers, à l’authentification des utilisateurs, aux notifications push et aux tableaux de bord. En outre, Parse Server est un back-end open source qui peut être déployé sur toute infrastructure capable d’exécuter Node.js.
Principaux facteurs de différenciation
- Parse Server utilise MongoDB ou PostgreSQL comme base de données.
- Déployez et exécutez Parse Server sur votre propre infrastructure.
- Développez et testez votre application localement à l’aide de Node.
- La plateforme est facile à exécuter localement avec MongoDB et Parse Server.
Qu’est-ce que le calcul serverless ?
Le calcul serverless permet de créer et d’exécuter des applications et des services sans avoir à gérer l’infrastructure de serveurs sous-jacente, selon Naina Singh, principale responsable produit chez Red Hat. Même si des serveurs sont impliqués, ils sont pris en charge par un fournisseur cloud. Une architecture serverless consiste donc à allouer des ressources de calcul pour répondre aux demandes des utilisateurs.
Cela libère le personnel informatique interne pour d’autres responsabilités, sans qu’il ait à se préoccuper de tâches chronophages. Le calcul serverless allège la charge liée à la configuration et à la maintenance des équipements, à la planification de la capacité et à la tolérance aux pannes. Il prend également en charge la gestion et la mise à l’échelle des conteneurs, des serveurs physiques et des machines virtuelles.
« Le terme serverless vient du fait que les tâches associées aux serveurs, telles que le provisionnement, la mise à l’échelle et la gestion de l’infrastructure nécessaire à l’exécution de l’application, sont déléguées aux utilisateurs finaux, ce qui rend les serveurs invisibles », a déclaré Singh.
En savoir plus : Qu’est-ce qu’une architecture serverless ?
Les avantages du serverless
Les avantages d’une architecture serverless sont notamment les suivants :
- Facilité de déploiement : Au lieu de consacrer des semaines à sélectionner, acheter et déployer des serveurs physiques, le calcul serverless peut être prêt en quelques heures. Cela améliore la productivité, car le temps est principalement consacré au codage, au développement et à d’autres tâches plutôt qu’à l’infrastructure interne.
- Coût : Comme il s’agit d’un modèle à l’usage, la location d’une infrastructure serverless est souvent moins coûteuse que la maintenance d’un nombre fixe de serveurs.
- Évolutivité : Les fournisseurs cloud permettent d’ajouter ou de supprimer à volonté le stockage, les ressources de calcul et d’autres ressources physiques à mesure que l’activité évolue.
- Indépendance des processus : Un environnement serverless constitue un bon moyen d’isoler les différentes parties d’une application grâce à son utilisation d’un système fondé sur les événements. Les problèmes restent donc circonscrits à une zone limitée.
À lire ensuite : Architecture serverless : quels sont les avantages et les défis ?