MONOPOLY — Technology Decision Matrix

← Back to skills

1. Database Selection 2. Cache Selection 3. Message Queue / Event Streaming 4. API Protocol 5. Search Engine 6. Object Storage 7. Container Orchestration 8. Load Balancer 9. Observability Stack 10. CDN

Category: General & Miscellaneous
Repo: antigravity-awesome-skills
Path: skills/monopoly/tech-matrix/SKILL.md
Updated: 6/15/2026, 9:11:44 AM

AI Summary

1. Database Selection 2. Cache Selection 3. Message Queue / Event Streaming 4. API Protocol 5. Search Engine 6. Object Storage 7. Container Orchestration 8. Load Balancer 9. Observability Stack 10. CDN. It is useful for general automation, multi-purpose workflows, cross-disciplinary tasks, and utility skills. Source: antigravity-awesome-skills (skills/monopoly/tech-matrix/SKILL.md).

MONOPOLY — Technology Decision Matrix

Table of Contents

  1. Database Selection
  2. Cache Selection
  3. Message Queue / Event Streaming
  4. API Protocol
  5. Search Engine
  6. Object Storage
  7. Container Orchestration
  8. Load Balancer
  9. Observability Stack
  10. CDN

1. Database Selection

Relational (SQL)

DatabaseBest ForAvoid WhenScale Ceiling
PostgreSQLComplex queries, JSONB, GIS, strong consistency, most default use casesUltra-high write throughput (>100K writes/s)~10TB single node; use Citus for horizontal
MySQL / MariaDBRead-heavy apps, legacy systems, WordPress/Drupal ecosystemComplex queries, full ACID at scale~10TB; use Vitess for sharding
CockroachDBGlobal distributed SQL, geo-partitioning, multi-regionSimple single-region apps (overkill)Petabyte-scale
PlanetScaleMySQL-compatible, serverless, branch-based workflowComplex JOINs (foreign keys removed by design)Very high — Vitess based
Amazon AuroraAWS-native apps, managed PostgreSQL/MySQL, high availabilityNon-AWS environmentsUp to 128TB, 15 replicas

NoSQL

DatabaseBest ForAvoid WhenScale Ceiling
MongoDBFlexible schema, document model, prototypingFinancial transactions requiring ACIDPetabyte-scale with sharding
DynamoDBKey-value at massive scale, AWS-native, serverless, predictable latencyComplex queries, ad-hoc analytics, JOINsUnlimited (AWS-managed)
CassandraWrite-heavy, time-series, wide-column, geographically distributedRead-heavy with complex queriesPetabyte-scale; used at Apple, Netflix
RedisCache, sessions, leaderboards, pub/sub, rate limitingPrimary data store for complex models~1TB per node; cluster for more
ElasticsearchFull-text search, log aggregation, analyticsPrimary database (durability risk)Petabyte-scale with clusters
InfluxDBTime-series metrics, IoT, monitoring dataGeneral-purpose dataVery high write throughput
Neo4jGraph data, social networks, recommendation engines, fraud detectionNon-graph data (overhead not worth it)Billions of nodes

Decision Framework

Is your data relational (joins, foreign keys, transactions)?
  YES → Start with PostgreSQL
  NO  → Continue below

Is your primary access pattern key-value?
  YES, need extreme scale → DynamoDB or Cassandra
  YES, need speed/cache → Redis

Is your data document-shaped (nested, flexible schema)?
  YES → MongoDB

Is it time-series (metrics, logs, IoT)?
  YES → InfluxDB or TimescaleDB

Is it graph (relationships are the data)?
  YES → Neo4j

Is it search?
  YES → Elasticsearch / OpenSearch

2. Cache Selection

TechnologyBest ForMax Single NodeCluster Support
RedisSessions, leaderboards, pub/sub, complex data structures, Lua scripting~1TB RAMYes (Redis Cluster, Redis Sentinel)
MemcachedSimple key-value, multi-threaded, large object cache~64GB RAMYes (client-side sharding)
VarnishHTTP reverse proxy cache, full-page cachingRAM boundLimited
CloudFront / CDNStatic assets, edge caching globallyN/A (distributed)Built-in global distribution

Default recommendation: Redis — more features, better ecosystem, active development.

Use Memcached only when: you need multi-threading for CPU-bound caching workloads and don't need data structures beyond string.


3. Message Queue / Event Streaming

TechnologyModelBest ForThroughputRetention
Apache KafkaLog-based streamingEvent sourcing, high-throughput pipelines, replay, auditMillions msg/sDays to forever
RabbitMQAMQP message brokerTask queues, RPC, routing, fanout50K–100K msg/sUntil consumed
AWS SQSManaged queueAWS-native, simple task queue, serverlessVery high (managed)Up to 14 days
AWS SNSPub/sub notificationFan-out to many subscribers (email, SMS, Lambda, SQS)Very high (managed)No retention
Google Pub/SubManaged streamingGCP-native, global, serverlessVery high (managed)Up to 7 days
Redis Pub/SubIn-memory pub/subReal-time notifications, low latency, fire-and-forgetVery highNone (no retention)
NATSLightweight messagingIoT, microservices, low latencyVery highJetStream adds retention

Decision Matrix

Need event replay / audit trail?
  YES → Kafka or Kinesis

Need simple task queue with retries and DLQ?
  AWS shop → SQS
  Self-hosted → RabbitMQ

Need real-time pub/sub with no persistence?
  Redis Pub/Sub or NATS

Need fan-out to multiple consumers?
  Kafka (consumer groups) or SNS → SQS fan-out

Need < 5 minutes guaranteed delivery, AWS-native, zero ops?
  SQS

Volume > 1 million messages/second?
  Kafka (self-hosted) or Kinesis (managed)

4. API Protocol

ProtocolBest ForAvoid When
REST (HTTP/JSON)Public APIs, CRUD, browser clients, simplicityStrict typing required; high-performance internal services
GraphQLComplex client data requirements, mobile (reduce over-fetching), BFF patternSimple CRUD; not worth the complexity
gRPC (HTTP/2 + Protobuf)Internal microservice communication, low latency, strict contracts, streamingPublic browser APIs (needs gRPC-web)
WebSocketReal-time bidirectional (chat, live dashboards, multiplayer games)One-way server push (use SSE instead)
SSE (Server-Sent Events)Server → client push (notifications, live feeds)Bidirectional communication
GraphQL SubscriptionsReal-time with GraphQL schema consistencySimple push scenarios

Default recommendation:

  • External / public: REST
  • Internal service-to-service: gRPC
  • Real-time features: WebSocket or SSE

5. Search Engine

TechnologyBest ForAvoid When
ElasticsearchFull-text search, log analytics (ELK), complex aggregationsSimple lookups; operational overhead is high
OpenSearchAWS-native Elasticsearch alternativeNon-AWS preferred setups
TypesenseSimple, fast full-text search, typo tolerance, easy opsComplex aggregations at massive scale
AlgoliaManaged search-as-a-service, fast setup, great UIHigh volume (expensive); self-hosted preference
MeilisearchSelf-hosted, developer-friendly, fast relevancyEnterprise-scale analytics
PostgreSQL FTSBasic full-text search, already using PostgreSQLHigh relevancy requirements or large datasets

Rule of thumb: Use PostgreSQL FTS under 1M documents. Move to Typesense or Elasticsearch above that.


6. Object Storage

ServiceBest ForEgress Cost
AWS S3AWS-native apps, de facto standard, massive ecosystem$0.09/GB (expensive)
Cloudflare R2S3-compatible, zero egress cost, global$0.00 egress
GCSGCP-native$0.12/GB
Azure BlobAzure-native$0.087/GB
Backblaze B2Cost-sensitive, S3-compatibleFree with Cloudflare
MinIOSelf-hosted S3-compatibleSelf-managed

Cost optimization tip: Use Cloudflare R2 for user-facing media delivery (zero egress). Use S3 for internal/AWS-integrated storage.


7. Container Orchestration

TechnologyBest ForAvoid When
Kubernetes (K8s)Large teams, complex deployments, multi-cloud, full controlSmall teams (ops overhead is very high)
AWS ECS + FargateAWS-native, serverless containers, simpler than K8sMulti-cloud or K8s ecosystem tools needed
AWS EKSManaged K8s on AWS, best of bothSmall teams; Fargate may be enough
GKE (Google)Best managed K8s, GCP-native, Autopilot modeNon-GCP environments
Docker ComposeLocal dev, small single-server deploymentsProduction at any meaningful scale
NomadHashiCorp ecosystem, simpler than K8s, multi-workloadK8s ecosystem tools required

Startup default: ECS + Fargate (zero cluster management). Scale default: EKS or GKE once team > 5 engineers or services > 10.


8. Load Balancer

TechnologyLayerBest For
AWS ALBL7 (HTTP/HTTPS)AWS apps, path-based routing, WebSocket, HTTP/2
AWS NLBL4 (TCP/UDP)Ultra-low latency, static IP, non-HTTP protocols
GCP GLBL7 globalGCP apps, global anycast, single IP worldwide
NginxL4/L7Self-hosted, reverse proxy, flexible config
HAProxyL4/L7High performance self-hosted, advanced routing
CloudflareL7 global + DDoSDDoS protection + CDN + load balancing combined
TraefikL7Kubernetes-native, automatic SSL, service discovery

9. Observability Stack

Metrics

ToolBest For
Prometheus + GrafanaSelf-hosted, open-source, Kubernetes-native
DatadogManaged, APM + infra + logs unified, expensive
CloudWatchAWS-native, zero setup, integrated with AWS services
New RelicAPM-focused, good for application-level insights

Logging

ToolBest For
ELK Stack (Elasticsearch + Logstash + Kibana)Self-hosted, powerful, high volume
Loki + GrafanaLightweight, Kubernetes-native, cheap
SplunkEnterprise, compliance, expensive
AWS CloudWatch LogsAWS-native, zero setup
Datadog LogsUnified with metrics, expensive

Distributed Tracing

ToolBest For
JaegerOpen-source, Kubernetes-native, OpenTelemetry
ZipkinSimple, lightweight, good integrations
AWS X-RayAWS-native, integrates with Lambda, ECS
Datadog APMManaged, unified with metrics and logs
HoneycombHigh-cardinality event-based observability

Recommended open-source stack: Prometheus + Grafana + Loki + Jaeger (all integrate via OpenTelemetry) Recommended managed stack: Datadog (expensive but unified) or Grafana Cloud


10. CDN

TechnologyBest ForEdge Locations
CloudflareDDoS protection + CDN + DNS, best free tier, edge workers300+
AWS CloudFrontAWS-native, deep S3 and API GW integration450+
AkamaiEnterprise, highest performance, expensive4000+
FastlyReal-time purging, streaming, VCL customization90+
Vercel Edge / NetlifyJamstack, frontend-first, zero config100+

Default recommendation: Cloudflare for most use cases (best value, DDoS included, free SSL, Workers for edge compute).


Scale Benchmarks Quick Reference

TechnologyWrite ThroughputRead ThroughputNotes
PostgreSQL (single)~10K writes/s~50K reads/sWith connection pooling
PostgreSQL (replicas)~10K writes/s~200K reads/s4 replicas
MySQL (single)~15K writes/s~60K reads/s
Cassandra~1M writes/s~500K reads/s10-node cluster
Redis~1M ops/s~1M ops/sSingle node in-memory
Kafka~1M msgs/s~1M msgs/sPer partition
Elasticsearch~50K docs/s~10K queries/sPer node
MongoDB~50K writes/s~100K reads/sPer replica set

All benchmarks are approximate and depend heavily on hardware, payload size, and query complexity.

Limitations

  • This is a reference document and may not cover all edge cases. Always verify architectures before production.

Related skills