Qu'est-ce que l'informatique sans serveur ?

L'informatique sans serveur est un modèle d'exécution de cloud computing qui alloue les ressources machine telles qu'elles sont utilisées. Avec un modèle sans serveur, les développeurs peuvent créer et exécuter des applications sans avoir à gérer de serveurs, et ne paient que pour la quantité exacte de ressources utilisée. Le fournisseur de services cloud est plutôt responsable du provisionnement, de la gestion et du scaling de l'infrastructure cloud qui exécute le code de l'application.

Bien que le nom puisse être trompeur, sans serveur ne signifie pas "aucun serveur". En effet, les applications sans serveur éliminent les tâches de routine liées à l'infrastructure associées au développement d'applications. Vous n'avez aucune visibilité sur les machines qui exécutent vos applications, vous ne pouvez pas les configurer, et n'avez pas besoin de les gérer ni de les faire évoluer. En d'autres termes, vous payez pour le service d'un serveur, pas pour le serveur lui-même.

Du point de vue du développement, c'est comme s'il n'y avait aucun serveur: les développeurs écrivent le code, le déploient en production et le fournisseur de services cloud s'occupe du reste.

Comment fonctionne l'informatique sans serveur?

Lorsqu'il s'agit de créer des applications, les développeurs doivent généralement effectuer de nombreuses autres tâches de gestion des serveurs pour déployer leur code, telles que la définition de ressources pour le traitement et le stockage, l'application de correctifs, l'équilibrage de charge, etc. Tous ces éléments supplémentaires entraînent des délais de provisionnement plus longs et des coûts opérationnels supplémentaires qui, à terme, ralentissent les équipes de développement.

L'informatique sans serveur tente d'offrir aux développeurs une expérience invisible "sans serveur", en leur évitant de se préoccuper des serveurs ou de tout autre élément qu'une application pourrait avoir besoin d'exécuter. Le fournisseur de services effectue tout le travail en arrière-plan pour s'assurer que vous disposez des ressources nécessaires pour exécuter votre code et répondre aux exigences, sans que la capacité inutilisée ne vous soit facturée.

Voici une analogie simple pour vous aider à comprendre le fonctionnement de l'informatique sans serveur

Considérez l'informatique sans serveur comme l'approvisionnement en eau chez vous. Vous pouvez creuser votre propre puits, tester la qualité de l'eau, et installer et entretenir tous les tuyaux extérieurs nécessaires pour entrer dans la maison. Vous pouvez également raccorder le réseau principal d'approvisionnement en eau de votre ville. Il suffit de tourner le robinet pour obtenir autant d'eau que vous le souhaitez au moment où vous en avez besoin, et la ville vous envoie une facture mensuelle correspondant à la quantité exacte d'eau que vous consommez.

De même, les fournisseurs de services cloud lancent automatiquement les ressources d'infrastructure et les environnements d'exécution nécessaires à l'exécution de vos applications sans serveur, puis les réduisent automatiquement à zéro une fois l'exécution terminée. En règle générale, les frais vous sont facturés en fonction du nombre de ressources disponibles pendant la durée d'exécution. Toutefois, cela peut varier selon le service et le fournisseur.

Comparatif entre les solutions sans serveur et d'autres types de cloud computing

Mais attendez: d'autres types de cloud computing ne fournissent-ils pas de ressources à la demande avec paiement à l'usage? Il est vrai que les modèles de service cloud tels que l'Infrastructure as a Service (IaaS) et le PaaS (Platform as a Service) permettent également un accès à la demande aux ressources informatiques.

Cependant, l'infrastructure cloud qui vous est allouée reste active même si vous ne l'utilisez pas. Vous êtes également responsable du scaling de la capacité du serveur ou de la configuration de vos applications pour qu'elles évoluent à la hausse ou à la baisse en fonction de la demande des utilisateurs.

Les architectures sans serveur, quant à elles, sont basées sur des événements. Dans le cadre de ce modèle, le fournisseur ne vous fournit des ressources que lorsqu'un événement déclenche l'exécution de votre code. Il évoluera instantanément et automatiquement en fonction des requêtes.

Exemples et cas d'utilisation de l'informatique sans serveur

Dans le cloud computing sans serveur, il existe généralement deux types de services: le FaaS (Function as a Service) et le Backend as a Service (BaaS).

Le FaaS fournit les ressources de calcul nécessaires pour exécuter la logique d'application en réponse aux requêtes. Ces éléments logiques (ou fonctions) sont exécutés dans des conteneurs entièrement gérés par le fournisseur de services cloud. Les applications sans serveur sont généralement divisées en fonctions uniques qui effectuent une action en réponse à un événement.

Le BaaS fournit l'ensemble des fonctionnalités de backend des applications Web ou mobiles en tant que service, telles que les services d'authentification, la gestion de base de données, le stockage cloud, les notifications push et l'hébergement. De plus, le BaaS vous évite d'avoir à gérer des serveurs, des conteneurs ou des machines virtuelles.

Au cours du développement, le terme "sans serveur" est généralement utilisé pour décrire les offres FaaS. Toutefois, il est important de noter que, techniquement, le FaaS est un sous-ensemble de la technologie sans serveur. L'informatique sans serveur inclut tout type de service pour lequel la gestion, la configuration, le scaling et la facturation du serveur sont dissociés de l'utilisateur final. Cela peut inclure les bases de données, le stockage, la diffusion d'événements, la messagerie et les passerelles API.

En général, l'informatique sans serveur est encore principalement utilisée pour des tâches simples à courte durée de vie. Voici quelques-uns des exemples d'informatique sans serveur les plus courants:

  • Intégration à des services et des API tiers
  • Exécution de tâches planifiées (par exemple, rapports quotidiens, sauvegardes ou logique métier)
  • Automatisation des processus informatiques, comme la suppression automatique des accès, le lancement de contrôles de sécurité liés à la conformité ou l'envoi d'approbations
  • Traitement en temps réel des données structurées et non structurées
  • Automatisation des pipelines d'intégration et de livraison continues (CI/CD)
  • Backends de l'API REST
  • Actions basées sur des déclencheurs ou exécution de tâches planifiées (par exemple, rapports quotidiens, sauvegardes ou logique métier)
  • Traitement asynchrone
  • Notifications planifiées ou en temps réel

Avantages de l'informatique sans serveur

Meilleure productivité des développeurs

Les développeurs sans serveur se concentrent sur l'écriture de code et l'optimisation de la logique métier au lieu de se soucier du provisionnement, de la gestion ou du scaling de l'infrastructure.

Évolutivité clé en main

Les architectures sans serveur évoluent intrinsèquement à la hausse ou à la baisse. Contrairement à l'autoscaling dans d'autres types de cloud computing, qui nécessite des règles d'ajustement, l'autoscaling sans serveur est instantané et peut être réduit à zéro.

Tarification souple

Les modèles de tarification sans serveur sont souvent facturés en fonction de l'utilisation réelle et du temps nécessaire à l'exécution d'une fonction. De plus, vous ne payez pas pour la capacité inutilisée, ce qui vous permet de réduire les coûts opérationnels associés à l'exécution et à la gestion de vos propres serveurs.

Déploiement plus rapide

Avec l'informatique sans serveur, les équipes DevOps n'ont pas à passer de temps à définir l'infrastructure nécessaire pour l'intégration, les tests, la livraison ou le déploiement de code. Il leur suffit d'écrire et de déployer en production.

Utiliser n'importe quel langage

Les environnements sans serveur sont compatibles avec tous les langages ou frameworks, ce qui permet aux équipes de développer dans le langage ou avec le framework (Go, Python, Java, Node.js, .NET, etc.) qu'ils préfèrent.

Inconvénients de l'informatique sans serveur

L'un des principaux inconvénients de l'informatique sans serveur est qu'elle reste une technologie relativement nouvelle. Par conséquent, elle n'est pas encore adaptée à tous les cas d'utilisation potentiels.

En outre, la nature intentionnellement éphémère de l'informatique sans serveur et sa capacité à effectuer un scaling à zéro instance le rendent inadapté à certains types d'applications. Il n'est pas conçu pour exécuter du code pendant de longues périodes et ne peut pas toujours diffuser des applications soumises à des exigences strictes de faible latence, telles que des applications de services financiers.

Enfin et surtout, confier la gestion de toutes les ressources de calcul à un fournisseur tiers peut présenter plusieurs inconvénients. Bien que cela libère du temps pour se concentrer sur le code, il peut également s'avérer difficile de migrer vers un nouveau fournisseur de services cloud. De plus, vous n'avez aucune visibilité sur l'emplacement ou la manière dont votre service est exécuté. De plus, vous avez un contrôle limité sur votre évolutivité, le type de code matériel sur lequel s'exécute et les situations de reprise après sinistre.

L'informatique sans serveur a tout de même beaucoup d'intérêt, en particulier pour les organisations qui cherchent à permettre aux développeurs de progresser plus rapidement et à un moyen plus simple et plus économique de créer des applications dans le cloud.

Il est également évident que certaines des faiblesses qui existent actuellement seront résolues au fil du temps, à mesure que l'informatique sans serveur continue d'évoluer. En particulier, nous avons déjà beaucoup travaillé sur des implémentations Open Source de solutions sans serveur, et nous cherchons des moyens de rendre les services cloud plus ouverts afin de rendre les solutions portatives sur différents environnements et plates-formes.

Relevez vos plus grands défis avec Google Cloud

Les nouveaux clients bénéficient de 300 $ de crédits à dépenser sur Google Cloud.
Contactez un spécialiste des ventes Google Cloud pour discuter plus en détail de votre propre défi.

Passez à l'étape suivante

Profitez de 300 $ de crédits gratuits et de plus de 20 produits Always Free pour commencer à créer des applications sur Google Cloud.

Google Cloud
  • ‪English‬
  • ‪Deutsch‬
  • ‪Español‬
  • ‪Español (Latinoamérica)‬
  • ‪Français‬
  • ‪Indonesia‬
  • ‪Italiano‬
  • ‪Português (Brasil)‬
  • ‪简体中文‬
  • ‪繁體中文‬
  • ‪日本語‬
  • ‪한국어‬
Console
  • Faites des économies grâce à notre approche transparente concernant la tarification
  • Le paiement à l'usage de Google Cloud permet de réaliser des économies automatiques basées sur votre utilisation mensuelle et des tarifs réduits pour les ressources prépayées. Contactez-nous dès aujourd'hui afin d'obtenir un devis.
Google Cloud