~/francis-ohara_
all work

~/work/vertex-ai-terraform

Vertex AI Terraform Resource

Official infrastructure-as-code for GenAI on Google Cloud

An officially published Terraform resource that lets anyone deploy generative AI models from Vertex AI Model Garden with a single declarative block. Live in the HashiCorp Google provider and documented in official Google Cloud docs, with enterprises deploying through it today.

GoGoTerraformTerraformJavaJavaVertex AIVertex AIADKADKJUnit + MockitoJUnit + Mockito

Role

Software Engineering Intern, Google

Timeline

May 2025 → Aug 2025

$19.2M

ARR opportunity unblocked

Official

published in the Terraform Google provider

0 → 1

first-class Model Garden deployments in Terraform

main.tf · deploying a GenAI model, after my internship

resource "google_vertex_ai_endpoint_with_model_garden_deployment" "gemma" {
  publisher_model_name = "publishers/google/models/gemma3"
  location             = "us-central1"

  model_config {
    accept_eula = true
  }
}

01 · the problem

Google Cloud partners wanted to deploy generative AI models from Vertex AI Model Garden at scale, but there was no first-class Terraform support for it. Enterprises ship infrastructure as code; a manual deployment workflow doesn't fit how they operate. That gap was blocking a $19.2M ARR opportunity.

02 · what I built

  • Engineered the vertex_ai_endpoint_with_model_garden_deployment resource in Go, now officially published in the HashiCorp Google provider.
  • Discovered and resolved a critical race condition in the Vertex AI backend in Java that prevented concurrent model deployment requests.
  • Validated the concurrency fix with comprehensive JUnit and Mockito test suites.
  • Built a chat-based multi-agent system with Google's Agent Development Kit whose sub-agents autonomously discover open-source GenAI models, provision endpoints, deploy models, and run inference on them.

03 · the pipeline

  1. 1

    design

    Defined the resource schema and mapped it onto the Vertex AI Model Garden deployment APIs.

  2. 2

    implement

    Built the resource in Go inside the Terraform provider for Google Cloud.

  3. 3

    harden

    Found a race condition in the Vertex AI backend that broke concurrent deployments and fixed it in Java, so the resource holds up under real parallel usage.

  4. 4

    test

    Covered the fix and the deployment flow with JUnit and Mockito test suites.

  5. 5

    publish

    Shipped through Google's review process to the official Terraform Registry, with usage documented in Google Cloud's own docs.

04 · key decisions

Fix the platform, not just the client

The race condition lived in the Vertex AI backend, not in my Terraform layer. Fixing it at the source meant every client of the API benefited, not just my resource.

Meet enterprises where they ship

Partners manage everything as code. Turning a multi-step manual deployment into one declarative Terraform block is what actually unblocked adoption.

05 · where it stands

  • Officially published and publicly documented in the Terraform Registry and Google Cloud docs.
  • $19.2M ARR opportunity unblocked for Google Cloud partners.
  • Concurrent model deployments work reliably after the backend fix.
GoTerraformJavaVertex AIADKJUnit + Mockito