Case study

Azure to GCP in one week

Moving an AI platform between clouds in a week sounds reckless. It was not, because the scope was small and the boundaries were clean.

Timeline
1 week
Cloud spend
~$200K / year saved
Move
Azure to GCP
Role
Founding Engineer, Xylo AI

The decisions that made it possible

Decision 1

Cut scope, not corners

A migration is two jobs: moving workloads and redesigning them. Most run long because they try both at once. We did the first and postponed the second. Same services, same data, same behaviour, somewhere cheaper. Every while-we-are-in-here idea went on a list for after cutover.

Decision 2

Inventory before anything else

Services, databases, queues, scheduled jobs, secrets, DNS records and the ML model serving path, all written down before touching GCP. The risk was never the big services. It was the forgotten cron job or the hard-coded hostname nobody remembered.

Decision 3

Keep the seams thin

The backend had already been rebuilt from a Django monolith into Spring Boot and FastAPI microservices with clear boundaries, ML model serving and data pipelines. Services with explicit boundaries and environment-based configuration move one at a time. That rebuild is what made a one-week move realistic.

Decision 4

Order the move so it can be undone

Never have a step you cannot reverse until the very end. Stateless services first, then data with replication running in parallel, then traffic. DNS cutover came last, with the old environment kept running until the new one had earned trust.

Where the savings came from

The headline was roughly $200K a year, and no single lever produced it. A move is a chance to right-size everything that had been over-provisioned because nobody wanted to touch it. Some of the saving was pricing, and some was finally looking at what was being paid for.

What I would tell you before you start

  • Migrate first, redesign later, and keep a written list of the redesign ideas.
  • Inventory everything, including the boring parts.
  • Wrap vendor-specific calls before the migration, not during it.
  • Keep the old environment alive until the new one has earned trust.
  • Decide who owns the cutover decision, and make it one person.

More on how I work in About and Writing.

Contact