Decision Guides
Technology
All technology decision guides, from databases to frameworks.
When Not to Use Docker
Docker is a poor fit when native deployment is simpler, VM-level isolation is required, or containerization adds more workflow than environmental consistency.
When Not to Use GraphQL
GraphQL is a poor default for simple APIs, file-heavy workloads, predictable endpoint costs, or teams unprepared to govern a shared schema.
When Not to Use Kubernetes
Kubernetes is often overkill when a small service, managed container platform, or single VM already meets the product's availability and deployment needs.
When Not to Use MongoDB
MongoDB is a poor default when the domain is highly relational, transactions span many documents, or flexible reporting matters more than document shape.
When Not to Use Redis
Redis is a poor default when the problem is relational data, durable source-of-truth storage, large values, or unmeasured caching complexity.
When Not to Use SQLite
SQLite is a poor fit when many machines need direct database access, many writers must modify data at once, or the database needs its own independently scaled operational life.