TL;DR: A good solution architecture document template with diagrams has about a dozen sections (goals, constraints, context, solution strategy, building blocks, runtime, deployment, cross-cutting concepts, decisions, quality requirements, risks and a glossary) and at least four diagrams: context, container, deployment and one key runtime flow. Copy the Markdown skeleton below, fill the diagrams first, and write prose only where a reviewer would otherwise ask "why?".
Every architect has opened a "SAD_v7_FINAL_reallyfinal.docx" with a diagram nobody has updated since 2023 and 40 pages of boilerplate around it. That doc didn't fail because the team was lazy. It failed because the template asked for words when reviewers needed pictures and decisions.
This post gives you a solution architecture document template with diagrams baked into its structure, explains what each section is actually for, and shows how to keep the thing alive after sign-off.
What is a solution architecture document?
A solution architecture document (SAD) explains how one specific solution will meet its business goals and its quality requirements. It sits between the strategy deck ("we're moving checkout to the cloud") and the code ("here's the Terraform"). Its job is to let reviewers say yes, no, or "yes, but" before money and months get spent.
A solid SAD answers five questions fast:
- What problem are we solving, and for whom? Scope, goals and stakeholders.
- What are we not allowed to do? Constraints: budget, compliance, mandated platforms, deadlines.
- What does it look like? Context, building blocks, deployment, key flows.
- Why this shape and not another? Decisions, alternatives considered and trade-offs.
- What could go wrong? Risks, technical debt and the plan for them.
If your document answers those in the first few pages, you're already ahead of most SADs in the wild.
→ Draft your SAD with AI-generated sections and visuals in HyperDocs
Solution architecture document template with diagrams: the 12 sections
You don't need to invent a structure. The open-source arc42 template has been refined by practitioners for years, and its 12 sections map almost perfectly onto what solution architecture reviewers ask for. Here's how to use each one in a SAD:
| # | Section | What goes in it | Primary format |
|---|---|---|---|
| 1 | Introduction and goals | Business goals, top 3–5 quality goals, stakeholders | Short list + table |
| 2 | Constraints | Technical, organizational and regulatory limits | Table |
| 3 | Context and scope | The system, its users and external systems | Context diagram |
| 4 | Solution strategy | The handful of big decisions that shape everything | Bullets |
| 5 | Building block view | Deployable units and their responsibilities | Container diagram |
| 6 | Runtime view | The 1–3 flows that matter most | Sequence or dynamic diagram |
| 7 | Deployment view | Accounts, regions, networks, environments | Deployment diagram |
| 8 | Cross-cutting concepts | Security, observability, data handling, error handling | Bullets + links |
| 9 | Architecture decisions | ADRs or a decision log | ADR list |
| 10 | Quality requirements | Measurable targets and scenarios | Table |
| 11 | Risks and technical debt | What could hurt, likelihood, mitigation | Table |
| 12 | Glossary | Domain and acronym definitions | Table |
Notice the pattern: four of the twelve sections are diagram-first. That's not decoration. Reviewers process topology visually, and a diagram exposes missing pieces (no auth service? no queue between those two?) far faster than prose ever will.
A few tips per section, learned the hard way:
- Goals: limit quality goals to the top three to five. "Highly available, secure, scalable, cheap and fast" is not a priority list, it's a wish list.
- Constraints: separate the ones you can negotiate from the ones you can't. A compliance mandate is not the same as "the team prefers Postgres".
- Solution strategy: this is the elevator pitch for architects. Five bullets, max.
- Quality requirements: make them testable. "p95 checkout latency under 400 ms at 2x peak traffic" beats "fast".
If section 10 feels hard, our non-functional requirements template walks through turning vague qualities into measurable targets.
Which diagrams belong in a solution architecture document?
The fastest way to decide is the C4 model, created by Simon Brown. It defines four core levels (system context, container, component, code) plus supplementary diagrams for system landscape, dynamic flows and deployment. It's notation independent and tooling independent, which means it works whether you draw in a whiteboard app, a diagram-as-code tool or an AI generator.
For a SAD, you rarely need all of them. Here's the minimum viable set:
1. Context diagram (section 3)
One box for your solution. Around it: the people who use it and the external systems it depends on (payment provider, identity provider, legacy ERP, partner APIs). No internal detail. The point is scope: what's in, what's out, and who you need to talk to.
2. Container diagram (section 5)
The deployable or runnable pieces: web app, API service, worker, database, cache, queue, object store. Label each arrow with the protocol and what flows over it ("HTTPS/JSON, order events", not just a line). This is the diagram reviewers stare at the longest.
3. Deployment diagram (section 7)
Where the containers actually run: cloud accounts or subscriptions, regions, availability zones, VPCs or VNets, public versus private subnets, managed services. This is where security reviewers find the database that's accidentally in a public subnet. If you're on AWS, our AWS architecture diagram guide covers what to show at this level.
4. One runtime flow (section 6)
Pick the flow that would hurt most if it broke, usually the money path (checkout, payment, signup) or the data path (ingest, transform, publish). A sequence diagram showing who calls whom, in what order, and what happens on failure is worth more than three pages of prose.
Optional extras
- Component diagrams for the one container that's genuinely complex.
- Data flow diagram with trust boundaries, if you'll run a threat model.
- System landscape if this solution is one of many in a larger estate.
Diagram quality checklist before you paste anything into the doc:
- Every box has a name and a one-line responsibility.
- Every arrow has a direction and a label.
- A legend explains shapes, colors and line styles.
- Network and trust boundaries are visible on the deployment view.
- Each diagram has a title, a scope and a "last updated" date.
→ Describe the system in plain English and get an editable starting diagram with Architect AI
The copy-paste template (Markdown)
Here's the skeleton. It's plain Markdown so it lives happily in a repo, a wiki or a docs tool. Diagram slots are marked so nobody "forgets" them.
# Solution Architecture: [Solution name]
| Field | Value |
| --- | --- |
| Status | Draft / In review / Approved / Superseded |
| Owner | [Name, team] |
| Reviewers | [Names, roles] |
| Last updated | [YYYY-MM-DD] |
| Related ADRs | [Links] |
## 1. Introduction and goals
- Business goal: [One sentence]
- Quality goals (ranked):
1. [e.g. Availability: 99.9% monthly for checkout]
2. [e.g. Security: PCI DSS scope limited to payment service]
3. [e.g. Cost: run cost within agreed monthly budget]
- Stakeholders: [Table of role, name, what they care about]
## 2. Constraints
| Constraint | Type | Negotiable? | Source |
| --- | --- | --- | --- |
## 3. Context and scope
[DIAGRAM: system context]
- In scope: ...
- Out of scope: ...
- External dependencies: ...
## 4. Solution strategy
- [Key decision 1 and why]
- [Key decision 2 and why]
## 5. Building block view
[DIAGRAM: container]
| Container | Responsibility | Technology | Owner |
| --- | --- | --- | --- |
## 6. Runtime view
[DIAGRAM: sequence for the most critical flow]
- Happy path: ...
- Failure handling: ...
## 7. Deployment view
[DIAGRAM: deployment - accounts, regions, networks]
| Environment | Account / subscription | Region(s) | Notes |
| --- | --- | --- | --- |
## 8. Cross-cutting concepts
- Identity and access: ...
- Data protection (in transit / at rest): ...
- Observability (logs, metrics, traces, alerts): ...
- Resilience (backups, RTO / RPO, failover): ...
## 9. Architecture decisions
| ID | Decision | Status | Link |
| --- | --- | --- | --- |
## 10. Quality requirements
| Quality | Scenario | Measurable target |
| --- | --- | --- |
## 11. Risks and technical debt
| Risk | Likelihood | Impact | Mitigation | Owner |
| --- | --- | --- | --- | --- |
## 12. Glossary
| Term | Definition |
| --- | --- |
Two rules make this template work in practice:
- Diagrams first, prose second. Fill sections 3, 5, 6 and 7 before writing a single paragraph. Gaps in the diagrams will tell you what the prose needs to explain.
- "N/A" is a valid answer, with a reason. "Section 8, data protection: N/A, the service stores no customer data" is useful. A deleted section is a question waiting to happen in review.
For section 8's resilience line, put real numbers next to your backup and failover design; the free RTO / RPO calculator helps you make those assumptions explicit.
→ Skip the blank page: generate this structure with visuals in HyperDocs
Solution architecture document example: filled-in snippets
Templates are easy to nod at and hard to fill. Here's what good entries look like for a fictional order-processing solution on AWS. These are illustrative, not a real customer.
Section 2, constraints:
| Constraint | Type | Negotiable? | Source |
|---|---|---|---|
| Must run in the company's existing AWS Organization | Organizational | No | Cloud platform standard |
| Card data must never touch the order service | Regulatory | No | PCI DSS scoping decision |
| Go-live before the holiday code freeze | Schedule | Partly | Product roadmap |
Section 9, an ADR in the decision log. Michael Nygard's 2011 ADR format keeps it to title, context, decision, status and consequences:
# ADR-004: Use a queue between order API and fulfilment worker
Status: Accepted
Context: Fulfilment calls a partner API that is slow and occasionally
unavailable. Calling it synchronously would push checkout latency past
our target and fail orders during partner outages.
Decision: The order API publishes an "order placed" message to a queue.
A separate worker consumes it and calls the partner API with retries
and a dead-letter queue.
Consequences: Checkout no longer depends on partner availability.
Fulfilment becomes eventually consistent, so the UI must show an
"order received" state. We now operate and monitor a queue and DLQ.
Section 11, a risk entry:
| Risk | Likelihood | Impact | Mitigation | Owner |
|---|---|---|---|---|
| DLQ fills silently during partner outage | Medium | High | Alarm on DLQ depth, runbook for replay | Platform team |
Notice how every entry is specific enough to argue with. That's the point. A SAD reviewers can't disagree with is a SAD that says nothing. Want more on ADR hygiene? See our post on writing ADRs and the decision log template.
→ Stress-test the runtime flow for threats with the free STRIDE Threat Checklist
Solution design document vs technical design document
People use these names interchangeably, which causes real confusion in review meetings. A practical split:
| Solution architecture / design document | Technical design document | |
|---|---|---|
| Scope | Whole solution, often across systems, vendors and teams | One service, component or feature |
| Audience | Architects, security, product, ops, sometimes business sponsors | Engineers building and maintaining it |
| Diagrams | Context, container, deployment, key flows | Component, class, data model, sequence |
| Key content | Goals, constraints, decisions, risks, trade-offs | API contracts, schemas, algorithms, edge cases |
| Lifespan | Lives as long as the solution | Often frozen once the feature ships |
Most teams need both: one SAD for the solution, then lightweight technical design docs for the components that deserve them. If you're designing the technical design doc layer too, our design doc structure playbook pairs well with this template.
→ Compare how teams document architecture in Lucidchart vs Architecto
Review your SAD against a framework, not vibes
Once the document is drafted, review it through a lens reviewers already trust. The AWS Well-Architected Framework has six pillars: operational excellence, security, reliability, performance efficiency, cost optimization and sustainability. The Azure Well-Architected Framework uses five: reliability, security, cost optimization, operational excellence and performance efficiency.
A quick mapping from pillars to template sections:
- Security → sections 7 (network boundaries), 8 (identity, data protection) and 11 (risks).
- Reliability → sections 6 (failure handling), 7 (zones, regions) and 10 (availability targets).
- Cost optimization → sections 1 (cost goal), 5 and 7 (what's running, and where).
- Operational excellence → section 8 (observability) and runbooks linked from 11.
- Performance efficiency → section 10 (latency and throughput scenarios).
- Sustainability (AWS) → section 7 (region choice, right-sizing) and section 4 (managed versus self-hosted).
If a pillar has no home in your document, that's your next review comment, written for you.
→ Price the deployment view before review day with Cost Estimator
Keep the SAD alive after sign-off
The approved SAD is a snapshot. The system keeps moving. Within a few sprints, the diagram and reality drift apart, and the doc quietly becomes fan fiction.
What actually helps:
- Store the source, not just the export. Keep diagram source files or links next to the doc, so updating a diagram doesn't mean redrawing it.
- Date every diagram. A "last updated" stamp makes staleness visible instead of silent.
- Review changes as deltas. When the architecture changes, show reviewers what changed between versions rather than asking them to re-read everything.
- Supersede, don't delete. Mark old ADRs "superseded by ADR-012" so the history of why stays intact.
This is the part where tooling earns its keep. Architecto's Architecture Diff compares saved architecture versions so reviewers see the structural delta, and HyperDocs keeps the narrative and visuals together in one living document instead of a stale export.
→ Show reviewers exactly what changed between versions with Architecture Diff
Key takeaways
- A solution architecture document template should be built around decisions and diagrams, not word count.
- Use a proven structure: arc42's 12 sections cover everything a SAD reviewer asks about.
- The minimum diagram set is context, container, deployment and one critical runtime flow, which maps cleanly to the C4 model.
- Make quality requirements measurable and constraints explicit about whether they're negotiable.
- Log decisions as short ADRs with context and consequences.
- Review the draft against the AWS or Azure Well-Architected pillars, then keep it alive with dated diagrams and version diffs.
FAQ
What is a solution architecture document?
A solution architecture document (SAD) describes how a specific solution will meet its business goals and quality requirements: the scope and context, the main building blocks, how they are deployed, the key decisions and their trade-offs, and the known risks. It is the artifact reviewers approve before the build starts, and the reference the team maintains as the system changes.
Which diagrams belong in a solution architecture document?
At minimum, a context diagram (the system, its users and external dependencies), a container or building-block diagram (the deployable pieces and how they talk), a deployment diagram (where those pieces run: accounts, regions, networks), and at least one runtime or sequence view for the most important flow. The C4 model's system context, container and deployment diagrams map neatly onto these.
What is the difference between a solution design document and a technical design document?
Teams use the names loosely, but a solution architecture or solution design document usually covers the whole solution across systems, vendors and teams, and is written for both business and technical reviewers. A technical design document usually goes deeper into one component or service, such as its API, data model and internal logic, and is written mostly for the engineers building it.
How long should a solution architecture document be?
As short as it can be while still letting a reviewer make a decision. Diagrams and tables carry most of the weight; prose explains the decisions and trade-offs. If a section has nothing meaningful to say for your project, write "not applicable" and why, rather than padding it.
→ Explore reusable reference architectures to start your next SAD
Start your next SAD with the diagrams already drawn
The fastest SAD is the one where the diagrams exist before the meeting invite goes out. Describe the solution in plain English, get an editable architecture from Architect AI, route it into cost and threat reviews, then wrap the whole story into a shareable document with HyperDocs.
→ Start free and build your first solution architecture document
→ See how HyperDocs turns architecture into stakeholder-ready docs