Pour exploiter le code et développer une application, les DevOps peuvent utiliser GCP Cloud Run. Alors de quoi s’agit-il ? Quelles sont les fonctionnalités ? Et les avantages ? Découvrez les réponses dans cet article.
Qu’est-ce que GCP Cloud Run ?
Cloud Run est une plateforme qui vous permet d’exécuter votre code directement sur l’infrastructure de Google. À travers GCP Cloud Run, vos différents services peuvent être hébergés dans des containers, le tout dans une approche serverless. C’est donc un outil container-based (ou basé sur les containers) qui garantit une séparation entre vos tâches et la plateforme.
Si le fonctionnement est légèrement plus complexe qu’avec les outils basés sur le code source, Cloud Run permet de s’assurer de la conformité entre ce qui est exécuté et ce qui est testé.
Comment fonctionne Cloud Run sur GCP ?
Il est possible d’exploiter le code de deux manières sur Cloud Run.
Cloud Run services
Avec cette option, vous exploitez le code qui répond à une requête web ou à un événement.
Voici quelques exemples concrets d’utilisation de cette option :
- Websites et applications web : vous pouvez construire une app en utilisant tous vos outils habituels, accéder à une base de données SQL, et créer des pages HTML dynamiques.
- APIs et Microservices : avec Cloud Run Services, vous pouvez concevoir une API rest, GRPC, ou graphQl. Ces dernières peuvent être rendues publiques ou privées.
- Streaming data processing : vous pouvez recevoir des messages depuis le cloud pop-up, des requêtes depuis le cloud task et des événements.
Ce service gère l’intégralité des requêtes et événements reçus grâce aux instances de containers. De votre côté, il vous suffit de vous assurer que le code répond aux exigences du port TCP et réalise bien les tâches requises.
Bon à savoir : Chaque Cloud Run Service est fourni avec un point d’arrivée HTTPS et un sous-domaine unique. Si besoin, vous pouvez également créer vos propres domaines personnalisés.
Qu'est ce que Cloud Run Jobs ?
Avec cette fonctionnalité, le code réalise lui-même un travail et s’arrête dès lors que la tâche est terminée. Par exemple, déployer une migration de database, générer des factures, etc.
L’avantage incontournable de Cloud Run Job est la possibilité d’effectuer plusieurs tâches en même temps (on parle d’Array jobs). L’idée est alors de diviser un job entre différentes tâches indépendantes. Comme plusieurs instances de containers fonctionnent en parallèle les unes des autres, vous gagnez un temps précieux dans l’exploitation du code.
Ces deux fonctionnalités évoluent dans le même environnement Cloud Run. Elles peuvent donc utiliser les mêmes intégrations. Si vous avez besoin d’une base de données spécifique, d’une option de stockage ou de management, vous pourrez utiliser les outils de la Google Cloud Platform (Pub/Sub, Cloud SQL, Secret Manager…).
Quelles sont les fonctionnalités de Cloud Run ?
Pour simplifier le travail des DevOps, Cloud Run GCP propose plusieurs fonctionnalités particulièrement utiles.
Auto scaling
Cloud Run améliore automatiquement ses capacités dès lors qu’il le juge nécessaire (en fonction de la charge de travail demandée). Vous vous assurez ainsi que Cloud Run est capable de gérer toutes les requêtes entrantes, quel que soit leur volume.
Cette adaptation est rendue possible par un système d’équilibre des charges (load balancer). Tous les services Cloud Run en disposent.
Grâce à l’auto scaling, les requêtes sont distribuées aux containers disponibles. Si tous les containers sont occupés, Cloud Run en ajoute d’autres. À l’inverse, dès que la demande diminue, Cloud Run arrête d’envoyer du trafic vers les containers, et les ferme.
Bon à savoir : le nombre de containers disponible sur Cloud Run est limité à 1000 instances par défaut. Mais si vous avez besoin de plus de containers, vous pouvez toujours envoyer une requête pour changer les quotas.
Traffic management
La fonctionnalité de Traffic management est directement intégrée dans GCP Cloud Run. Ainsi, tout nouveau déploiement crée automatiquement une révision immuable. Vous pouvez ensuite acheminer du trafic vers les révisions antérieures, revenir en arrière ou diviser le trafic vers différentes versions du code en même temps pour un déploiement progressif.
Cette dernière option est particulièrement utile si vous souhaitez limiter le risque d’un déploiement d’une nouvelle version. Par exemple, si vous envoyez juste 1% de trafic vers la nouvelle version et que vous constatez un taux d’erreur plus important, vous pouvez stopper le déploiement immédiatement pour y apporter les corrections.
Les autres fonctionnalités
Vous bénéficiez également d’autres fonctionnalités sur GCP Cloud Run, comme :
- Le choix du langage de programmation, de la bibliothèque et du binaire ;
- L’utilisation des conteneurs ;
- La surveillance et la journalisation intégrée ;
- La portabilité ;
- Etc.
Pour maîtriser l’ensemble des services Cloud Run, n’hésitez pas à suivre une formation.
Quels sont les avantages de Cloud Run ?
La simplicité
GCP Cloud Run est un service entièrement géré. Il n’est donc pas nécessaire de prévoir l’infrastructure en avance, ni de gérer les clusters.
Cela vous permet d’être plus productif et d’avancer plus rapidement dans la conception de logiciels et d’applications.
La flexibilité
Avec Cloud Run, il est possible de déployer du code écrit dans n’importe quel langage de programmation (Go, node.js, Python, ava, Core, Ruby, …). Même si Cloud Run est une solution basée sur les containers, vous pourrez utiliser l’option source-based. Cela vous permettra alors de créer des containers pour vous à partir des différents langages utilisés.
En outre, Cloud Run vous permet d’intégrer l’ensemble des outils de GCP. Ce sont ces intégrations qui vous permettront de développer des applications performantes et complexes.
Le prix
GCP Cloud Run repose d’abord sur le principe Free Tier. Cela signifie que vous payez en fonction de ce que vous utilisez (en termes de CPU et de mémoire). Vous ne dépensez donc aucun budget en services de Google Cloud Platform si la capacité est inactive.
Ce qu’il faut retenir
- GCP Cloud Run est un outil container-based qui vous permet d’exécuter votre code directement sur l’infrastructure de Google.
- Pour ce faire, vous pouvez utiliser les Services ou le Job Cloud Run (en fonction de vos besoins).
- Grâce à ses multiples fonctionnalités et sa simplicité d’utilisation, Cloud Run permet aux développeurs de gagner en productivité et en efficacité. Et tout ça, à moindre coût.
Si vous avez encore des questions sans réponses, n’hésitez pas à prendre rendez-vous auprès d’un responsable chez DataScientest qui vous orientera vers une formation.