Network topology
Internet → firewall → router → switch → server pool; uses hexagons / parallelograms / cylinders properly.
Rendering…
Make it your own.
{
"nodes": [
{ "id":"net","type":"ellipse","label":"Internet","x":40,"y":160,"fill":"#dbeafe","stroke":"#2563eb" },
{ "id":"fw","type":"hexagon","label":"Firewall","x":240,"y":160,"fill":"#fee2e2","stroke":"#b91c1c" },
{ "id":"rt","type":"parallelogram","label":"Router","x":440,"y":160,"fill":"#fed7aa","stroke":"#c2410c" },
{ "id":"sw","type":"parallelogram","label":"Core switch","x":640,"y":160,"fill":"#fed7aa","stroke":"#c2410c" },
{ "id":"s1","type":"rect","label":"App server 1","x":860,"y":40,"fill":"#ede9fe","stroke":"#6d28d9" },
{ "id":"s2","type":"rect","label":"App server 2","x":860,"y":160,"fill":"#ede9fe","stroke":"#6d28d9" },
{ "id":"s3","type":"rect","label":"App server 3","x":860,"y":280,"fill":"#ede9fe","stroke":"#6d28d9" },
{ "id":"db","type":"document","label":"DB cluster","x":1080,"y":160,"fill":"#fef3c7","stroke":"#a16207" },
{ "id":"mon","type":"triangle","label":"Monitor","x":440,"y":380,"fill":"#dcfce7","stroke":"#15803d" }
],
"edges": [
{ "id":"e1","source":"net","target":"fw" },
{ "id":"e2","source":"fw","target":"rt" },
{ "id":"e3","source":"rt","target":"sw" },
{ "id":"e4","source":"sw","target":"s1" },
{ "id":"e5","source":"sw","target":"s2" },
{ "id":"e6","source":"sw","target":"s3" },
{ "id":"e7","source":"s1","target":"db" },
{ "id":"e8","source":"s2","target":"db" },
{ "id":"e9","source":"s3","target":"db" },
{ "id":"e10","source":"mon","target":"sw","label":"SNMP" }
]
}