Azure vs AWS vs GCP - How To Choose The Right One
A pragmatic, no-agenda comparison of the three main cloud service providers.
The Question Everyone Asks (And Most People Answer Badly)
“Which cloud provider should I choose?”
The answer will always be coloured by some level of bias but, it should always, always be, it depends!
If you’re being led down the path of a particular vendor without a single question being asked in relation to the problem you’re trying to solve, take a beat. In those scenarios you may as well rock, paper scissors your decision! Alternatively, toss a coin. Ask for divine intervention. Let fate decide. The point here, unless you know the problem you are trying to solve, you cannot confidently pick the best cloud for the job.
The fact of the matter is all three major cloud providers offer excellence. AWS, Azure, and Google Cloud Platform (GCP) are all mature, capable, and will comfortably handle the vast majority of workloads you’re likely to throw at them. The differences between them matter less than you think. The things that should drive your decision are rarely the things comparison articles focus on.
You’ve all seen these comparison articles. You know the ones. They have beautifully formatted tables, colour-coded feature matrices and animated diagrams showing side-by-side service comparisons. I’m not going to lie they do look impressive. They’re also outdated before you finish scrolling. In the time it takes you to get through it the vendors will have launched thirty new services, three will have new names, and two will have been retired. You just spent hours reviewing a snapshot of a constantly evolving landscape.
I’m not going to do that here. Instead, let’s talk about the things that actually mean something and are tangible enough to pin a decision on.
First, Let’s Get Something Out of the Way
You can’t have favourites and there is no best cloud. I’ve deployed production workloads on all three platforms. I’ve watched migrations succeed and fail on all three. I’ve seen organisations pick the “right” provider and still make a mess of it, and I’ve seen organisations pick what the internet said was the “wrong” provider and make amazing things happen.
Your choice of cloud provider is far less important than what you do with that provider.
If that sentence saved three months of analysis paralysis, you’re welcome. But stick around, because while the choice matters less than the implementation, it still matters. And there are some genuine differences worth understanding.
The Big Three: What Each One Actually Does Well
AWS (Amazon Web Services)
AWS was first to market and it shows. They have the broadest range of services, 200+ last count and rising. I suspect even Amazon may have lost track of all of its services at this point. If there’s a niche cloud service you need, AWS probably has it. Or three versions with subtly different names.
Where AWS genuinely shines:
The sheer breadth of services is real. If you’re building something technically complex or need a very specific capability, AWS will most likely have a managed service for it. Their compute options are mature, their networking is solid, and services like Lambda (serverless) and S3 (storage) are genuinely category-defining.
AWS also has the largest ecosystem. More third-party integrations, more documentation, more Stack Overflow answers, more consultants who know what they’re doing. When you hit a problem at 2am, the odds of someone having already solved it and written about it are highest with AWS.
Where AWS will frustrate you:
The AWS console. It is best described as erm, functional. I’m being generous. It is an awful lot better than it used to be but navigating the AWS Management Console feels like being dropped into a cockpit with 200 unlabelled switches. The IAM permission model, while powerful, has a learning curve that could be classified as a sheer cliff face.
Pricing is also deliberately opaque. I’m convinced there’s a team at Amazon whose sole job is to ensure no human can predict their AWS bill with any level of accuracy or predictability. Data transfer costs in particular have a habit of appearing like unwanted guests at a party.
Microsoft Azure
Azure is the natural home for organisations already living in the Microsoft ecosystem. If your business runs on Microsoft 365, Active Directory, and Windows Server, Azure integrates with all of that in ways the other two simply can’t match.
Where Azure genuinely shines:
The integration with existing Microsoft infrastructure is Azure’s killer feature, and it’s not close. Single sign-on through Entra ID (what used to be Azure Active Directory, because Microsoft can’t resist renaming things), seamless connections to Microsoft 365, and native tooling that feels familiar if you’ve spent time in the Microsoft world.
Azure’s hybrid cloud story is also strong. Azure Arc lets you manage on-premises and multi-cloud resources through a single pane of glass, which is genuinely useful if you’re not going all-in on cloud, and as I’ve said in previous posts, going all-in isn’t always the right call.
For regulated industries, Azure tends to have the compliance certifications sorted. Government, healthcare, financial services, Microsoft has been playing in enterprise compliance for decades. You can tell.
Where Azure will frustrate you:
Another provider and it’s yet another console failure. It’s even more complex to navigate than AWS’ and is often sluggish. You could sail round the world quicker or it certainly feels like it. The documentation, while extensive, sometimes reads like it was written by three different teams who never spoke to each other. It probably was too!
Service naming is a particular bugbear. Microsoft renames things with alarming regularity, Azure Active Directory became Entra ID, Azure AD B2C is now something else, and by the time you’ve updated your documentation, they’ve probably renamed it again. It makes searching for solutions harder than it needs to be. It also makes communicating internally a nightmare because of the ambiguity it causes.
Azure’s networking model also has some quirks that catch people out, and their support tiers are expensive relative to what you get. The free tier of support is essentially “here’s some documentation, good luck.”
Google Cloud Platform (GCP)
GCP is the youngest of the three in terms of commercial cloud services, but it’s built on the infrastructure that runs Google Search, YouTube, and Gmail. That’s not nothing. Because GCP was last of the three to market it has also been able to learn from the mistakes of the other two.
Where GCP genuinely shines:
Data and analytics. Full stop. If your workload involves large-scale data processing, machine learning, or analytics, GCP’s BigQuery, Dataflow, and Vertex AI are outstanding. BigQuery in particular lets you run SQL queries across massive datasets in ways that feel slightly magical.
Kubernetes support is another standout — makes sense given that Google invented Kubernetes. Google Kubernetes Engine (GKE) is widely considered the best managed Kubernetes offering of the three. If containers and microservices are central to your strategy, GCP deserves serious consideration.
GCP also tends to have the cleanest, most developer-friendly interfaces. The console is less cluttered and far more straightforward, the APIs are well-designed, and the documentation is generally excellent. There’s a “built by engineers, for engineers” quality that AWS and Azure sometimes lack.
Where GCP will frustrate you:
The enterprise sales and support experience has historically lagged behind AWS and Azure. Google has improved significantly, but there’s still an occasional “we’re an engineering company, not a services company” feel to the relationship.
The ecosystem is smaller. Fewer third-party integrations, fewer consultants with deep GCP experience, and fewer pre-built solutions. This is improving year on year, but it’s still a factor — especially if you’re a smaller organisation that relies on finding people who know the platform.
Google also has a reputation for killing products. Whether that reputation is entirely fair when it comes to cloud services is debatable, but it’s a perception that matters. When you’re betting your infrastructure on a platform, you want confidence the service you’re using today will still exist in five years.
The Questions That Actually Matter
Forget your feature comparison matrices. Focus on the following to actually drive your decision on which vendor to choose:
1. What’s Already in Your Building?
This is the single most important question and it’s the one most comparison articles skip entirely.
If your organisation runs on Microsoft 365, uses Active Directory for identity, and has Windows Server workloads, Azure is absolutely the path of least resistance. Not because it’s objectively “better,” but because the integration saves you months of work and the skills overlap means your existing team can be productive faster.
If your team already builds on AWS, if your developers think in terms of Lambda functions and DynamoDB tables, stay on AWS. Migration between cloud providers is expensive, disruptive, and rarely worth it for marginal gains.
If you’re a data-heavy organisation, or if your development team is building with containers and Kubernetes, GCP deserves a serious look.
If you’re starting from scratch with no existing allegiance? Lucky you. But also, the decision just became a whole lot harder.
2. What Skills Do You Have (Or Can You Get)?
Cloud expertise is not generic. Someone who’s brilliant on AWS won’t be immediately productive on Azure, and vice versa. The concepts transfer, but the implementations are different enough that there’s a real ramp-up period.
Look at your team. Look at your local job market. Look at what training is available. If you’re in a region where AWS skills are plentiful but Azure experts are rare, that should factor into your decision. The best platform is the one your people can actually operate.
3. What Are You Actually Building?
A static website with a contact form has very different cloud requirements to a real-time data analytics pipeline. Don’t choose a provider based on capabilities you’ll never use.
For straightforward web hosting, all three are fine. For complex, specific workloads, the provider differences start to matter more. Machine learning at scale? GCP has an edge. Enterprise integration with Microsoft tooling? Azure. The broadest possible set of managed services? AWS.
One workload type deserves specific mention: AI. If AI capability is part of what’s drawing you toward a particular provider, be aware that cloud agnosticism largely collapses at the managed AI services layer. Azure OpenAI, AWS Bedrock, and Google’s Vertex AI expose nominally similar models but with vendor-specific behaviour, rate limits, content filtering, and integration patterns that don’t translate cleanly between platforms. True portability at the AI layer effectively requires self-hosting open-weights models — which introduces its own infrastructure complexity. If AI is on your roadmap, you’re not just choosing a cloud provider. You’re making a hosting location decision that’s harder to reverse than it first appears. More on that in the next question.
4. Where Are Your Customers?
Cloud providers have data centres in different regions, and while all three have broad global coverage, the specific regions matter for latency and data residency. If your customers are primarily in the UK and Europe, check that your workloads can run from the regions you need, including any data sovereignty requirements you might have.
There’s a dimension to regional selection that doesn’t appear in most comparison guides: infrastructure capacity. The AI-driven demand surge of the past couple of years has exposed real physical constraints across all three hyperscalers — power grid connection queues, data centre construction timescales measured in years, and hardware supply chains that don’t resolve quickly. Azure has experienced significant capacity constraints in primary US regions extending into 2026; European regions have fared better, though grid constraints are emerging in the Netherlands and Germany. AWS and GCP face structurally identical pressures. For UK and European organisations this is good news in the near term, but it’s worth understanding that regional availability is no longer something you can assume away. Provider selection is partly an infrastructure bet, not just a features decision.
Regulatory requirements reinforce this further. GDPR data residency obligations, UK regulatory frameworks, and sector-specific requirements (FCA, NHS) mean you can’t arbitrarily shift workloads to wherever capacity happens to be available if those workloads process personal data or operate under UK or EU regulatory oversight. Your hosting region is more of a semi-permanent decision than the “just change a config” narrative suggests, particularly if AI workloads are involved.
5. What Does It Actually Cost for Your Workload?
Cloud pricing is notoriously difficult to predict, and the “calculator” tools each provider offers are about as accurate as weather forecasts for next month. The only way to get real numbers is to model your specific workload.
A few things to watch for: AWS and Azure tend to be similarly priced for comparable services, with GCP occasionally undercutting on specific workloads (particularly data and compute). But the pricing models differ enough that a like-for-like comparison is surprisingly hard.
Data egress costs, the charges for getting your data out of the cloud, deserve special attention. They’re easy to overlook and can be substantial. All three providers charge for outbound data, and the pricing structures vary.
If you’ve read my post on cloud economics, you’ll know I feel strongly about why understanding the real cost model is essential before committing to any provider.
The Multi-Cloud Question
“Should we use multiple cloud providers?”
Maybe. Don’t do it from day 1 though!
Multi-cloud sounds great in theory; it avoids vendor lock-in, enables you to pick the best service from each provider, and maintain negotiating position. In practice, it means your team needs to maintain expertise across multiple platforms, your networking gets more complex, your security posture has more surfaces to manage, and your billing becomes a nightmare.
For most organisations, especially those early in their cloud journey, pick one and do it well. You can always add a second provider later for specific use cases. Starting with multi-cloud because you’re afraid of lock-in is like furnishing three houses because you’re not sure which neighbourhood you want to live in.
One important caveat on the lock-in concern: if AI services are part of your architecture, multi-cloud won’t protect you from lock-in at that layer anyway. The managed AI services from each provider are sufficiently different in behaviour and integration that running them side-by-side doesn’t give you the portability you’re hoping for. Real AI portability requires self-hosting, which is a different conversation entirely.
That said, there are legitimate reasons for multi-cloud: geographic requirements, specific service capabilities, acquisition of a company on a different platform, or genuine risk management for critical workloads. Make sure you’re doing it for real reasons, not because it’s some touted “best practice.”
What I’d Actually Tell You Over a Coffee
If you pushed me for a recommendation, gun to my head, no context about your business, here’s what I’d say:
If you’re Microsoft-heavy: Azure. The integration value is real and it’ll save you time and headaches.
If you’re technically ambitious with a strong dev team: AWS. The breadth of services gives you room to grow into increasingly complex architectures.
If data and analytics are your core business: GCP. BigQuery and their ML tooling are genuinely excellent.
If you genuinely have no strong pull in any direction: AWS, marginally, simply because the larger ecosystem makes it slightly easier to find help, hire people, and solve problems. But I’d say that with less conviction than most people in my position would.
Full disclosure, AWS is where I’ve spent the most time, so take this marginal nod above with that context. I’d trust my instinct on Azure or GCP just as much if that’s where I’d spent my time.
And if someone tells you the choice of provider is the most important decision in your cloud journey: They’re wrong. How you architect your solutions, how you manage your security, how you control your costs, how you can exit, and how you train your people, all of those matter more than which logo is on the login page.
What’s Next?
It’s time to start getting into the really interesting elements of cloud. In the next post, I’ll walk through cloud migration planning, where to start when the whole thing feels overwhelming, and how to avoid the most common mistakes I’ve seen over the years of doing this.
Got a specific scenario you’d like an honest opinion on? Drop me a message through the contact page