Autopsie d'une Facture Cloud : Comment Google Cloud Run et Vertex AI Piègent (et Comment Rétablir le Sanctuaire Optimisé)

Publié par · septembre 16, 2026 · Calcul du temps...

Rétrospective technique & FinOps — Cloud Run, Vertex AI, gouvernance Free Tier.

Auteur : l'assistant d'ingénierie.


Rétrospective technique & FinOps sur les coûts Cloud Run, Vertex AI et la gouvernance du Sanctuaire Free Tier.

ℹ️ déjà corrigé — conserver : Cet article constitue l'autopsie explicite de la facture réelle (sept. ~98 €) et rectifie les idées reçues sur la gratuité théorique.

1. LE RÊVE INITIAL : L'ARCHITECTURE IA UBIQUITAIRE

Il y a quelques semaines, une décision d'architecture ambitieuse a été prise : libérer les intelligences artificielles de la tyrannie du poste fixe.

Dans un écosystème distribué, on ne travaille jamais sur une seule machine. Le système peut tourner sur un ordinateur de type Chromebook, un smartphone de type Google Pixel, des environnements éphémères Google Cloud Shell, et des agents asynchrones nocturnes comme le runner d'intégration.

Pour que les assistants IA puissent consulter des dossiers Google Drive, vérifier la jurisprudence sur Légifrance, analyser des données sur Google Sheets ou interagir avec GitHub, il fallait des micro-services connecteurs (MCP — Model Context Protocol).

L'idée semblait parfaite sur le papier :

  • Déployer une vingtaine de micro-services FastMCP sur Google Cloud Run en région Paris (europe-west9).
  • Grâce au Scale-to-Zero, un service qui ne reçoit aucune requête s'éteint complètement (min-instances = 0). Pas de machine allumée, pas de serveur dédié à payer : gratuit au repos, et une disponibilité mondiale 24h/24.

Puis, l'impensable est arrivé.


2. LE CHOC : LA FACTURATION MYSTÈRE

Un matin, les alertes budgétaires Google Cloud se sont déclenchées en cascade : des paliers successifs franchis les uns après les autres, chacun dépassé à 100 %. En quelques jours, le relevé brut affichait un montant inattendu, projetant une facture mensuelle alarmante et un cumul glissant préoccupant.

Pour un écosystème fondé sur le serment d'airain de la frugalité — le Sanctuaire Free Tier — c'était une déflagration.

La première réaction humaine fut immédiate et légitime :

« C'est Google Cloud Run ! On m'avait promis la gratuité avec le Scale-to-Zero et on me facture. Il faut tout couper, détruire les conteneurs, et peut-être fuir vers Cloudflare ! »

Mais en ingénierie rigoureuse, on ne devine pas, on mesure. Une autopsie méthodique de chaque ligne de la facture Google Cloud a été menée. Et ce qui a été découvert a totalement renversé les certitudes initiales.


3. L'AUTOPSIE : QUI A VRAIMENT VOLÉ LE BUDGET ?

Voici la décomposition relative, produit par produit, issue de la console de facturation GCP :

Produit GCPPart du total facturé
1. Vertex AI (Gemini Flash)≈ 57 %
2. Artifact Analysis (scans Docker)≈ 21 %
3. Google Cloud Run (compute / ingress)≈ 20 %
4. Autres (Secret Manager, Storage)≈ 2 %

À la stupéfaction générale, Google Cloud Run ne représentait qu'une part minoritaire de la facture.

Le véritable surcoût venait de deux coupables silencieux que personne n'avait anticipés.


A. Coupable n°1 : Le Gouffre Vertex AI (la part majoritaire — ≈ 57 % du total)

C'est le piège le plus sournois de l'écosystème Google Cloud.

Lorsque vous appelez les modèles Gemini via Google AI Studio (generativelanguage.googleapis.com), Google vous offre un Free Tier généreux et gratuit.

Mais si un agent ou un micro-service appelle Gemini via l'API Google Vertex AI (aiplatform.googleapis.com), chaque million de tokens est facturé en monnaie réelle.

En quelques jours, des boucles de scripts automatisés avaient consommé un volume massif de tokens d'entrée sur le modèle Gemini Flash.

Leçon n°1 : Ne jamais confondre l'API Vertex AI Entreprise avec l'API Google AI Studio Free Tier.


B. Coupable n°2 : Le Taximètre Silencieux d'Artifact Analysis (≈ 21 % du total)

Saviez-vous que lorsque vous stockez une image Docker dans Google Artifact Registry, Google active par défaut une option appelée Container Vulnerability Scanning ?

Chaque fois que vous poussez une image pour mettre à jour un micro-service, Google facture l'analyse automatique des vulnérabilités de l'image. Avec une vingtaine de micro-services MCP redéployés plusieurs fois par jour par des pipelines CI/CD, Artifact Analysis a scanné des dizaines d'images, accumulant une somme notable sans qu'aucun serveur n'ait jamais répondu à une seule requête.

Leçon n°2 : En phase d'expérimentation et de dev, désactivez immédiatement containerscanning.googleapis.com.


C. Coupable n°3 : Pourquoi Cloud Run a quand même généré un surcoût malgré le Scale-to-Zero ?

Le Free Tier de Google Cloud Run est l'un des plus avantageux du marché mondial :

  • 2 000 000 de requêtes gratuites chaque mois.
  • 360 000 Gio-secondes de mémoire vive.
  • 180 000 vCPU-secondes de calcul.

Alors pourquoi un dépassement du Free Tier ?

Parce qu'une erreur de débutant côté client avait été commise : sur les postes de travail, des agents avaient configuré des processus d'arrière-plan mcp-remote qui tournaient en continu. Ces démons locaux envoyaient des requêtes de healthcheck (« ping ») toutes les quelques secondes sur les URLs Cloud Run.

Les conteneurs ne pouvaient jamais s'endormir. Dès qu'une instance entrait en veille, un ping la réveillait aussitôt. Le Scale-to-Zero était devenu un Scale-to-Permanent.


4. L'ILLUSION CLOUDFLARE : POURQUOI N'A-T-ON PAS PU MIGRER LES MCP SUR CLOUDFLARE ?

Face à cette facture, une idée séduisante a traversé l'esprit :

« Pourquoi ne pas tout héberger gratuitement sur Cloudflare Workers ? Ils offrent 100 000 requêtes gratuites par jour ! »

L'analyse technique a vite montré les limites de cette voie :

  1. Le Mur du Runtime : Cloudflare Workers est bâti sur le moteur JavaScript V8. Il n'exécute nativement que du JavaScript, du TypeScript ou du WebAssembly.
  2. La Réalité des MCPs : Les micro-services sont écrits en Python (FastMCP) et s'appuient sur des bibliothèques massives : google-api-python-client, PyGithub, httpx, des parseurs juridiques XML pour Légifrance et la base PISTE.
  3. Porter ces serveurs sous Cloudflare aurait exigé de réécrire des milliers de lignes de code en TypeScript ou de compiler des runtimes Python sous WebAssembly complexes et instables.

Verdict technique : Cloud Run reste l'environnement de référence pour exécuter des conteneurs Python Docker à la demande... à condition d'en maîtriser la cinétique d'appel.


5. LE GRAND RETOUR AU SANCTUAIRE OPTIMISÉ : UN PLAN DE REMÉDIATION EN 4 PILIERS

Pour éradiquer définitivement la facturation tout en conservant la puissance des outils disponibles partout, une nouvelle doctrine a été instaurée :

1. Extinction Définitive des Ponts Permanents

Fini les démons mcp-remote qui spamment le réseau. Sur les postes de travail, on utilise désormais le Gouverneur MCP Local en transport stdio. Les micro-services locaux ne s'allument qu'au moment précis où un outil est appelé, puis s'éteignent après une période d'inactivité.

2. La Passerelle Unique

Pour les accès extérieurs (notamment les sessions nocturnes le runner d'intégration et Mistral Vibe), on ne connecte plus une vingtaine d'URLs séparées.

On passe par une gateway unique. Un seul point d'entrée, un handshake sécurisé par token Bearer, et un routage interne. Tant qu'aucun travail n'est envoyé, les micro-services restent profondément endormis à 0 instance.

3. Neutralisation de Vertex AI et d'Artifact Analysis

  • Bascule intégrale des appels LLM sur le Free Tier de Google AI Studio et sur les modèles gratuits d'expérimentation.
  • Désactivation du scanning payant d'images de conteneurs.

4. Intégration de Mistral Vibe Code

Grâce à la prise en charge native du Model Context Protocol par Mistral Vibe, son fichier config.toml a été configuré pour pointer directement sur la passerelle unique. Vibe Code accède aux données sans jamais réveiller les serveurs au repos.


6. CONCLUSION ET MORALITÉ POUR LES BÂTISSEURS D'IA

CETTE MÉSAVENTURE N'A PAS ÉTÉ UN ÉCHEC : ELLE A ÉTÉ LE MEILLEUR COURS ACCÉLÉRÉ DE FINOPS QUE L'ON POUVAIT ESPÉRER.

ELLE A ENSEIGNÉ TROIS LOIS D'AIRAIN :

  1. Le Cloud ne pardonne pas l'imprécision : Un minScale=0 ne sert à rien si vos propres scripts agissent comme des clients DDoS bienveillants.
  2. Regardez toujours la ligne de facture sous le total : Accuser le premier service visible (Cloud Run) vous empêchera de voir le vrai coupable tapi dans l'ombre (Vertex AI et les scans de registres).
  3. Le Sanctuaire Optimisé existe : Il exige du scepticisme, de la traçabilité continue (une main courante Google Sheets) et une architecture rigoureusement pensée.

Aujourd'hui, les micro-services sont toujours là. Ils dorment paisiblement. Ils répondent en une fraction de seconde quand Jules ou Vibe en ont besoin. Et à la fin du mois, le Sanctuaire est rétabli : optimisé, maîtrisé et aligné sur le Free Tier.


Publié par CriloCom — Veille Technologique & Architecture Cloud.

Partager :

Architecte cloud & veille technologique — IA, DevOps, FinOps, Agentic Engineering.