← Home ← Codex ← DEBT
Browse by Category
+ added · updated 7d
← Back to glossary

Multi-Cloud vs Single-Cloud

Cloud Advanced
debt(d7/e9/b9/t7)
d7 Detectability Operational debt — how invisible misuse is to your safety net

Closest to 'only careful code review or runtime testing' (d7). The detection_hints note automated=no, and while Terraform and Kubernetes can surface some portability issues, the real problem — heavy vendor-specific SDK usage without abstraction — requires deliberate architectural review rather than any automated signal. The code_pattern describes a structural condition that tools can hint at but not reliably flag.

e9 Effort Remediation debt — work required to fix once spotted

Closest to 'architectural rework' (e9). The quick_fix itself acknowledges the fix is avoiding multi-cloud entirely or introducing cloud-agnostic abstraction layers (Kubernetes, Terraform, S3-compatible storage). Once a system is deeply entangled with provider-specific services across teams, unwinding that requires rewriting integrations, re-architecting data pipelines, retraining teams, and rebuilding tooling — a full architectural rework.

b9 Burden Structural debt — long-term weight of choosing wrong

Closest to 'defines the system's shape' (b9). The applies_to covers web and cli broadly, and the why_it_matters makes clear that the choice shapes every downstream decision: teams must learn two platforms, tooling diverges, an abstraction layer must be maintained, and native features are underutilised. The common_mistakes entry 'Different teams per cloud — doubled burden' confirms reach is system-wide. This is a rewrite-or-live-with-it commitment.

t7 Trap Cognitive debt — how counter-intuitive correct behaviour is

Closest to 'serious trap' (t7). The canonical misconception is explicit: 'Multi-cloud always prevents vendor lock-in — cloud-native services create lock-in regardless of multi-cloud strategy.' A competent developer hears 'multi-cloud' and reasonably concludes portability is achieved, when in reality the abstraction cost is enormous and lock-in can still occur. This contradicts the intuitive promise of the strategy itself, scoring t7 rather than t9 only because the gotcha is documented and discussed in the industry.

About DEBT scoring →

Also Known As

multi-cloud vendor lock-in cloud portability

TL;DR

Multi-cloud reduces vendor lock-in but doubles operational complexity — most lock-in comes from cloud-native services not the platform itself.

Explanation

Multi-cloud benefits: vendor independence, best-of-breed. Drawbacks: doubled ops complexity, data egress costs, split expertise. True portability requires containerisation and cloud-agnostic abstractions — using DynamoDB creates lock-in regardless of strategy.

Common Misconception

Multi-cloud always prevents vendor lock-in — cloud-native services create lock-in regardless of multi-cloud strategy.

Why It Matters

Multi-cloud avoids vendor lock-in for critical infrastructure, but the operational complexity cost is significant — teams must learn two platforms, tooling diverges, and the abstraction layer needed to stay portable often underutilises each cloud's native features. Most teams adopting multi-cloud for redundancy would be better served by a single cloud with multi-region deployment. It makes sense primarily for regulatory requirements or when different clouds genuinely lead for different workloads.

Common Mistakes

  • Multi-cloud for theoretical risk without real benefit
  • Cloud-native services claiming portability
  • No egress cost analysis
  • Different teams per cloud — doubled burden

Code Examples

✗ Vulnerable
$dynamodb = new DynamoDbClient(); $sns = new SnsClient(); // Full AWS lock-in
✓ Fixed
interface QueueService { public function push(string $m): void; }
class SqsQueueService implements QueueService {}
class PubSubQueueService implements QueueService {}

Added 16 Mar 2026
Edited 23 Mar 2026
Views 47
Rate this term
No ratings yet
🤖 AI Guestbook educational data only
| |
Last 30 days
1 ping T 1 ping W 2 pings T 0 pings F 0 pings S 0 pings S 0 pings M 0 pings T 0 pings W 1 ping T 2 pings F 0 pings S 0 pings S 2 pings M 1 ping T 0 pings W 0 pings T 0 pings F 1 ping S 0 pings S 0 pings M 1 ping T 0 pings W 0 pings T 0 pings F 0 pings S 1 ping S 1 ping M 1 ping T 0 pings W
No pings yet today
PetalBot 1
Amazonbot 9 Perplexity 5 Ahrefs 4 Scrapy 4 SEMrush 3 PetalBot 3 Unknown AI 2 Claude 2 ChatGPT 2 Google 1 Bing 1 Meta AI 1 Majestic 1
crawler 35 crawler_json 3
DEV INTEL Tools & Severity
🔵 Info ⚙ Fix effort: High
⚡ Quick Fix
Avoid multi-cloud for most PHP apps — the operational complexity is rarely worth it; use cloud-agnostic abstractions (Kubernetes, Terraform, S3-compatible storage) if portability matters, not actual multi-cloud
📦 Applies To
any web cli
🔗 Prerequisites
🔍 Detection Hints
Heavy AWS-specific SDK usage without abstraction making portability impossible; vendor lock-in through proprietary services; no cloud-agnostic interface layer
Auto-detectable: ✗ No terraform kubernetes
⚠ Related Problems
🤖 AI Agent
Confidence: Low False Positives: High ✗ Manual fix Fix: High Context: File


✓ schema.org compliant