Cloud Functions, la réponse de Google à Lambda d’AWS, est disponible en alpha

Google cloud Functions

Google vient de dévoiler sans publicité, en publiant leur documentation, les Cloud Functions, un service de plateforme en tant que service qui rappelle Lambda d’AWS.

Les Cloud functions sont des solutions légères de traitements asynchrones qui permettent de répondre à des événements dans le nuage sans avoir à gérer de serveurs ou d’environnements d’exécution (machines virtuelles, conteneurs).

Elles sont écrites exclusivement en JavaScript, et s’exécutent dans un environnement node.js dans la Google Cloud Platform.

Des événements de Google Cloud Storage, Google Container Engine, Google Compute Engine, Google Cloud Logging, Cloud Source Repositories ou de Google Cloud Pub /Sub peuvent activer les fonctions de façon asynchrones.

Par exemple des changements de données dans une base de données, des fichiers ajoutés ou supprimés d’un service de stockage, ou le démarrage d’une nouvelle machine virtuelle.

Alternativement, elles peuvent être appelées de façon synchrone par HTTP. Il est aussi possible de les appeler par ligne de commande, mais cette possibilité vise surtout les tests et le débogage.

La mise à l’échelle est automatique, et les développeurs n’ont pas à se soucier des serveurs qui supportent les fonctions.

Les Cloud Functions sont au stade alpha. Pour les tester, il faut en formuler la demande.

 

Comparaison de Cloud Functions avec les offres concurrentes

Les Cloud Fonctions sont moins flexibles qu’AWS Lambda, qui supporte d’autres langages comme Python et Java, ou que les WebJobs de Microsoft Azure.

Contrairement aux deux offres concurrentes, les WebJobs peuvent tourner en continu. En revanche, ils ne sont pas des services indépendants.

Service Fabric d’Azure est légèrement différent des Cloud Functions et de Lamda : à la fois plus, avec des microservices qui peuvent être hébergés chez différents fournisseurs ou dans les centres de traitement de données du client, le choix entre la gestion d’état ou non. Et moins : dépendant de clusters de machines virtuelles ou de conteneurs. Microsoft travaillerait sur une offre plus directement comparable.

 

Avantages et risques

Les trois services concurrents visent les mêmes avantages : haute disponibilité, mise à l’échelle automatique, et économie de la gestion des serveurs. Aucun d’eux n’est disponible en version finale.

Ils partagent deux risques. Il est difficile de chiffrer si la solution est, à l’usage, plus ou moins chère qu’une alternative IaaS.

Leur adoption accentue la dépendance de l’entreprise à son fournisseur de service cloud (à l’exception de Service Fabric), et il deviendra de plus en plus difficile de passer de l’un à l’autre.

Une alternative est un service PaaS indépendant, comme Iron.io, mais l’on troque une dépendance pour une autre, et le risque de parier sur une start-up contre la sécurité de travailler avec des géants comme Amazon, Google ou Microsoft, dont la santé financière limite le risque de disparition soudaine.