Ce guide compare les dernières options de déploiement de fonctions Google Cloud à celles d'origine. Cette page s'adresse aux utilisateurs qui ont déjà créé des fonctions avec l'API Cloud Functions et qui passent à l'API Cloud Run Admin. Cette page décrit les principales différences dans plusieurs domaines, tels que les concepts, la configuration, le déploiement, les déclencheurs et les nouvelles tentatives.
Comparaison
Il existe deux versions de Cloud Run Functions :
Cloud Run Functions est la dernière version des fonctions, déployée en tant que service sur Cloud Run. Vous pouvez les créer de l'une des manières suivantes :
- API Cloud Run Admin (recommandée) : les fonctions créées avec cette API (par exemple, à l'aide de la consoleGoogle Cloud , de
gcloud run
, de l'API REST ou de Terraform) peuvent être gérées exclusivement à l'aide de l'API Cloud Run Admin. - API Cloud Functions v2 : les fonctions créées avec cette API (par exemple, à l'aide de
gcloud functions
, de l'API REST ou de Terraform) peuvent être gérées avec l'API Cloud Run Admin ainsi qu'avec l'API Cloud Functions v2. Lorsque vous utilisez cette API, vous spécifiez le déclencheur lorsque vous déployez votre fonction. Découvrez comment dissocier une fonction de l'API v2 pour qu'elle puisse être gérée exclusivement à l'aide de l'API Cloud Run Admin.
- API Cloud Run Admin (recommandée) : les fonctions créées avec cette API (par exemple, à l'aide de la consoleGoogle Cloud , de
Cloud Run Functions (1re génération), anciennement Cloud Functions (1re génération), est la version d'origine des fonctions avec des déclencheurs d'événements, des environnements d'exécution et une configurabilité limités. Découvrez comment migrer vos fonctions de 1re génération vers Cloud Run.
En déployant des fonctions directement sur Cloud Run, vos fonctions sont automatiquement compilées en tant que conteneurs et déployées en tant que service Cloud Run.
Concepts
Le tableau suivant récapitule les différences conceptuelles pour les fonctions.
Fonctions Cloud Run | Cloud Run Functions (1re génération) | |
---|---|---|
Ancien nom du produit | Cloud Functions (2nd gen) | Cloud Functions (1st gen) |
Modèle de ressource | Une fonction est un service Cloud Run déployé à partir du code source. | Une fonction est déployée à partir du code source. |
Terminologie des types de fonctions |
|
|
URL HTTPS attribuée | run.app Les fonctions créées avec l'API Cloud Functions v2 disposent également d'un point de terminaison cloudfunctions.net . |
cloudfunctions.net |
Registre d'images | Artifact Registry seulement | Artifact Registry ou Container Registry (obsolète) |
Rôles IAM pour le déploiement |
|
|
Infrastructure interne | Cloud Run | Réservé à Google |
Modèle tarifaire | Tarifs de Cloud Run | Tarifs de Cloud Run Functions (1re génération) |
Configuration
Cloud Run crée des fonctions dans des conteneurs et les déploie en tant que services. Lorsque vous déployez une fonction sur Cloud Run, vous avez un accès complet et un contrôle total sur le comportement de la fonction. Par exemple, vous pouvez activer le VPC direct, configurer des GPU, utiliser des montages de volumes, etc.
Le tableau suivant récapitule les différences de configuration pour les fonctions :
Fonctions Cloud Run | Cloud Run Functions (1re génération) | |
---|---|---|
Délai avant expiration de la requête |
|
|
Taille de l'instance | Jusqu'à 16 Gio de RAM avec 4 processeurs virtuels | Jusqu'à 8 Go de RAM avec 2 processeurs virtuels |
Simultanéité | Jusqu'à 1 000 requêtes simultanées par instance de fonction | 1 requête simultanée par instance de fonction |
Répartition du trafic | Compatible | Non compatible |
Déploiement
Depuis août 2024, vous pouvez utiliser Cloud Run pour déployer et gérer les fonctions créées avec l'API Cloud Functions v2. Suite à ce changement :
- Les métadonnées de la fonction, telles que l'ID d'exécution et les configurations de compilation, sont stockées dans la définition du service Cloud Run.
- Vous pouvez modifier votre fonction en toute sécurité à l'aide de l'API Cloud Run Admin.
- Vous pouvez vous appuyer sur la définition du service Cloud Run comme source de référence pour votre fonction.
Toutefois, notez que les fonctions créées avec l'API Cloud Run Admin ne peuvent pas être modifiées avec l'API Cloud Functions.
Le tableau suivant récapitule les différences entre la création, le déploiement, la modification et la gestion des fonctions :
Fonctions Cloud Run | Cloud Run Functions (1re génération) | |
---|---|---|
ConsoleGoogle Cloud | Cloud Run | Cloud Run Functions (1re génération) |
Cloud SDK |
|
|
API REST |
|
|
Terraform |
|
Déclencheurs et nouvelles tentatives
Le tableau suivant compare les déclencheurs et les tentatives pour les fonctions :
Fonctions Cloud Run | Cloud Run Functions (1re génération) | |
---|---|---|
Déclencher et appeler une fonction | Pour les fonctions créées avec l'API Cloud Run Admin, vous spécifiez les déclencheurs lors du déploiement de la fonction dans la console Google Cloud ou après le déploiement de la fonction lorsque vous utilisez la gcloud CLI. Pour les fonctions créées avec l'API Cloud Functions v2, vous spécifiez des déclencheurs lors du déploiement de la fonction. |
Vous spécifiez des déclencheurs lors du déploiement de la fonction. |
Types d'événement | Compatibilité avec tous les types d'événements compatibles avec Eventarc, y compris plus de 90 sources d'événements via Cloud Audit Logs. | Assistance directe pour les événements de sept sources. |
Tentatives | Pour les fonctions créées avec l'API Cloud Run Admin, mettez à jour la stratégie de réessai dans Eventarc et configurez un sujet de messages non distribués dans Pub/Sub. Pour les fonctions créées avec l'API Cloud Functions v2, vous spécifiez les nouvelles tentatives lors du déploiement de la fonction avec l'indicateur --retry .
|
Vous spécifiez les nouvelles tentatives lors du déploiement de la fonction à l'aide de l'option --retry . |
Dissocier votre fonction
Les fonctions créées à l'aide de l'API Cloud Functions v2 (par exemple, à l'aide de gcloud functions
, de l'API REST ou de Terraform) peuvent être dissociées de leur environnement d'API existant. Une fois que vous avez dissocié une fonction, vous ne pouvez la gérer qu'à l'aide de l'API Cloud Run Admin. Vous pouvez le faire si vos charges de travail doivent rester dans les limites de l'API run.googleapis.com
pour Assured Workloads ou pour vous assurer que vos charges de travail utilisent le SKU Cloud Run.
Pour en savoir plus, consultez Gérer les fonctions.
Étapes suivantes
- Consultez le guide de démarrage rapide pour déployer une fonction Cloud Run.