Definition

Google Cloud Functions

Google Cloud Functions est un service de calcul serverless basé sur des événements, qui est proposé dans Google Cloud Platform. Les développeurs peuvent ainsi créer et implémenter des fonctions de programmation dans le cloud public de Google, sans avoir à provisionner l'infrastructure cloud sous-jacente (serveurs, mémoire et autres ressources).

Google Cloud Functions permet à de petits segments de code d'exécuter des tâches spécifiques, mais limitées, consistant généralement à déclencher des réponses à des événements réels, pilotés par les logiciels. Lorsqu'un événement déclenche une fonction qui lui est associée, celle-ci est chargée dans l'environnement de cloud provisionné pour s'y exécuter. Toutes les ressources d'infrastructure sont provisionnées et récupérées automatiquement par Google Cloud Platform (GCP).

Une fois le code exécuté, la fonction et les ressources associées sont libérées. Par conséquent, les services Cloud Functions sont facturés pour la durée d'exécution de la fonction et non selon les ressources cloud utilisées.

Principales caractéristiques de Google Cloud Functions

A l'instar de toutes les offres sans serveur, Google Cloud Functions met l'accent sur la simplicité. Dans la mesure où le service les décharge automatiquement de l'infrastructure sous-jacente, les utilisateurs peuvent se consacrer exclusivement à la création du code nécessaire à l'exécution de la fonction.

Google Cloud Functions met également en avant la notion d'évolutivité. Pour empêcher la baisse des performances et la hausse des coûts, le service gère automatiquement les ressources et adapte l'infrastructure en fonction des besoins.

Fonctions Serverless

Plusieurs sources d'événements, internes ou externes à la plateforme GCP, peuvent déclencher des fonctions. C'est notamment le cas d'une application qui s'exécute sur la plateforme GCP ou des services tels que Firebase et Google Assistant. L'exécution des fonctions peut être également appelée directement à partir d'une application Web, mobile ou back-end via HTTP. Ainsi, Google Cloud Functions peut répondre à des programmes et à des événements en temps réel ou du monde réel. Il est possible d'appeler des fonctions pour transformer et transférer les données générées par des équipements IoT, ou de traiter les données en cas de changement dans une instance de stockage en cloud (ajout d'un objet, par exemple).

Google Cloud Functions emploie les langages de programmation conventionnels, notamment JavaScript (Node.js) et Python. Les développeurs connaissant déjà Java et Python peuvent développer et charger rapidement des fonctions.

Cas d'utilisation de Google Cloud Functions

Une entreprise peut utiliser Google Cloud Functions de différentes manières. Par exemple, pour déclencher l'analyse d'un journal. Dans ce cas, une fonction pourrait rechercher des événements spécifiques, une erreur par exemple, dans d'autres services ou applications cloud, déclencher la vérification des fichiers journaux et envoyer les entrées pertinentes aux administrateurs ou développeurs concernés par le biais d'un service de notification.

Les fonctions peuvent également déclencher d'autres tâches, comme les sauvegardes. Une fonction pourrait déclencher la sauvegarde des données après un délai prédéfini ou en cas d'apparition d'un autre événement (inactivité d'une ressource clé pendant une certaine période, par exemple). Les fonctions peuvent encore déclencher d'autres actions, comme la génération de rapports.

Les entreprises ont souvent recours aux fonctions pour exécuter des traitements réguliers et redondants sur des jeux de données, comme le traitement des fichiers d'images. Par exemple, une nouvelle image stockée dans une instance de stockage en cloud pourrait déclencher une fonction pour régler la couleur, modifier la taille et enregistrer le fichier ainsi traité. Une fonction pourrait être également appelée pour normaliser un nouveau jeu de données avant d'en transférer une copie d'une ressource de stockage vers un autre emplacement (base de données ou service de Big Data dans le cloud) en vue d'un traitement complémentaire.

Prix et concurrents de Google Cloud Functions

Les tarifs de Google Cloud Functions varient en fonction de plusieurs facteurs, notamment du nombre de requêtes, de la quantité de mémoire, du processeur et des ressources réseau utilisés, le tout mesuré aux 100 millisecondes près pendant la durée d'exécution de la fonction. Les utilisateurs de Google Cloud Functions peuvent aussi profiter de l'offre gratuite qui inclut :

  • 2 millions d'appels
  • 400 000 Go par seconde et 200 000 GHz par seconde de temps de calcul
  • Jusqu' à 5 Go de trafic Internet de sortie par mois

Le trafic en entrée et les données utilisées pour des API Google de la même région sont également gratuits. GCP fournit un calculateur pour aider les utilisateurs à estimer le coût d'une fonction.

Google Cloud Functions fait face à d'autres plateformes sans serveur, notamment Azure Functions et AWS Lambda.

Cette définition a été mise à jour en octobre 2019

Pour approfondir sur PaaS