Rechercher

Français

Français

Connexion

Connexion/Inscription

Sites web

Applications cloud-native

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

L'informatique sans serveur désigne un modèle de cloud computing dans lequel les développeurs d'applications n'ont pas besoin d'approvisionner les serveurs ni de gérer la mise à l'échelle de leurs applications. En fait, le fournisseur de cloud se charge lui-même de ces tâches courantes, ce qui permet aux développeurs de faire passer le code en production beaucoup plus rapidement que dans les modèles traditionnels.

En résumé, un modèle sans serveur permet aux développeurs de se concentrer sur leur code et d'ignorer presque totalement l'infrastructure. On utilise donc l'expression « sans serveur » parce que les caractéristiques du serveur n'affectent pas les développeurs. Bien sûr, il y a toujours des serveurs. Ils sont tout simplement gérés par le fournisseur de cloud.

Dans les faits, un fournisseur de cloud (par exemple Amazon ou Google) exploite un serveur physique et alloue de manière dynamique ses ressources pour le compte d'un utilisateur (tel que vous) qui peut déployer le code directement en production. Similaire à une offre IaaS (Infrastructure-as-a-Service) dans le cloud public, le modèle sans serveur se distingue toutefois par le fait que le fournisseur facture uniquement les ressources de calcul nécessaires à l'exécution du code.

Fonctionnement de l'informatique sans serveur

Dans un modèle IaaS standard, les utilisateurs achètent à l'avance des unités de capacité, ce qui signifie qu'ils paient pour des composants de serveur toujours disponibles pour exécuter leurs applications. Ce n'est pas le cas avec l'informatique sans serveur. À la place, un événement déclenche l'exécution du code d'application. Le fournisseur de cloud alloue alors de manière dynamique les ressources nécessaires pour ce code et l'utilisateur cesse de payer lorsque l'exécution du code est terminée. En plus des avantages certains qu'il offre en matière de coûts et d'efficacité, le modèle sans serveur libère également les développeurs des tâches courantes et subalternes associées à la mise à l'échelle des applications et à l'approvisionnement des serveurs.

Il existe deux principaux modèles d'informatique sans serveur. La première méthode consiste à utiliser une solution de BaaS (Backend-as-a-Service) lorsque l'application se compose de multiples services et applications tiers. La seconde méthode repose sur un service FaaS (Function-as-a-Service) : les développeurs écrivent toujours une logique personnalisée côté serveur, mais celle-ci est exécutée dans des conteneurs entièrement gérés par un fournisseur de cloud. Avec ces méthodes, il est également possible de créer une application entièrement sans serveur ou une application qui intègre des composants de type microservices partiellement sans serveur et partiellement traditionnels.

BaaS (Backend-as-a-Service)

Le BaaS (Backend-as-a-Service), aussi appelé MBaaS (Mobile Backend-as-a-Service), est un modèle d'informatique sans serveur qui repose en grande partie sur des applications et services tiers. Par exemple, un fournisseur de cloud peut proposer des services d'authentification, une option de chiffrement renforcé, des bases de données accessibles dans le cloud et des données d'utilisation hautement fidèles. L'accès à ces services back-end se fait généralement via un appel à une API configurée par le fournisseur de cloud. Il est ainsi plus facile de les intégrer à vos systèmes que de développer ces fonctions au sein de l'entreprise.

FaaS (Function-as-a-Service)

Le FaaS (Function-as-a-Service) permet de garder un niveau de contrôle supérieur par rapport au BaaS, car la logique côté serveur est toujours écrite par les développeurs. Cependant, une fois écrite, cette logique est déployée dans des conteneurs gérés par un fournisseur de cloud, ce qui constitue l'avantage principal de l'informatique sans serveur. Ces conteneurs sont :

  • sans état, ce qui simplifie l'intégration des données ;
  • éphémères, ce qui permet de les exécuter pendant une très courte période ;
  • déclenchés par un événement, ce qui leur permet de s'exécuter automatiquement en cas de besoin ;
  • entièrement gérés par un fournisseur de cloud, de sorte que l'utilisateur paie uniquement pour les ressources dont il a besoin, et non pour des applications et serveurs toujours disponibles.

Avantages et inconvénients de l'informatique sans serveur

Tout d'abord, le modèle sans serveur peut augmenter la productivité des développeurs et réduire les coûts d'exploitation. Parce qu'ils ne se chargent plus des tâches courantes d'approvisionnement et de gestion des serveurs, les développeurs ont plus de temps à consacrer à leurs applications. Cet avantage est d'autant plus intéressant lorsque des composants entiers de l'application sont issus d'un tiers et intégrés via un service BaaS, au lieu d'être écrits au sein de l'entreprise. En outre, les coûts d'exploitation sont réduits dans un modèle sans serveur, car vous payez uniquement pour le temps de calcul basé sur le cloud selon vos besoins et n'avez pas besoin d'exécuter ni de gérer en continu vos propres serveurs.

Le fait de ne pas utiliser votre propre serveur ou de ne pas contrôler votre propre logique côté serveur peut toutefois présenter des inconvénients. Si vous cédez le contrôle de ces aspects de la pile, vous vous exposez également à la dépendance vis-à-vis d'un fournisseur. Les fournisseurs de cloud peuvent appliquer des contraintes rigoureuses aux interactions avec leurs composants, ce qui affecte la flexibilité et le niveau de personnalisation de vos propres systèmes. Et si vous décidez de changer de fournisseur, vous devrez probablement payer la mise à niveau de vos systèmes pour qu'ils soient conformes aux spécifications du nouveau fournisseur.

Les solutions Kubernetes de base pour l'informatique sans serveur

Cloud computing

Plateforme Kubernetes de conteneurs qui permet d'accélérer le déploiement d'applications cloud-native.

Cloud computing

Sélection d'environnements d'exécution d'applications et de structures adaptés au développement d'applications cloud-native.

Vous ne savez pas encore tout sur l'informatique sans serveur...