Multi-Cloud at Scale: Lessons from Elanco's GCP + Azure Journey

A 2018 spinoff with a deadline forced us to rebuild a global enterprise as 100% cloud-native. Multi-cloud stopped being a religion and became a placement decision.

Most enterprises drift into multi-cloud by accident — an acquisition here, a rogue team there. We arrived by ultimatum. When Elanco spun off from Eli Lilly in 2018, we inherited a hard separation deadline and almost none of the infrastructure a global pharmaceutical business runs on. There was no time to lift-and-shift a legacy estate, because soon there would be no legacy estate to lift. We co-led a rebuild of the global IT ecosystem from scratch, cloud-native from day one, across 100+ countries — and we eliminated corporate data centers entirely.

Placement, not preference

The question we banned early was "which cloud do you like?" The question that replaced it: "where does this workload economically and technically belong?" The pattern that emerged is boring and it works. Microsoft Azure hosts the transactional core — business databases, SAP ERP, and identity, with Azure AD (now Entra ID) as the single source of truth, its groups mapped directly to GCP IAM roles so there is exactly one place a human is granted or revoked. Google Cloud is the analytics and AI engine.

The connective tissue is the Google Cloud Cortex Framework, which ingests the Azure-side SAP data into BigQuery, where Vertex AI models run against it. That one pipeline — transactions on Azure, intelligence on GCP — powers the predictive supply-chain work that cut inventory carrying costs by $2.3M a year. Neither cloud could have delivered that number alone; the value was in the seam.

The physics of the seam

Multi-cloud skeptics are right about one thing: if crossing clouds is slow, everything above it rots. So we treated the interconnect as a first-class product. Private peering in carrier-neutral facilities (Equinix) keeps cross-cloud region latency below two milliseconds — negligible against any application budget. Once the seam is faster than most intra-datacenter hops used to be, "never split a workload across clouds" stops being a law of nature and becomes what it always was: a default worth challenging deliberately.

Multi-cloud fails when it’s an ideology. It works when it’s a routing table with opinions.

We told this story publicly when I co-presented "Journey to Hybrid Multi-Cloud" with Matthew Bull at HashiConf, HashiCorp’s global conference. The questions afterwards were never about the diagrams. They were about governance: who decides placement, who owns the seam, who pays for the interconnect. That’s the real lesson of five years of operating this way — multi-cloud is 20% architecture and 80% deciding, in advance and in writing, how decisions get made.