Le Serverless

Depuis quelque temps, je me suis intéressé au Serverless. Une nouvelle  technologie que l’on peut considérer comme une nouvelle étape, une nouvelle façon de faire dans le monde du DevOps. Avant toutes choses, sachez que je ne me considère pas comme expert dans ce domaine mais en tant que développeur, je me sens obligé de m’y intéresser. et surtout… je suis en train de l’adopter !

Serverless ou une architecture sans serveur

Ce que l’on appelle une architecture sans serveur correspond à des applications qui dépendent (souvent) d’un service tiers. L’idée est d’héberger votre code sur une architecture que vous ne cherchez pas spécialement à maitriser. Votre code est ensuite exécuté et se connecte aux différents services dont il a besoin, par exemple : une API, une base de données, … Mais en soi, rien ne vous empêche d’être isolé et de déployer uniquement que des fichiers statiques ! Nous pourrions aussi imaginer se servir de cette architecture sans serveur pour monter une sorte d’architecture micro-services. En réalité, si on réfléchit bien et que l’on observe les différentes explications que l’on peut retrouver sur le web, cela regroupe 2 principes : BaaS et FaaS («Backend as a Service» et «Functions as a Service»).

Comment fonctionne un hébergement serverless

Grâce au Serverless, vous externalisez votre déploiement et le principe est donc de ne payer que la consommation :

  • La bande passante
  • L’espace de stockage

Grâce à cette élasticité, vous paierez exactement ce dont vous avez besoin.  Mais surtout, vous n’avez pas besoin de gérer véritablement votre serveur et sa disponibilité. Attention, cela ne veut pas dire pour autant que vous pouvez vous passer d’un DevOps.

Concernant le déploiement, on retrouve régulièrement 3 solutions :

  • Déploiement statique
  • Déploiement via un Dockerfile
  • Déploiement NodeJS

Quels hébergeurs existent-ils ?

L’hébergeur le plus connu est sans doute… Amazon ! avec sa solution AWS Lambda. Evidemment Google et Azure offrent ce type de solution. De mon côté, j’ai découvert : Zeit. Ce système est en train, à mon sens, de révolutionner la mise en production de nos applications et plus généralement, notre manière de travailler avec la prod. En même temps, quand on sait que Guillermo Rauch travaille dessus, on ne peut que s’y intéresser. Que ce soit à partir de l’achat du nom de domaine, de la mise en place du HTTPS (c’est natif en fait… ), de sa ligne de commande, de son API, … Bref, je ne fais plus que ça 🙂 et je m’en sers même pour héberger du WordPress avec ! Et ce sera certainement le sujet d’un prochain article !