Skip to main content

Case Study: Automating Gumloop's Database Management with Atlas's Schema-as-Code Tooling

· 6 min read
Noa Rogoszinski
Noa Rogoszinski
DevRel Engineer

"The biggest win of any tool is when you don't need to look at it ever again and it just works."

– Wai Ho Choy, Infrastructure Lead, Gumloop

Company Background

Gumloop is a collaborative platform that empowers anyone in a company to build AI agents using their preferred models and integrations, while giving IT enterprise-grade visibility and control. Whether these agents are deployed in Gumloop's secure environment or within your own infrastructure, your data always stays entirely in your systems.

Managing Schemas Like Terraform

When Wai Ho Choy joined Gumloop in late 2025, the engineering team had just migrated its infrastructure to Terraform. Declarative, reproducible deployments were the new organizational standard. Kubernetes worked that way; GCP resources worked that way. Databases, however, did not.

Schema changes were still applied manually, with SQL operations executed one at a time via Google Cloud commands. Managing multiple database copies across client environments made it impossible to answer basic questions reliably: Was a change actually applied? In what order? Did it stay in sync with the application code?

"Those are the basic problems of maintaining a database without infrastructure-as-code," Wai Ho said.

The natural next step was to manage schemas the same way Gumloop managed everything else: define the desired state in code, let the platform reconcile the system to match, and trust the process to be entirely repeatable.

The team initially turned to Terraform for Google Cloud Spanner schema definitions, but Spanner support proved too limited. Operations failed, sequences broke, and index changes conflicted. Ultimately, the Terraform operator rollout did not survive contact with production.

Gumloop needed a true infrastructure-as-code (IaC) equivalent for databases that was declarative by design, deterministic during migrations, and seamlessly compatible with the rest of their toolchain.

Searching for a Solution

With Terraform ruled out for day-to-day schema management, Gumloop turned to the conventional options. Liquibase was the default recommendation, and Flyway was another contender.

Operating under a tight deadline, Wai Ho evaluated both. Gumloop's manual processes were already fracturing as dedicated customer deployments multiplied. There was no time for a lengthy evaluation or a heavy rollout. The team needed a tool that could bridge two worlds: the declarative model promised by Terraform and the explicit sequencing of versioned migrations.

Neither legacy option fit the bill.

"Liquibase felt overly verbose and generally outdated," Wai Ho said. Flyway and other alternatives required extensive boilerplate setup before Gumloop could manage a single database. Neither felt like a natural extension of the IaC culture the team had just established with Terraform.

Furthermore, a unique requirement shaped their search. Since Gumloop builds heavily with AI coding agents, any schema tooling had to seamlessly integrate into a programmatic, terminal-first workflow. "I want to see linting output in GitHub Actions. I want my AI to be able to see it, concisely, in one scroll at most," Wai Ho explained.

Choosing Atlas

Atlas was not initially on the list, but once Wai Ho evaluated it alongside Liquibase and Flyway, the contrast was stark: Atlas shipped as a single binary and natively supported both declarative and versioned workflows out of the box.

"When I looked at the documentation, I thought, 'This is what developers actually want to use,'" Wai Ho recalled. "The guides for every integration I could ever need were right there and incredibly well-documented, whether for GitHub Actions, the Kubernetes operator, the Terraform provider, or declarative and versioned migrations."

Atlas supports both declarative and versioned migration models without forcing the team to adopt a second tool or a conflicting mental model, allowing Gumloop to achieve a working integration faster than with any other option on the table. "I fought for Atlas," Wai Ho said. "If I'm going to maintain multiple databases, this is the tool I'm choosing."

Today, Atlas serves as the schema management layer across Gumloop's multi-tenant environments spanning Google Cloud Spanner, Amazon Aurora PostgreSQL, and ClickHouse, and integrates seamlessly into their automated CI/CD pipeline. On every pull request, a GitHub Action spins up the Atlas CLI to validate changes by performing a precise three-way comparison against staging and production.

To top it off, the team configured their AI agents to use Atlas's documentation for context awareness when interacting with Atlas's CLI outputs. This allows them to interpret real-time linting results, generate accurate schema changes, and handle integration syntax completely on their own.

The Outcome

Choosing Atlas gave Gumloop a schema workflow that perfectly mirrors how the team thinks about infrastructure and how they build with AI.

Today, when a schema change is needed, an AI agent often drafts the migration, a human reviews it, and CI takes over. If a migration fails, the feedback loop is instantaneous.

"The linter may pass visually, but when you run the development database against it, it cracks," Wai Ho described. "That is where Atlas helps. It answers: 'If you were to deploy this today for a new tenant, would it work?'" When a failure occurs, the Atlas CLI output is specific enough that the AI agent can parse the error and automatically fix it.

Months after adoption, Atlas runs quietly in the background, delivering several core benefits to the Gumloop team:

  • True IaC for Databases: Gumloop maintained the declarative mindset they used for Kubernetes and GCP while gaining deterministic, versioned migrations. "Once I started using Terraform, I couldn't go back to anything that wasn't like it," Wai Ho said.

  • Multi-Cloud Consistency: Atlas acts as the unified schema layer across Google Cloud Spanner, Amazon Aurora PostgreSQL, and ClickHouse. When an AWS expansion required switching from versioned migrations to a declarative model, the team executed the pivot seamlessly without any additional tooling.

  • Automated Drift Detection: By running three-way comparisons between pull requests, staging, and production on every PR, Atlas catches manual hotfixes instantly and gives developers complete context before deployment.

  • AI-Native Workflows: The terminal-first, concise CLI output allows AI coding agents to independently debug, reorder files, and resolve migration issues without human engineers getting bogged down in long debugging loops.

  • Zero Overhead: Atlas successfully handles thousands of lines of schema code without demanding ongoing maintenance. As Wai Ho concluded, "The goal of any infrastructure engineer is to build a bridge that stays up. If I have to go back in, the tool has failed. With Atlas, it's been months since I've had to touch anything."

Getting Started

By treating database schemas with the same infrastructure-as-code discipline as the rest of the stack, Gumloop eliminated the manual bottlenecks that threaten scaling engineering teams. Integrating Atlas into their CI/CD pipeline didn't just automate their migrations, it created a deterministic, visible, and AI-ready workflow without adding operational overhead.

If your team already manages infrastructure with Terraform and wants the same approach for database schemas, or needs schema checks that fit an AI-assisted development workflow, Atlas could be the solution for you.