# Architecture Misconceptions and False Abstractions

> Twenty-four architecture misconceptions, from replication is backup to stateless MCP, and eleven abstractions that work until they quietly don't.

- Web page: https://www.alesanalytics.com/architecture/misconceptions
- Markdown: https://www.alesanalytics.com/architecture/misconceptions.md
- Part of: [Enterprise Architecture Atlas](https://www.alesanalytics.com/architecture.md), section "Practice"
- Last verified: 13 October 2026
- Publisher: Ales Analytics

## Why wrong ideas survive

The misconceptions that cause real outages aren't foolish. Each sounds true for a reason, usually because it was true in a simpler system, or because it's true for one kind of fault and not another. So each one below is set out the same way: the wrong idea, why it sounds right, why it's wrong, the model that replaces it, and what changes in a design once you hold the right one.

## Twenty-four misconceptions

### Data and resilience

**M1. Replication is backup.** It sounds right because two copies exist. But replicas copy deletes, corruption and ransomware. A backup is a copy *plus* a separate credential, a separate key, immutability and a tested restore. In a design, that means a [backup identity plane](https://www.alesanalytics.com/architecture/principles.md).

**M10. A vector database is a database of record.** It stores data, so it feels like one. But it's derived, lossy and re-embeddable. Treat it as a derived index with lineage, which means planning for deletion propagation and for rebuilding it from source.

**M17. Multi-AZ or multi-region means high availability.** The sites are redundant. But zones and regions share regional and global control and configuration planes. Independence has to be checked for each kind of fault, so the design needs static stability plus an audit of what the copies still share.

**M23. Exactly-once delivery.** Broker feature pages use the phrase. Delivery is at-least-once; what you can build is an exactly-once *effect*, through idempotent or transactional processing. Put idempotency keys everywhere a duplicate would hurt.

### Networks and platforms

**M2. A private endpoint makes the architecture private.** There's no public IP. But DNS owns the path, there's no data perimeter, and identity still makes the decision. A private path isn't a data perimeter, and neither is authorization. You need endpoint policies or a perimeter, and clear ownership of DNS.

**M3. Kubernetes means portability.** The YAML is the same. Identity, networking, storage and upgrades all differ by provider (E2). The workload API is portable and the platform isn't, so budget for platform work on each provider.

**M8. Serverless means no servers.** There are no hosts to manage. There are concurrency limits, cold starts, database connection exhaustion and a provider control plane. It's managed capacity with new limits, so pool or proxy your database connections.

**M9. Microservices always scale better.** Each one scales independently. But network calls, partial failure and the fan-out tail come with them. Scale the bottleneck; a modular monolith often wins. Choose the boundaries by team and deployment, not by fashion.

**M16. A managed service means no operational responsibility.** The provider runs it. Configuration, identity, data, limits and deprecations are still yours: responsibility is shared. Track the lifecycle of every managed service you depend on.

**M18. Infrastructure as code prevents configuration problems.** The code is reviewed. But generated and runtime configuration escape IaC, as Cloudflare's feature file did, and drift happens. IaC is one producer of configuration among many, so validate every configuration consumer.

**M22. A cloud abstraction makes providers equivalent.** The services have the same names. But some are false friends (E5) and some differ structurally (E3). Declare the equivalence class, with facet deltas, for each decision.

### Identity and security

**M5. Encryption means security.** The data is unreadable. Except to whoever holds the key policy. Security is key control plus authorization, which makes KMS policy Tier-0.

**M6. Authentication means authorization.** The login succeeded. Identity isn't permission: they're separate systems that fail separately. Design the PDP and PEP explicitly.

**M7. Zero trust means no network trust.** The slogan is "never trust". But network controls still reduce blast radius. Zero trust is identity-centric *plus* segmentation, so keep the micro-segmentation.

**M19. The API gateway enforces all authorization.** It's the central policy point. But object-level authorization (the defence against BOLA) needs the resource's context, which only the service has. The gateway is coarse and the service is fine-grained.

**M21. A firewall creates zero trust.** It blocks traffic. It doesn't make a per-request decision about identity. Zero trust is per-request authorization plus device posture, through an identity-aware proxy and a PDP.

**M4. Multi-cloud means resilience.** There are two suppliers. But that doubles the control planes, and the failover is usually untested. Resilience is a tested, independent path. Test the fallback, or don't count it.

### AI

**M11. RAG respects permissions automatically.** The sources have ACLs. But the index copies the content, and the ACLs have to be captured, synchronised and enforced. Permission-aware retrieval is something you build, with an early filter and late verification.

**M12. Agents are chatbots.** They have a chat interface. They act with delegated authority. An agent is a principal with tools, which means identity, approvals and idempotency.

**M13. More agents means more intelligence.** It looks like division of labour. It adds trust edges, loops and cost. Use the least autonomy and the fewest agents, with controls for ASI07 and ASI08.

**M14. A bigger model means a better system.** The benchmarks say so. But retrieval, authorization, latency and cost dominate outcomes. Evaluate the system per task, route by task, and evaluate each route.

**M15. Self-hosting is more secure.** The data stays in. But now you own patching, the model supply chain and isolation. Security comes from operated controls, so look at model provenance and GPU isolation.

**M20. A model gateway solves AI governance.** It's the central choke point. But retrieval, tools, data and evaluation all live elsewhere. The gateway is one enforcement point; govern all five subsystems.

**M24. A stateless protocol means a stateless system.** The MCP revision is called stateless. State moves into handles and applications. The transport is stateless and the application isn't, so authorize every handle and make side effects idempotent.

## Eleven false abstractions

A false abstraction is a shared name or shape that works for one purpose and breaks for another. Each of these is useful, and each has a place where it stops being true.

| Abstraction | Why it works | Where it breaks | What to keep provider-specific | The better model |
| --- | --- | --- | --- | --- |
| Object storage is E1 | The same API shape, durability, and strong in-region consistency (S3 since 2020) | The authorization model (bucket policy plus IAM and RCPs; account keys and SAS plus Entra RBAC; uniform IAM), the namespace unit (the Azure storage *account*), replication defaults | Authorization, namespace and limits, replication | Equivalence is relative to a purpose: E1 with facet deltas on consistency, authorization, failure domain, lifecycle and namespace |
| "Zone" | Independent physical failure | A shared regional control plane and endpoints | Per-provider zone semantics, such as zonal against regional resources in Google Cloud | A failure domain is a vector: physical, control plane, configuration, identity, data |
| "Regional service" | Locality | Google's Service Control: a regional binary reading globally replicated policy | | Name the anti-pattern: regional compute, global state |
| "IAM policy" | Principal, action, resource, condition | AWS intersects under a deny; Azure RBAC adds up with system-only denies; Google has PAB, deny and allow | The evaluation algorithm (E3) | Learn one algorithm per provider |
| "Private endpoint" | Removes the public path | DNS ownership becomes the security boundary; exfiltration through other tenants' endpoints | Endpoint policy semantics, VPC Service Controls (E4) | Private connectivity is not a data perimeter |
| "Token" | Bearer proof | Access against refresh against ID tokens; CAE against non-CAE lifetimes; audience binding | Lifetimes, revocation channels | A token is an issuer, an audience, a lifetime and a revocation channel |
| "Stateless MCP" | No protocol session | State persists in handles; a broken stream loses the request; side effects need idempotency | | A stateless protocol with a stateful application |
| "Model fallback" | The same API shape | Tokenizer, context window, tool-calling schema, safety policy, residency, price | The model card and evaluation for each route | A fallback is a route that must pass the same evaluation and policy gates |
| "Vector database" against "search index" | Different names | Both are derived indexes needing ACL metadata, deletion propagation and freshness SLOs | Ranking and ANN specifics | One capability: a derived retrieval index |
| A Kubernetes cluster is a platform | A portable API | Each managed offering differs in identity, network and upgrade mechanics | Workload identity binding, CNI mode | E1 for the workload API, E2 for identity and network |
| "Backup" | A copy of the data | A backup in the same identity and key domain is a replica with a delay | Backup vault immutability semantics | Backup = a copy, a separate credential, a separate key and a tested restore |

Should you have any questions regarding this page, please contact us at solutions@alesanalytics.com.

## Where to go next

- Previous: [Worked Architecture Examples](https://www.alesanalytics.com/architecture/worked-examples.md)
- Next: [Architecture Exercises and Design Reviews](https://www.alesanalytics.com/architecture/exercises.md)
- Overview and every page: [Enterprise Architecture Atlas](https://www.alesanalytics.com/architecture.md)
- The whole site in one file: https://www.alesanalytics.com/llms-full.txt
