GCP Cloud Functions : Découvrez le service de calcul de Google

-
4
 m de lecture
-

Pour concevoir un nouveau logiciel ou une application, les développeurs doivent souvent fournir toute l’infrastructure sous-jacente (avec les serveurs, le service de stockage et autres ressources cloud). Ce n’est plus le cas de GCP Cloud Functions. Ce service de Google Cloud Platform simplifie le travail des DevOps grâce à des micro-services. Découvrez le fonctionnement de Cloud Functions et ses avantages.

C’est quoi GCP Cloud Functions ?

Cloud functions est un produit FaaS (Functions as a Service) qui permet d’exécuter le code dans le cloud. Et ce, sans aucun serveur, ni conteneurs à gérer. Pour cela, GCP Cloud Functions crée des fonctions à usage unique (ou micro-services). Ces dernières exécutent alors des tâches spécifiques en réponse à certains événements préalablement définis.

L’objectif est d’aider les DevOps à se focaliser sur l’écriture du code avant d’entrer en phase de production. Ainsi, ils peuvent rédiger le code pendant que GCP Cloud Functions se charge de gérer entièrement l’infrastructure. Ils n’ont pas besoin de provisionner l’infrastructure cloud (serveurs, mémoire et autres ressources), simplement d’implémenter les fonctions de programmation. Dès lors qu’elles sont enclenchées, GCP Functions connecte les différents services cloud, limitant ainsi les problèmes d’orchestrations.

À travers cet outil, les développeurs gagnent un temps précieux dans la rédaction et l’exécution du code.

Bon à savoir : GCP Cloud Functions est une alternative à Lambdas de Amazon Web Service (AWS).

Comment fonctionne Cloud Functions ?

Créer une fonction Cloud

Pour connecter les différents services cloud entre eux, vous devez créer des fonctions simples à application unique sur GCP Cloud Functions. Ces dernières sont associées à des événements émis par votre infrastructure. Dès lors que l’événement se réalise (ou qu’une requête HTTP le requiert), la fonction est déployée.

Pour créer une fonction dans Google Cloud, vous devez

  • Ouvrir Cloud Functions et sélectionner le bon projet ; 
  • Sélectionner l’environnement (1e ou 2e génération) ; 
  • Nommer la fonction ; 
  • Authentifier (il s’agit d’autoriser ou non les requêtes non authentifiées) ; 
  • Définir le code source et l’environnement d’exécution (en fonction des outils utilisés dans votre stack technologique).

Déployer une fonction

Vous devez définir les paramètres pour appeler la fonction depuis votre infrastructure. À savoir, le nom de la fonction, la région dans laquelle la déployer, l’environnement d’exécution, l’emplacement du code source, le point d’entrée dans le code source, et surtout les déclencheurs. Il en existe de deux types :
  • Les fonctions HTTP: il s’agit alors d’appeler la fonction grâce à une requête HTTP
  • Les événements: ils se répartissent en 3 catégories : 
    • Pub/Sub : lorsqu’un message est publié dans le sujet Pub/Sub. 
    • Bucket :  lorsqu’un objet est créé dans le bucket Cloud Storage.  
    • Événement : lorsqu’un événement spécifique se produit.

Pour ces triggers, il est possible d’ajouter des options supplémentaires, notamment en ce qui concerne la mise en réseau, la sécurité ou la configuration.

Bon à savoir : pour déployer une fonction sur Google Cloud, il est primordial d’avoir les autorisations nécessaires. Bien souvent, il s’agit du rôle IAM « développeur cloud fonction ».

Tester une fonction

Avant de déployer une fonction, il est possible de la tester. C’est pourquoi, Google Cloud Platform prévoit un émulateur open source. Ici, vous pourrez surveiller l’efficacité des Cloud functions, notamment en cas de bug. L’idée étant de déboguer rapidement un micro-service, sans pour autant impacter le reste de l’application.

Et pour gagner en performance, n’hésitez pas à créer des sous-fonctions. Grâce à de petits extraits de code, il est possible de réaliser des tests unitaires pour tester progressivement l’application.

Pourquoi utiliser Google Cloud functions ?

Un service évolutif et à l’usage

La mise à l’échelle est directement intégrée au sein de GCP Cloud Functions. Ainsi, en fonction des besoins de votre code (charge de travail, mémoire…), ses capacités pourront augmenter ou diminuer automatiquement. L’idée est alors de toujours s’adapter à l’usage pour maximiser l’efficacité de votre application.

Une facturation intéressante

GCP Cloud Functions vous propose un système de facturation adapté à votre usage. Ainsi, vous ne payez que pendant la durée d’exécution de votre fonction (calculée au 100 millisecondes près). Le temps d’exécution d’une fonction est fixé à 1 minute par défaut (jusqu’à 9 minutes maximum).

Ce mode de facturation est très utile si vous n’appelez vos fonctions que 2 ou 3 fois par jour. Mais dès lors que des centaines, voire des milliers d’utilisateurs, appellent les fonctions quotidiennement, la facture peut vite grimper. C’est pourquoi Cloud Functions est privilégiée pour les applications affichant un trafic irrégulier.

La gestion de multiples requêtes

Il est possible de configurer chaque instance pour gérer une multitude de requêtes concurrentes. Pour cela, GCP Cloud Functions vous fournit toujours au moins une instance prête à gérer les différentes requêtes. 

D’ailleurs, Google Cloud Functions prend aussi en charge des modèles de déploiement plus complexes, comme la méthode Canary. Ce faisant, vous pourrez facilement diviser le trafic entre les différentes versions du code.

La compatibilité

Cloud Functions est un FaaS open source. Il est donc compatible avec un grand nombre de langages de programmation ou programme d’exécution (Node.js, Javascript, Python… ). Le code peut alors être exécuté dans différents types d’environnements ; que ce soit sur site, en local, Cloud run ou serverless basés sur Knative.

Sans oublier que Cloud Functions fait partie de GCP. Il s’intègre parfaitement avec tous les autres services de Google Platform. Vous pourrez ainsi interagir avec d’autres services en exécutant le code dans un VPC (cloud privé virtuel). Et ce, en toute sécurité.

Rejoignez DataScientest et maîtrisez GCP Cloud Functions

Si GCP Cloud Functions est une solution très efficace pour se focaliser sur la rédaction et l’exécution du code, les DevOps ont en réalité besoin d’une multitude d’outils pour concevoir et déployer des applications ou logiciels. Et pour chacun d’entre eux, une formation alliant théorie et pratique est absolument indispensable. C’est à cet instant qu’intervient DataScientest. Grâce à notre formation DevOps, vous maîtriserez enfin tous les logiciels indispensables dans le processus CI/CD.

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?