Découvrez le mouvement ServerLess

Publié initialement à : https://korben.info/decouvrez-le-mouvement-serverless.html

Si vous êtes développeur et que tout ce qui est administration système vous donne des boutons, j'ai découvert un truc qui s'appelle ServerLess et qui je pense va vous intéresser.

ServerLess est un mouvement "spirituel" (bon j'exagère un peu, mais vous voyez l'idée) qui permet de redonner le pouvoir aux développeurs qui souhaitent se concentrer uniquement sur leur code. Je ne suis pas développeur (d'où ma découverte tardive de ce truc), mais j'ai trouvé ça passionnant, ce qui explique cet article d'aujourd'hui.

Cette technologie permet de faire abstraction de tout ce qui concerne l'hébergement et le déploiement de votre application. Grâce à l'approche ServerLess, vous allez pouvoir développer directement des applications qui vont supporter un trafic en production et que vous n'aurez pas besoin de scaler. Pas besoin non plus de provisionner des serveurs et de payer des ressources non utilisées. Pas besoin de mettre à jour un Linux... Bref, plus besoin de se concentrer sur des actions à peu de valeur ajoutée pour vos utilisateurs.

Et le secret de tout ça c'est AWS Lambda, Microsoft Azure, Google Cloud Platform ou encore IBM OpenWhisk qui proposent des offres FaaS (Function As A Service) permettant de faire exécuter votre code sur une infrastructure de calcul à haute disponibilité et de faire effectuer au provider du service toute l'administration des ressources de calcul, y compris la maintenance du serveur et du système d'exploitation, le dimensionnement des capacités et la mise à l'échelle automatique, le déploiement du code et des correctifs de sécurité, ainsi que la surveillance et la journalisation du code.

Il existe aussi OpenFaaS, un projet open source qui permet de packager n'importe quoi en fonction ServerLess

(Merci Benoit)

ServerLess exploite donc ce concept de FaaS pour redonner une entière autonomie aux développeurs et leur fera surtout gagner du temps. Et même si je suis plutôt partisan de gérer soi-même son serveur et éviter de tout mettre chez Amazon, Google ou un autre, il faut reconnaître que le côté "J'ai plus qu'à coder et basta !" fait saliver. Cela peut-être aussi intéressant pour du déploiement en test, car la plupart des fournisseurs FaaS proposent des offres gratuites en dessous d'un certain nombre de requêtes mensuelles. Par exemple, chez Amazon, c'est 1 million de requêtes offertes ainsi que 400 000 Go-secondes de temps de calcul par mois.

Le Framework ServerLess que vous pouvez trouver ici permet donc de déployer facilement votre code chez le provider de votre choix, en configurant automatiquement les paramètres qui vont bien, le langage que vous utilisez, et les plugins ServerLess dont vous avez besoin. Et ensuite, c'est easy :

#Install serverless globally
npm install serverless -g

#Login to your Serverless account
serverless login

#Create a serverless function
serverless create --template hello-world

#Deploy to cloud provider
serverless deploy

#Function deployed! Trigger with live url
http://xyz.amazonaws.com/hello-world

L'approche ServerLess a déjà été adoptée par des gros comme Coca Cola, Expedia, Reuters, ou encore EA. Et pour le coup, vous ne paierez que ce que vous consommerez.

Bref, à tester à l'occasion.

Et si vous restez sur votre faim après la lecture de cet article d'introduction, je vous invite à lire celui-ci beaucoup plus détaillé sur le sujet.