Google Cloud Functions monte en puissance
Après le Move to Cloud, le Serverless et le recours généralisé aux services managés constituent sans doute la prochaine étape de la modernisation des applications. Avec le Serverless, s’écrit le nouveau chapitre de l’histoire du Cloud.
Le Serverless et sa capacité de « Scale to Zero » , c'est un peu le concept du paiement à l'usage porté à son paroxysme. Ne payer que pour le temps d'exécution du code a de quoi séduire pas mal de DSI et de directions financières. Les analystes de Markets& Markets estiment que le marché des services cloud Serverless atteindra la somme extravagante de 21,1 milliards dès 2025. Après l'ère de l'iaas, le Serverless apparaît clairement comme le nouveau relai de croissance des hyperscalers.
Un nouveau champ de bataille pour les clouders
AWS a initié le marché du Serverless avec Lambda, un service lancé en novembre 2014. Il y a 8 ans, il ne s'agissait alors que d'un outil essentiellement destiné aux Devops pour automatiser leurs traitements. Depuis, le nombre d'événements pouvant déclencher l'exécution d'une fonction Lambda a explosé et le lien avec L'API Gateway D'AWS a ouvert la voie à de très nombreux usages. On voit de plus en plus d'applications modernes sans serveur où l'on déploie du code sans devoir gérer d'infrastructure.
Microsoft avec Azure Functions, et Google avec Cloud Functions ont rapidement rendu la monnaie à AWS. Dernièrement, Google a dévoilé la deuxième génération de Cloud Functions et il ne s'agit plus de porter simplement de petites fonctions. Désormais, la limite d'une fonction passe à 16 Go de mémoire, 4 VCPU. La durée de fonctionnement maximale peut atteindre 60 minutes, avec jusqu'à 1 000 requêtes concurrentes par instance. C'est beaucoup mieux QU'AWS Functions qui plafonne à 15 minutes d'exécution maximum. En augmentant le nombre d'instances minimal et le nombre de requêtes, Google estime que Cloud Functions va pouvoir jouer un rôle important dans les infrastructures Big Data, des fonctions pouvant être activées à partir d'un événement Bigquery ou Firestore.
Google Cloud améliore aussi fonctionnellement son offre Serverless avec plus de 90 sources d’événements pouvant déclencher le lancement de la fonction. De facto, le panel d’applications pouvant être développées sur Google Cloud Functions est très large. Il est possible de coder en Node. js, Python, Go, Java, . NET, Ruby et PHP. Il est surtout possible de définir des enchaînements par orchestration avec les outils Workflows, Cloud Composer ou encore d’opter pour une chorégraphie déclenchée par des événements via Pub/ Sub et Eventarc.
La capacité de « préchauffer » une fonction permet d’éliminer le délai initial d’une première exécution et il est maintenant possible de gérer plusieurs versions de chaque fonction en production.
Le Serverless, essentiellement une bataille d’écosystèmes
Pour Google comme pour Microsoft et AWS, le Serverless est stratégique et chacun s’évertue à développer un écosystème complet afin d’élargir les cas d’usage de sa plateforme. AWS a multiplié les langages sur Lambda et surtout propose les « custom runtime » pour faire tourner n’importe quel langage disponible sous Linux. On peut ainsi faire tourner du PHP, du Swift d’apple, ou même du Cobol sur Lambda !
« L’autre tendance forte dans le Serverless, c’est l’orchestration » explique Sébastien Stormacq, Principal Developper Advocate chez AWS : « Souvent, les entreprises ont des dizaines de fonctions dont il faut coordonner
l’exécution, créer des machines à état, des workflows. Step Functions le permet en mode graphique alors qu’il fallait au début définir les workflows en JAML et JSON. De plus en plus d’applications utilisent ces capacités d’orchestration comme c’est le cas du Check- out d’amazon. com par exemple. »
Sur ce plan, la deuxième génération de Google Cloud Functions intègre en natif Eventarc : « Avec Eventarc, on est capable de déclencher une fonction Cloud Functions de deuxième génération depuis un événement qui survient sur un grand nombre de services GCP » explique Nejmeddine Ben Ouarred. « Ajouter un nouvel utilisateur à une base de données Coud SQL peut servir de déclencheur à une fonction. »
En combinant les capacités de plus en plus avancées des services d’exécution de fonctions, mais aussi grâce aux solutions d’orchestration et de chorégraphie, les écosystèmes Serverless vont jouer un rôle de plus en plus pivot dans l’architecture des applications modernes. Ce nouveau chapitre dans l’histoire du Cloud va notamment permettre aux hyperscalers de maintenir leur avance sur les fournisseurs Cloud alternatifs. Ce sera aussi pour eux un moyen d’accroître un peu plus le vendor « lock- in » sur leurs clients en échange d’une optimisation des coûts de run de leurs infrastructures. ☐