Resources · Playbooks

Architecture Decisions Playbook 

A working checklist for the five architecture decisions that are expensive to reverse once real users depend on them: deployment topology, data model, service boundaries, compliance, and writing the reasoning down before the first sprint starts.

7 min read
ArchitectureCloudEngineering Decisions

Most technical decisions are cheap to change later. A handful are not: the ones that shape your data model, your deployment topology, and your compliance posture are expensive to reverse once real data and real users depend on them. This is the set of architecture decisions we insist on making explicitly during discovery, before any sprint work starts, rather than letting them default into place by accident.

1. Choose Deployment Topology Deliberately

  • Decide cloud SaaS, private cloud, or on-premise based on actual data-residency and compliance requirements, not by default to whichever is fastest to set up.
  • Confirm which cloud region and provider satisfy your regulatory jurisdiction before provisioning anything.
  • Decide multi-tenant vs. single-tenant architecture early; retrofitting tenant isolation into a system built for one customer is a rebuild, not a migration.
  • Document the deployment decision and the reasoning behind it, so it isn't silently revisited by a future engineer who wasn't in the room.

2. Design the Data Model Around What Won't Change

  • Model the entities and relationships that are structural to your business, the ones that would break the product if they were wrong, before modeling the ones that are just configuration.
  • Build in audit logging and soft-delete patterns from the start if compliance or dispute resolution will ever require historical record integrity.
  • Decide early whether financial or transactional data needs a canonical ledger model: retrofitting double-entry accounting after the fact is materially harder than designing for it up front.
  • Avoid modeling around today's org chart; model around the business process, which outlives reorganizations.

3. Draw Service Boundaries Around Change, Not Convenience

The right service boundaries follow the parts of the system that change for different reasons, on different schedules, owned by different teams, not the parts that happen to be easy to split apart today. A monolith isn't automatically wrong for an early-stage product; premature microservices can cost more in operational overhead than they save in flexibility. The architecture decision that matters isn't 'microservices or monolith' in the abstract, it's identifying which specific capabilities are likely to need independent scaling, independent deployment, or independent ownership within the next two years, and drawing boundaries around those first.

4. Build Compliance and Security Into the Diagram, Not the Documentation

  • Identify every regulatory framework that applies to your sector and jurisdiction before finalizing the data model, not after a client or auditor asks.
  • Design role-based access control and encryption at rest and in transit as core architecture, not a later hardening pass.
  • Decide where secrets and credentials live, in a managed vault rather than environment files, before the first service is deployed.
  • Plan for the audit and incident-response evidence you'll need to produce someday, and build the logging to produce it automatically.

5. Write the Decision Down, With the Reasoning

The most common cause of architecture drift isn't bad decisions; it's good decisions nobody wrote down, made by someone who has since left, that later engineers can't tell were deliberate. A short architecture decision record, covering the choice, the alternatives considered, and why this one won, costs an afternoon to write and saves months of accidental re-litigation. Treat it as part of the deliverable, not optional documentation.

Want a second opinion on how this applies to your project?