Come Deployare Automazioni Claude su Google Cloud Run: Guida Pratica
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é:
- Scala a zero: quando il job non gira, non paghi. Un VPS da €5/mese costa €5 anche se è fermo.
- Zero manutenzione: niente sistema operativo, patch di sicurezza o server da gestire.
- 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 dipython:3.11(risparmi centinaia di MB).--no-cache-dirriduce la dimensione finale dell’immagine.- Copiare prima
requirements.txtsfrutta il caching Docker: se cambi solo il codice ma non le dipendenze, non reinstalli tutto.
Esempio di requirements.txt per il news scanner:
anthropicfeedparserrequestspython-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.
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.