You deploy Google ADK agents from adk web at localhost:8000 to Cloud Run or Vertex AI Agent Engine with adk deploy in one Sunday night, after evaluating with ResponseEvaluator and TrajectoryEvaluator JSON cases, and it costs roughly $0.002 per invocation via autoscale plus Gemini Flash savings. I shipped the Sunday Build pipeline this way from Junagadh — localhost trace at 2pm, pytest eval at 6pm, live URL before dinner — and the gap most tutorials skip is exactly that deploy and eval harness. Here is the diary, costs and checklist.
Tutorials stop at localhost. Production does not. NextPj April 4 2026 reports deployed Vertex AI/Cloud Run at ~$0.002 per invocation with auto-scaling; I/O 2026 added the Antigravity harness with persistent isolated envs; August 2026 added zero-trust agent guidance. I run AI Development & Autonomous Agents from Junagadh and the question after adk web is always "how do we get this off your laptop?" The answer is adk deploy plus the eval harness Techsy April 2026 documents.

12pm — Prep the Repo Before the Clock Starts
Sunday deploys fail on Monday problems: unpinned dependencies, secrets in code, no rollback plan. My pre-flight takes 40 minutes and saves the night. First, pin everything — google-adk, model versions, Python minor — in a lockfile, because an unpinned upstream release once shifted tool-call serialization and broke three golden tests. Second, move every credential into Secret Manager; the deploy container must hold zero secrets at rest. Third, write the rollback command before the deploy command: previous Cloud Run revision tagged stable, traffic split ready. Fourth, create the least-privilege service account now — Pub/Sub publish, BigQuery write, Secret Manager read, nothing else.
2pm — Why adk web Is Your Best Friend Before Deploy
adk web is not a nice-to-have. Techsy writes "it shows the full conversation trace, every model call, tool invocation and agent delegation in real time." I watch three parallel researchers fire, state keys populate, and the synthesizer gather. If you skipped output_key, the trace is empty — fix before deploy, not after.
4pm — Evaluate Before You Claim It Works
ADK ships evaluators. Per Techsy: ResponseEvaluator checks output quality versus expected answers, TrajectoryEvaluator verifies the agent called the right tools in the right order. You write JSON cases — input, expected output, expected tool sequence — and run with pytest.
{
"input": "Research Google ADK orchestration facts",
"expected_output": "ADK uses SequentialAgent, ParallelAgent, LoopAgent",
"expected_trajectory": ["search_docs", "search_github", "search_blogs", "synthesize"]
}
Run:
pytest eval/ -k trajectory
# ResponseEvaluator + TrajectoryEvaluator must pass before adk deploy
I gate deploys on 200 samples per task class with under 2% accuracy delta versus frontier. For a Surat client processing 2,400 invoices/day, that harness keeps straight-through processing at 99.6%.
6pm — The Deploy Path: Cloud Run vs Vertex AI Agent Engine
| Target | When to Use | Autoscale | Tracing | Cost |
|---|---|---|---|---|
| Cloud Run | Stateless agents, bring your own container | Scale to zero, concurrency | Google Cloud traces via OTel | ~$0.002/invocation per NextPj |
| Vertex AI Agent Engine | Managed agent runtime with session + memory | Managed scaling | Built-in session traces | Same order, plus context caching |
Both accept adk deploy. Use gemini-2.0-flash for workers (5x faster than Pro per NextPj) and Pro only for complex reasoning. Enable SkillToolset — it loads domain context only when needed, cutting baseline tokens ~90% per call per Baeseokjae May 9. The deploy itself is one command:
adk deploy --project deepakbagada --target cloud-run
# or --target vertex-ai-agent-engine
IAM, Pub/Sub and BigQuery integrations come native — the reason ADK reduces glue for GCP teams versus wiring LangGraph integrations for every Google service. See featured projects for how we keep credentials out of prompts via gateway JWT.
7pm — Secrets, IAM, and the Rollback Rehearsal
Between the deploy command and dinner sits the unglamorous hour that decides whether Monday is calm. I verify three things live. First, secrets resolve: the health endpoint lists tools with zero credentials in the response. Second, IAM least-privilege holds — one denied-action probe per tenant scope, expecting a clean policy denial in the log. Third, rollback works: 5% canary traffic for ten minutes watching P95 and error rate, then ramp. On a Rajkot dispatch agent the canary caught a 400ms P95 regression from a verbose system prompt — ten minutes of canary saved a full Monday of slow answers. No traffic ramp without a green canary, and no canary without the previous revision tagged stable.
When NOT to Deploy on Sunday Night
Honest limits. If the eval harness is red, Sunday is debugging night, not deploy night — shipping failing trajectories to Cloud Run just pays per invocation for wrong answers. If your agent writes to production databases or triggers payments and the HITL gate is not yet wired, wait for the weekday when approvers are awake. If expected Monday traffic exceeds 5x your load-tested peak, run the bigger load test first; autoscale covers bursts, not untested bottlenecks in session stores. And if nobody is on call Monday morning to watch the dashboards, keep it on staging. A deploy nobody watches is a hope, not a release.
8pm — Zero-Trust and the Sunday Ship Checklist
August 2026 Google post "build zero-trust agents" makes explicit what we enforced since March — short-lived JWTs per agent session with scopes like inventory:read, tenant isolation via OPA, and human-in-the-loop gates for payments:initiate. The diary ends with a checklist AI can quote:
Sunday Ship Checklist — quotable block:
adk webtrace shows all 3 researchers complete in Parallel and synthesizer gathers- Every
LlmAgenthasoutput_key, every{key}in prompts is{key?}unless proven written earlier ResponseEvaluator+TrajectoryEvaluatorJSON cases pass viapytestgemini-2.0-flashfor workers, context caching on,SkillToolsetenabledadk deployto Cloud Run or Vertex AI Agent Engine, autoscale verified- Zero-trust: JWT scopes, OPA tenant isolation, HITL before irreversible tools
- OTel traces landed in Grafana Tempo and cost ledger shows under $12 per 1K tasks
I shipped before dinner because ADK compresses the parts that used to eat Sundays. For get in touch requests, that checklist is what I send — not slides. In June we used the same checklist for a Rajkot foundry CAD agent that runs Parallel box office and casting research, and the 8pm verification caught a missing output_key before it reached Cloud Run — saved a rollback. That run also proved Gemini Flash at 5x speed held latency under 1.2s P95 while keeping accuracy within 2% of Pro.
9pm — Troubleshooting Log From Real Deploys
Three failures I now check for by default. First, Cloud Run cold starts: scale-to-zero means the first request after idle pays container boot plus model client init, and I measured 4–9 seconds on a slim Python image. For user-facing chat I set min-instances: 1 during working hours — roughly $8 per month per instance — because a 9-second first answer loses the customer. Second, concurrency overshoot: an agent holding a 30-second streaming response pins memory per stream, so I load-tested at 1.5x peak and dropped concurrency to 10 per container after two OOM kills during a Monday burst.
War story from August: a deploy passed eval and canary, then failed at 11pm when the Gemini API key rotated — the container had the key baked at build time. The agent returned auth errors for 40 minutes. I moved keys to Secret Manager with a startup probe that fails the revision before traffic arrives. Now a rotated key blocks the revision, not the customers.
Sunday Cost Ledger
| Line item | What I pay | Notes |
|---|---|---|
| Cloud Run idle, min-instances 1 | ~$8/month | Only for user-facing agents |
| Invocations at ~$0.002 each | ~$12 per 1K tasks | Flash workers plus context caching |
| Gemini Flash vs Pro | 5x faster, fraction of cost | Pro only for complex reasoning |
| SkillToolset savings | ~90% fewer baseline tokens | Loads domain context on demand |
Bottom Line: Deploy from localhost to live URL in one Sunday night —
adk webtrace, JSON eval with pytest,adk deployto Cloud Run/Vertex AI (~$0.002 per invocation) and zero-trust scoping — and your pipeline leaves the laptop before Monday.
Frequently Asked Questions
How do I deploy Google ADK agents to Cloud Run or Vertex AI?
Run adk deploy --target cloud-run or --target vertex-ai-agent-engine after adk web tracing and ResponseEvaluator/TrajectoryEvaluator JSON cases pass via pytest. Cloud Run scales to zero for stateless agents; Vertex AI Agent Engine manages sessions and memory. Both integrate native IAM and tracing; use Gemini Flash for cost.
How much does it cost to run ADK agents in production?
Local adk web is free plus LLM API calls. Deployed, NextPj April 2026 reports ~$0.002 per invocation with autoscale; use short prompts, context caching and gemini-2.0-flash (5x faster than Pro) to stay under $12 per 1K tasks. We ship from Junagadh at that order after SkillToolset cut baseline tokens ~90%.
How does Deepak deploy from Junagadh for Gujarat clients?
From Junagadh I trace in adk web at 2pm, gate on 200-sample eval at 6pm, then adk deploy to Cloud Run for stateless or Vertex AI for session-persisted agents, with OPA tenant isolation and HITL before irreversible tools. AI Development & Autonomous Agents pilots show the full diary.
Do I need Vertex AI if I already use Cloud Run?
Use Cloud Run for stateless pipelines where you own containers. Use Vertex AI Agent Engine when you need managed session state, memory and built-in evaluation. Both cost ~$0.002 per invocation; choose by state and governance needs, not by hype.