Vai al contenuto

Come Deployare Automazioni Claude su Google Cloud Run: Guida Pratica

3 aprile 2026|7 min di lettura|Giovanni Liguori

TL;DR

Come deployare automazioni Claude su Google Cloud Run: containerizzazione, CI/CD, cron job e monitoring. Guida pratica con codice.

Le automazioni Claude sono potenti in locale. Ma per farle girare senza il tuo laptop acceso, servono nel cloud. Google Cloud Run è la scelta migliore per chi vuole costo zero sui volumi bassi e scaling automatico. Ecco come fare il deploy completo.

Perché Google Cloud Run per le Automazioni AI?

[CONTENUTO DA ESPANDERE] Serverless, pay-per-use, free tier generoso (2M richieste/mese gratis), scaling a zero, container Docker standard. Confronto con AWS Lambda, Azure Functions, Railway.

Prerequisiti: Cosa Ti Serve Prima di Iniziare

[CONTENUTO DA ESPANDERE] Account Google Cloud, gcloud CLI, Docker installato, API key Anthropic, Python 3.11+. Setup in 15 minuti.

Step 1: Creare l'Automazione Locale con Claude + Python

[CONTENUTO DA ESPANDERE] Struttura progetto, requirements.txt, main.py con anthropic SDK, test locale. Codice completo incluso.

Step 2: Containerizzare con Docker

[CONTENUTO DA ESPANDERE] Dockerfile ottimizzato per Cloud Run. Multi-stage build, image size ridotta, health check endpoint. Best practice sicurezza: secrets via Secret Manager.

Step 3: Deploy su Cloud Run

[CONTENUTO DA ESPANDERE] gcloud run deploy con configurazione ottimale: memory, CPU, concurrency, timeout. Comandi completi con spiegazione di ogni flag.

Step 4: Cron Job e Trigger Automatici

[CONTENUTO DA ESPANDERE] Cloud Scheduler per cron job (es: engagement LinkedIn alle 9:00). Pub/Sub per trigger event-driven. Eventarc per webhook. Setup completo con esempi.

Costi Reali: Quanto Spendo per 21 Automazioni

[CONTENUTO DA ESPANDERE] Breakdown: Cloud Run ~€5/mese, Cloud Scheduler ~€3/mese, Secret Manager ~€0, Logging ~€2/mese. Totale GCP: ~€15/mese per 21 automazioni. Il grosso del costo è l'API Anthropic (~€47/mese).

FAQ

Cloud Run è gratuito per automazioni AI?

[CONTENUTO DA ESPANDERE] Il free tier copre 2 milioni di richieste/mese. Per automazioni con volumi bassi-medi, il costo GCP è spesso sotto i €10/mese.

Posso usare Cloud Run senza Docker?

[CONTENUTO DA ESPANDERE] Sì, con Cloud Run source deploy. Carichi il codice sorgente e Google costruisce il container automaticamente. Più semplice ma meno controllo.

Da script locale a Cloud Run Job giornaliero in 4 comandi

Hai uno script Python che oggi avvii a mano ogni mattina. Funziona, ma è fragile: se dimentichi di lanciarlo o sei in viaggio, tutto si ferma. La soluzione più semplice (e spesso ignorata) per automatizzarlo in produzione è Google Cloud Run Jobs.

Di seguito trovi un riassunto operativo di come passare da "funziona sul mio laptop" a "gira ogni giorno in produzione" con 4 comandi e un costo reale inferiore a €1/mese.

Perché usare Cloud Run Jobs invece di VPS o cron

Per eseguire script schedulati puoi usare VPS, cron, GitHub Actions, Lambda, Cloud Functions, Cloud Run Services. Per task batch schedulati, Cloud Run Jobs è spesso la scelta migliore perché:

  1. Scala a zero: quando il job non gira, non paghi. Un VPS da €5/mese costa €5 anche se è fermo.
  2. Zero manutenzione: niente sistema operativo, patch di sicurezza o server da gestire.
  3. Scheduler integrato: con Cloud Scheduler imposti un cron standard e Google si occupa di eseguire il job.

Distinzione chiave:

  • Cloud Run Jobs → task che partono, fanno il lavoro e terminano (batch, scraper, report, scanner).
  • Cloud Run Services → API sempre attive (endpoint HTTP, webhook, servizi web).

Se stai schedulando uno script, usi Jobs.

Caso pratico: news scanner con Claude

Esempio concreto: uno script Python che ogni mattina alle 7:00:

  • legge 24 feed RSS
  • manda i titoli a Claude Haiku per uno scoring di rilevanza (1–10)
  • salva solo le notizie con punteggio > 7

Risultato: ~45 minuti risparmiati al giorno, costo per esecuzione ~€0.003.

Vediamo i 4 step per portarlo su Cloud Run Jobs.

Step 1 – Dockerfile minimo

Per uno script Python basta un Dockerfile essenziale:

```dockerfile

FROM python:3.11-slim

WORKDIR /app

COPY requirements.txt .

RUN pip install -r requirements.txt --no-cache-dir

COPY script.py .

CMD ["python", "script.py"]

```

Note pratiche:

  • python:3.11-slim è molto più leggero di python:3.11 (risparmi centinaia di MB).
  • --no-cache-dir riduce la dimensione finale dell’immagine.
  • Copiare prima requirements.txt sfrutta il caching Docker: se cambi solo il codice ma non le dipendenze, non reinstalli tutto.

Esempio di requirements.txt per il news scanner:

  • anthropic
  • feedparser
  • requests
  • python-dotenv

Step 2 – Build & push con Cloud Build

Con il Dockerfile pronto, un comando builda l’immagine e la carica nel Container Registry di Google:

```bash

gcloud builds submit --tag gcr.io/[PROJECT_ID]/news-scout

```

Sostituisci [PROJECT_ID] con il tuo project ID GCP.

Cosa succede:

  • Cloud Build esegue il build sui server Google, non sul tuo laptop.
  • L’immagine viene caricata automaticamente su Google Container Registry.
  • Il tier gratuito copre 120 minuti di build al giorno, più che sufficienti per update frequenti.

Step 3 – Creare il Cloud Run Job

Con l’immagine nel registry, crei il job:

```bash

gcloud run jobs create news-scout \

--image gcr.io/[PROJECT_ID]/news-scout \

--region europe-west1 \

--memory 512Mi \

--task-timeout 300

```

Parametri chiave:

  • --region europe-west1 → Belgio, ottima latenza dall’Italia.
  • --memory 512Mi → sufficiente per la maggior parte degli script Python; puoi scendere a 256Mi per script leggeri.
  • --task-timeout 300 → timeout di 5 minuti; oltre, il job viene interrotto.

Per variabili d’ambiente (API key, config):

  • rapido: --set-env-vars ANTHROPIC_API_KEY=xxx
  • meglio in produzione: Secret Manager con

--set-secrets ANTHROPIC_API_KEY=projects/[PROJECT]/secrets/anthropic-key:latest.

Per testare il job manualmente:

```bash

gcloud run jobs execute news-scout

```

Per vedere i log:

```bash

gcloud run jobs executions logs --job=news-scout

```

Step 4 – Scheduling con Cloud Scheduler

Ultimo passo: collegare il job a un trigger schedulato.

```bash

gcloud scheduler jobs create http news-scout-daily \

--schedule="0 7 * * *" \

--uri="https://[REGION]-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/[PROJECT_ID]/jobs/news-scout:run" \

--message-body="{}" \

--oauth-service-account-email=[PROJECT_NUMBER]-compute@developer.gserviceaccount.com \

--location=europe-west1

```

Dettagli utili:

  • 0 7 * * * → ogni giorno alle 7:00 UTC.
  • Per le 7:00 ora italiana (CEST, UTC+2) usa 0 5 * * *.
  • Il service account [PROJECT_NUMBER]-compute@developer.gserviceaccount.com è il default compute service account e in molti casi funziona senza configurazioni extra.

Costo reale

Cloud Run Jobs fattura sul tempo di esecuzione effettivo, non sul tempo in cui il servizio è “attivo”.

Per il news scanner (~90 secondi, 1 volta al giorno):

  • vCPU: 0,5 vCPU × 90s × 30 giorni = 1.350 vCPU-secondi → ~€0.0027
  • Memoria: 512Mi × 90s × 30 giorni = 40.500 GiB-secondi → ~€0.00063
  • Cloud Build: nel tier gratuito (120 min/giorno)
  • Cloud Scheduler: gratuito per i primi 3 job

Totale mensile: < €0.01. Meno di un centesimo al mese per un sistema che gira ogni giorno senza intervento manuale.

Ecosistema reale: 21 automazioni sullo stesso stack

Lo stesso pattern viene usato per 21 script in produzione, tutti con:

  • Claude per l’orchestrazione
  • Python per la logica
  • GCP (Cloud Run Jobs + Scheduler) per l’hosting

Per approfondire le funzionalità complete di Claude Code, ho scritto una guida dettagliata per developer e automatori. Per workflow pronti e template di deploy avanzati, trovi tutto in Claude Mastery.

Condividi:

Ogni settimana condivido workflow, errori e numeri reali

21 automazioni in produzione, zero dipendenti. Su LinkedIn documento il dietro le quinte: cosa funziona, cosa no, e i dati che nessuno mostra.

Deploy Automazioni Claude su Google Cloud Run: Tutorial