Which cloud provider should I use — AWS, Azure, or Google Cloud?
Decision tree
Answer a few questions to identify the most suitable cloud platform for your workload.
Overview
Decision Tree
Start: What is your primary workload type?
A: Web application or API
- Continues to question: Do you already have a significant Microsoft 365 or Azure Active Directory investment?
B: Data analytics or ML
- Continues to question: Are your data workloads primarily open-source (Spark, TensorFlow, PyTorch)?
C: Enterprise / SAP / ERP
- Outcome: Microsoft Azure
D: Edge or IoT
- Outcome: Amazon Web Services (AWS)
Machine-Readable JSON (Canonical Model)
View JSON
{
"_meta": {
"schema": "https://www.drawdecisiontree.com/decision-dag.schema.json",
"source": "https://www.drawdecisiontree.com",
"description": "DrawDecisionTree.com is a free tool for building, sharing, and embedding interactive decision trees. This file is the machine-readable export of a published decision tree. The `dsl` field contains the original source in the Decision DAG DSL; the `dag` schema is documented at the URL in `schema` above.",
"links": {
"interactive": "https://www.drawdecisiontree.com/t/drawdecisiontree/cloud-provider.html",
"embed": "https://www.drawdecisiontree.com/embed/path/drawdecisiontree/cloud-provider",
"dsl_reference": "https://www.drawdecisiontree.com/decision-tree-dsl-reference.html",
"guides": "https://www.drawdecisiontree.com/guides",
"schema_docs": "https://www.drawdecisiontree.com/decision-dag.schema.json",
"author_trees": "https://www.drawdecisiontree.com/trees/drawdecisiontree"
},
"generated_at": "2026-05-29T12:05:39.255Z"
},
"author": {
"handle": "drawdecisiontree",
"first_name": "Andrew",
"last_name": null,
"avatar_url": "1d32d828-b6ca-40ec-bdd7-771fe7b9c36a/avatar-1778531481027.svg",
"display_name": "Andrew"
},
"file": {
"id": "90399ead-b637-4cea-9182-67fe88d020b6",
"name": "Which cloud provider should I use — AWS, Azure, or Google Cloud?",
"public_slug": "cloud-provider",
"updated_at": "2026-05-12T16:53:43.587978+00:00",
"url": "https://www.drawdecisiontree.com/t/drawdecisiontree/cloud-provider.html",
"json_url": "https://www.drawdecisiontree.com/t/drawdecisiontree/cloud-provider/tree.json",
"dsl_url": "https://www.drawdecisiontree.com/t/drawdecisiontree/cloud-provider/tree.dag"
},
"meta": {
"description": "Answer a few questions to identify the most suitable cloud platform for your workload.",
"mode": "decision",
"entry": "Q1",
"tags": [],
"image": "https://images.unsplash.com/photo-1451187580459-43490279c0fa?w=1200&q=80"
},
"questions": [
{
"id": "Q1",
"text": "What is your primary workload type?"
},
{
"id": "Q2",
"text": "Do you already have a significant Microsoft 365 or Azure Active Directory investment?"
},
{
"id": "Q2b",
"text": "Is cost-optimised managed Kubernetes a top priority?"
},
{
"id": "Q3",
"text": "Are your data workloads primarily open-source (Spark, TensorFlow, PyTorch)?"
},
{
"id": "Q3b",
"text": "Do you need tight integration with BigQuery or Vertex AI managed services?"
}
],
"outcomes": [
{
"id": "OUT_AWS",
"label": "Amazon Web Services (AWS)"
},
{
"id": "OUT_AZURE",
"label": "Microsoft Azure"
},
{
"id": "OUT_GCP",
"label": "Google Cloud Platform (GCP)"
}
],
"dsl": "dag: Which cloud provider should I use — AWS, Azure, or Google Cloud?\nversion: 1.0.0\nimage: https://images.unsplash.com/photo-1451187580459-43490279c0fa?w=1200&q=80\ndescription: Answer a few questions to identify the most suitable cloud platform for your workload.\nentry: Q1\n\nQ1: What is your primary workload type?\n hint: Consider the main technical category of what you are building or migrating.\n A: Web application or API -> Q2\n B: Data analytics or ML -> Q3\n C: Enterprise / SAP / ERP -> [OUT_AZURE]\n D: Edge or IoT -> [OUT_AWS]\n\nQ2: Do you already have a significant Microsoft 365 or Azure Active Directory investment?\n yes -> [OUT_AZURE]\n no -> Q2b\n\nQ2b: Is cost-optimised managed Kubernetes a top priority?\n yes -> [OUT_GCP]\n no -> [OUT_AWS]\n\nQ3: Are your data workloads primarily open-source (Spark, TensorFlow, PyTorch)?\n yes -> Q3b\n no -> [OUT_AZURE]\n\nQ3b: Do you need tight integration with BigQuery or Vertex AI managed services?\n yes -> [OUT_GCP]\n no -> [OUT_AWS]\n\n[OUT_AWS]: Amazon Web Services (AWS)\n description: Broadest service catalogue and largest global infrastructure. Ideal for web-scale workloads, IoT, and edge computing. Strong open-source ecosystem support.\n code: CLOUD_AWS\n color: #FF9900\n\n[OUT_AZURE]: Microsoft Azure\n description: Best-in-class integration with Microsoft 365, Active Directory, and enterprise tooling. Preferred choice for SAP/ERP migrations and hybrid cloud scenarios.\n code: CLOUD_AZURE\n color: #0078D4\n\n[OUT_GCP]: Google Cloud Platform (GCP)\n description: Market-leading data analytics, BigQuery, and AI/ML managed services. Best managed Kubernetes (GKE) and competitive pricing for compute-intensive workloads.\n code: CLOUD_GCP\n color: #4285F4\n"
}DSL Representation
dag: Which cloud provider should I use — AWS, Azure, or Google Cloud?
version: 1.0.0
image: https://images.unsplash.com/photo-1451187580459-43490279c0fa?w=1200&q=80
description: Answer a few questions to identify the most suitable cloud platform for your workload.
entry: Q1
Q1: What is your primary workload type?
hint: Consider the main technical category of what you are building or migrating.
A: Web application or API -> Q2
B: Data analytics or ML -> Q3
C: Enterprise / SAP / ERP -> [OUT_AZURE]
D: Edge or IoT -> [OUT_AWS]
Q2: Do you already have a significant Microsoft 365 or Azure Active Directory investment?
yes -> [OUT_AZURE]
no -> Q2b
Q2b: Is cost-optimised managed Kubernetes a top priority?
yes -> [OUT_GCP]
no -> [OUT_AWS]
Q3: Are your data workloads primarily open-source (Spark, TensorFlow, PyTorch)?
yes -> Q3b
no -> [OUT_AZURE]
Q3b: Do you need tight integration with BigQuery or Vertex AI managed services?
yes -> [OUT_GCP]
no -> [OUT_AWS]
[OUT_AWS]: Amazon Web Services (AWS)
description: Broadest service catalogue and largest global infrastructure. Ideal for web-scale workloads, IoT, and edge computing. Strong open-source ecosystem support.
code: CLOUD_AWS
color: #FF9900
[OUT_AZURE]: Microsoft Azure
description: Best-in-class integration with Microsoft 365, Active Directory, and enterprise tooling. Preferred choice for SAP/ERP migrations and hybrid cloud scenarios.
code: CLOUD_AZURE
color: #0078D4
[OUT_GCP]: Google Cloud Platform (GCP)
description: Market-leading data analytics, BigQuery, and AI/ML managed services. Best managed Kubernetes (GKE) and competitive pricing for compute-intensive workloads.
code: CLOUD_GCP
color: #4285F4
Machine Access
- Static JSON:
/t/drawdecisiontree/cloud-provider/tree.json - Live JSON (SPA):
/json/drawdecisiontree/cloud-provider - Raw DSL:
/t/drawdecisiontree/cloud-provider/tree.dag - Canonical HTML:
/t/drawdecisiontree/cloud-provider.html
Questions in this decision tree
- What is your primary workload type?
- Do you already have a significant Microsoft 365 or Azure Active Directory investment?
- Is cost-optimised managed Kubernetes a top priority?
- Are your data workloads primarily open-source (Spark, TensorFlow, PyTorch)?
- Do you need tight integration with BigQuery or Vertex AI managed services?
Possible outcomes
- Amazon Web Services (AWS)
- Microsoft Azure
- Google Cloud Platform (GCP)
How to use this decision tree
Click "Open interactive version" to step through the questions. Your answers narrow the tree until a recommended outcome is reached. You can also embed this tree on your own site.
More decision trees by Andrew
Which API design pattern is right for my project?
Determine the right API design style for your integration scenario.
Authentication Method Selection
Authentication is a security-critical, high-friction decision to reverse — migrating users from one auth method to another requires coordinated password resets or credential migration campaigns. This tree eliminates methods that don't match your user type, enterprise requirements, and security posture, giving you a clear shortlist before you write a line of code.
Caching Strategy Selection
Premature or misapplied caching adds complexity — stale data bugs, invalidation logic, and distributed consistency problems — without solving the actual bottleneck. This tree routes you to the caching pattern that matches your data access profile, so you apply the right tool to the right problem rather than defaulting to Redis for everything.
CI/CD Pipeline Tool Selection
Choosing a CI/CD platform is a long-term infrastructure commitment — pipelines accumulate config, custom scripts, and team muscle memory that make switching painful. This tree eliminates tools that don't fit your source control host, infrastructure model, or team scale, leaving only the options genuinely viable for your situation.
Container Orchestration Platform Selection
Container orchestration is foundational infrastructure — the platform you choose shapes how you deploy, scale, network, and operate every service you run. This tree eliminates options that don't match your operational maturity, cloud provider commitment, and workload complexity, so you land on the platform that fits your team today without over-engineering for a scale you haven't reached.
How do I assess the health of a customer account?
Classify a customer's health score to guide proactive engagement and retention strategy. Use this tree during your regular account reviews or whenever a trigger event—such as a low NPS, a support spike, or a missed check-in—prompts a reassessment. The outcome drives the cadence and urgency of your next CSM action.