Serverless, just a buzzword ?

Le lundi 19 juin, le JUG (Java User Group) a organisé un talk sur sur Akka avec Java8 et un autre sur le Serverless avec en speakers Julien Landuré et Eric Briand.
Je vais parler de ce dernier talk et rapporter ce que j'en ai retenu.

Tout d'abord, il faut savoir que le mot Serverless est assez jeune et on commence à peine à en parler. En regardant sur Google Trends  (application qui permet de savoir la popularité des mots dans le temps), on remarque que ce mot est de plus en plus populaire depuis 2016.


Puis on fait une comparaison par rapport à Docker qui est assez récent mais qui est déjà très populaire.


On remarque qu'il y a une très grande différence de popularité et que le mot serverless n'en est qu'à ses débuts !

En ce qui concerne sa définition, la traduction signifie "Sans serveur", mais ce n'est pas vraiment vrai. En réalité, il y a tout autant de serveurs mais, c'est juste une manière qui permet de ne plus y penser (est-ce que j'ai bien lancé mon serveur ?).  Les serveurs sont dans le cloud et on ne gère rien, ce qui engendre de ne pas s'occuper de ce qui ce passe à l'exécution.

On utilise les Functions as a Service (FaaS) ou Plateform as a Service (PaaS) pour du Serverless mais cela n'est pas encore bien défini. L'infrastructure est éphémère et peut disparaître à tout moment. L'idée est donc d'uploader quelque chose de petit (comme une fonction), ce qui sera déployé et tournera très rapidement et on ne s'occupe pas d'où il est déployé.

Plusieurs tooling existent qui utilisent cette technologie. Amazon avec Amazon Web Services (AWS), Google avec Google Cloud Storage, Microsoft Azure etc.

Amazon a commencé en 2014 et est donc beaucoup plus en avance.
Par exemple :
- On peut utiliser 7 ou 8 langages de programmation alors que Google propose seulement Node.js
- Il y a une quinzaine de triggers disponible contre seulement 3 pour Google
- Gestion de versioning automatique alors que Google ne le gère pas du tout

Il n'y a aucune bonne pratique pour le moment, en terme de code. Même Amazon qui travaille dessus depuis 2014 n'a pratiquement rien défini en terme de bonnes pratiques.

 

Petit récapitulatif des points faibles et des points forts du serverless.

Points faibles :
- Très jeune et très mouvant donc difficile d'avoir un projet stable
- Api qui change beaucoup
- Organisation du code pratiquement inexistante
- Tooling encore très jeune et à améliorer
- Versioning non géré ou non personnalisable

Points forts :
- Maîtrise du coût des fonctions
- Assez facile de commencer grâce aux templates
- Pas de gestion de serveurs
- Parfait pour certains usages (bot, etc)
- Prix particulièrement faible

Pour conclure je dirais que le mot "Serverless" est un buzzword. En effet, on ne se soucis pas si le serveur est lancé, ni où il est mais, il y a toujours un serveur qui tourne en arrière plan.
Au final nous pouvons nous poser une question : Le serverless, ne serait-il pas des procédures stockées du cloud ?

2 commentaires

  1. Bonjour,

    Cela pourrait être sympa de citer les speakers – Juline Landuré et Eric Briand – qui sont la source du contenu 😉

  2. C’est dommage, l’article ne rentre pas suffisamment dans le détail à mon goût, alors que le sujet est intéressant.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *