Skip to main content

AWS, Azure, or GCP: How I Think About the Enterprise Cloud Question

·772 words·4 mins

☁️ Question: which cloud for enterprise scale? 💡 Honest answer: the one that matches your org chart, your licenses, and your team’s muscle memory — not the feature matrix

Every architecture review eventually arrives at the same question: AWS, Azure, or GCP? And every vendor comparison answers it with a feature matrix, as if enterprises pick clouds the way gamers pick GPUs. After years of sitting in these discussions, I can tell you the feature matrix is the least interesting part. All three hyperscalers can run your workloads. The real differences are about fit.

Here’s how I actually think about it.


🟠 AWS: the default for a reason
#

AWS is the safe pick, and “safe” is not an insult at enterprise scale. The service catalog is the deepest, the ecosystem of tooling and people who know it is the largest, and the sharp edges have mostly been documented by a decade of other people’s incidents.

The strengths are real: EC2 covers practically any performance-to-budget combination, S3 is still the benchmark everyone else describes themselves against, Lambda is the most mature serverless option, and Outposts handles the “we still have a data center” reality without a full rewrite.

The cost is complexity. AWS pricing is a discipline of its own, and the learning curve for a team starting fresh is steep. The proprietary-service gravity is also strongest here — convenient services pull you in, and five years later “we could migrate if we wanted” is a sentence nobody says with a straight face. Kubernetes and open tooling are the usual counterweight.


🔵 Azure: if you’re a Microsoft shop, stop pretending you have a choice
#

I mean this without judgment. If your company runs on Active Directory, Windows Server, and SQL Server, Azure is not one option among three — it’s the path of least resistance, and resistance is expensive. Azure Hybrid Benefit alone (reusing existing licenses in the cloud) changes the financial math enough to end many evaluations early.

Azure’s hybrid story is genuinely its best feature: Arc and Stack treat on-prem, multi-cloud, and Azure as one managed surface, and extending AD to the cloud is about as smooth as that sentence can ever be. Compliance tooling is strong, which matters in regulated industries.

Where it lags: spot capacity is less mature than AWS’s, and while Linux support is fine these days, the platform clearly shines brightest in Microsoft-first environments. That’s not a flaw — it’s the strategy.


🟡 GCP: the engineer’s cloud, with caveats
#

GCP is what happens when the company that invented Kubernetes builds the cloud around it. If your architecture is container-native and your workloads lean toward data and ML, GCP feels coherent in a way the others don’t — GKE is the best managed Kubernetes, the networking is excellent, Vertex AI is a serious ML platform, and pricing (sustained-use discounts, preemptible VMs) is the most transparent of the three.

The caveat: GCP assumes you’ve adopted its worldview. Teams new to containers face a steeper on-ramp, and the enterprise sales and support motion still trails the other two. You pick GCP because your engineers want it — which, depending on your org, is either the best or the worst reason.


🧮 The quick version
#

You are…Lean toward
Starting fresh, want the broadest ecosystem and hiring poolAWS
A Microsoft estate with AD, SQL Server, and EA agreementsAzure
Container-native, data/ML-heavy, engineering-ledGCP
Regulated, with hard data-residency or on-prem requirementsWhoever has the right regions + a hybrid layer (Arc, Anthos, OpenShift)

And the option the vendor decks undersell: more than one. Most large organizations end up multi-cloud whether they planned it or not — an acquisition here, a data-residency requirement there. Designing for portability from day one (containers, Terraform, no gratuitous proprietary couplings) costs little and buys you negotiating leverage forever. I’ve written more about that in resilient multi-cloud architectures.


🧭 What actually decides it
#

In my experience the decision usually comes down to three unglamorous questions:

  1. What does your team already know? Re-skilling an organization costs more than any pricing difference between providers.
  2. What do your contracts say? Existing Microsoft agreements, committed-spend deals, and partner relationships move the needle more than benchmarks do.
  3. What will your regulator accept? In some industries and regions this question eliminates options before engineering ever gets a vote.

Notice that none of these are about the technology. That’s the point. The platforms have converged enough that the differentiator is fit with your organization — and the architecture practices you bring (IaC, GitOps, workload portability, FinOps discipline) will determine your outcome far more than the logo on the invoice.