Skip to content

A curated collection · 6 starting points

Software architecture diagram templates

An architecture diagram is useful when its scope is clear. Use a context view to explain who uses a system, a container view to show its major parts, and a deployment view to discuss where those parts run. These examples give each question its own starting point.

Choose a template

Choose the view that answers your question

Read the example and its source before opening it in the editor. Each card identifies the workstation and the plan needed to edit there.

Cloud architecture

AWS — Three-Tier Web Application, Multi-AZ

Choose this for an AWS deployment discussion involving public and private subnets and more than one availability zone. Replace the example resources with your design and review the engine's findings; a clean diagram check is not a security assessment of deployed infrastructure.

Studio · Free plan available · Sign-in required to edit

Mermaid

C4 — System Context

Choose this for a first conversation with stakeholders. Keep people and external systems around the boundary of your system, and leave internal services for a separate container view.

Studio · Free plan available · Sign-in required to edit

Mermaid

C4 — Containers

Choose this to explain the applications, services and data stores inside a system. Keep the abstraction consistent: C4 containers are runnable applications or data stores, not necessarily Docker containers.

Studio · Free plan available · Sign-in required to edit

D2

Three-tier web app

Choose this for a compact diagram-as-code view of a browser, load balancer, API pool, database and cache. It is useful when you want readable text and labelled connections without a large cloud-specific vocabulary.

Studio · Free plan available · Sign-in required to edit

Graphviz (DOT)

Microservices Topology

Choose this to discuss service-to-service communication and distinguish synchronous calls from asynchronous messaging. Review edge meanings and ownership boundaries before adding every endpoint to the same picture.

Studio · Free plan available · Sign-in required to edit

A closer look

AWS — Three-Tier Web Application, Multi-AZ

Choose this for an AWS deployment discussion involving public and private subnets and more than one availability zone. Replace the example resources with your design and review the engine's findings; a clean diagram check is not a security assessment of deployed infrastructure.

Explore this template
Three-tier web applicationAn AWS architecture diagram: 10 resources in 12 scopes (1 network, 2 availability zones), joined by 11 connections. Categories drawn: Compute, Storage, Databases, Networking, Clients. No error or warning across 10 resources and 11 edges, every line read; 1 ran only in part — so this is a clean result on the part that could be checked, not a clean bill of health.Three-tier web applicationAWS · 10 resources · 12 scopes · 1 network · 2 zones · 11 connectionsNo error or warning across 10 resources and 11 edges, every line read; 1 ran only in part — so this is a clean result on the part that could be checked,not a clean bill of health.Internetintern…8AccountAcme Production8Regionus-east-18NetworkMain VPC10.0.0.0/168+Availability zoneus-east-…8Availability zoneus-east-…8SubnetPubl…10.0.1.0…public8+SubnetApp tie…10.0.11.…private8+SubnetData…10.0.21.…isolated8+SubnetPubl…10.0.2.0…public8+SubnetApp tie…10.0.12.…private8+SubnetData…10.0.22.…isolated8+Customers—2+Public loadbalanceraws2+Internetgatewayaws5+Static assetsaws1+NAT gateway Aaws5+Web server Aaws×22+Orders(primary)awsHA2+NAT gateway Baws5+Web server Baws×22+Orders(standby)awsHA3+https 443http 8080http 8080postgres 5432postgres 5432replications3 apis3 apiLegendComputeStorageDatabasesNetworkingClientsRequest trafficData movementReplicationDepends onChecks — what ran, and what could notWhether the internet reaches something that ho…ran over 6 subjects, found nothingWhether anything holding data at rest sits in …ran over 2 subjects, 1 gap — a partial passWhether anything claiming redundancy is spread…ran over 4 subjects, found nothingEdges that leave one network for another, or c…ran over 10 subjects, found nothingResources that appear in no edge at all. A leg…ran over 10 subjects, found nothingEvery id an edge or a scope names is one that …ran over 10 subjects, found nothingEach id is declared once. Two declarations mak…ran over 22 subjects, found nothingType words that did not resolve. A hole in thi…ran over 10 subjects, found nothingDeclared ranges: that each parses, sits inside…ran over 7 subjects, found nothingWhether every line was read and no shape cap b…ran over 22 subjects, found nothingFindings1`assets` holds data at rest and sits inside no subnet at all, so nothing in this document says whether it is publicly routable and this check had nothing to read.in the figure: assets2The walk reached 6 resources from the internet; every one of the 2 that hold data at rest — `db-a` and `assets` — sits behind an ingress.in the figure: customers, lb, web-a, web-b, db-a +1 more3Every one of the 2 datastores this check could read — `db-a` and `db-b` — sits in a subnet declared private or isolated.in the figure: db-a (badge 2), db-b42 resources claim redundancy from inside one zone and are drawn with a replicated peer in another — `db-a` and `db-b` — so the picture supports the claim.in the figure: db-a (badge 2), db-b (badge 3)5Every edge this check could read stays inside one network, stays outside all of them, or names a gateway to cross at; 10 endpoints were read across 1 declared network.in the figure: customers (badge 2), lb (badge 2), web-a (badge 2), web-b (badge 2), db-a (badge 2) +5 more6All 10 declared resources appear in at least one edge.in the figure: customers (badge 2), lb (badge 2), gw (badge 5), assets (badge 1), nat-a (badge 5) +5 more7All 10 ids named by edges and scopes were declared somewhere in this document.in the figure: customers (badge 2), lb (badge 2), web-a (badge 2), web-b (badge 2), db-a (badge 2) +5 more8All 22 declared ids are distinct.in the figure: internet, prod, us-east-1, vpc-main, us-east-1a +17 more9All 10 resources resolved to a type this engine knows, so every check above had the full vocabulary to read.in the figure: customers (badge 2), lb (badge 2), gw (badge 5), assets (badge 1), nat-a (badge 5) +5 more10All 7 declared ranges parse, each of the 6 drawn inside an addressed network sits inside it, and no two ranges under one parent share an address. The 6 subnets thathave instances drawn in them hold them. Ranges under different parents were not compared — two networks numbered alike is ordinary and correct.in the figure: vpc-main (badge 8), pub-a (badge 8), app-a (badge 8), data-a (badge 8), pub-b (badge 8) +2 more11Every line was read and no shape cap bit: the 22 declarations above are the whole document, so the counts are totals rather than floors.
Rendered from the template's actual source.

Name the view and its boundary

Put the system or environment in the title and explain which connections the arrows represent. A request, a deployment dependency and a flow of data are different relationships; mixing them without a legend creates ambiguous architecture.

Keep the diagram connected to evidence

Review the example against the actual services, manifests or specifications you maintain. Living diagrams can compare supported public sources with a cloud-project figure; they do not inspect arbitrary private repositories or prove every architectural property.

Make the example your own

Reading the public examples and source is free. Editing requires an account with access to the named workstation. Free includes the Studio with up to 3 saved figures and 3 cloud Library projects; dedicated workstations such as Weave and BPMN start on Starter.

Replace example labels, counts and policies before using a template for your work. Optional AI features and exports have their own plan and usage limits.

Compare plans