system architecture
Technical design framework
System architecture is the high-level structure of a complex system—how its components are organized and how they interact.
In computing, it describes the arrangement of hardware, software, networks, and data flows: The system architecture couldn't handle the traffic spike.
The term applies beyond technology to any designed system with interdependent parts: organizational structures, urban planning, biological systems.
An architect designs the blueprint; system architecture is the blueprint itself.
Divisibility into independent units
- abstractionDistilling to essential qualities
- patternsRecurring arrangements or designs
- componentsConstituent parts
- interfacesPoints of interaction between systems
layering · decoupling · encapsulation · cohesion · coupling · design principles · event-driven · service-oriented
Adding machines to distribute load
- elasticityTendency to resume original form
- load balancingDistributing work across resources
- fault toleranceSystem continues despite failures
- replicationAct of duplicating precisely
sharding · partitioning · caching · statelessness · microservices · throughput · performance · auto-scaling
Machines providing network resources
- hardwareMetal goods and fittings
- storageSpace for keeping goods
- datacenterFacility housing networked computers
- virtualizationCreating simulated computing environments
containers · cloud · on-premises · hybrid · redundancy · backup · disaster recovery · rack
Established codes of conduct
- load balancerDistributes requests across servers
- RESTWeb service design paradigm
- gRPCRemote method invocation system
- webhookEvent-triggered HTTP notification
middleware · integration · synchronous · asynchronous · routing · endpoint · bandwidth · latency
Simplified technical diagram
- diagramSimplified explanatory sketch
- planDetailed proposal for achieving
- layoutSpatial arrangement of elements
- specificationDetailed technical requirement
drawing · model · representation · wireframe · mockup · flowchart · block diagram · topology
modularity
Divisibility into independent units
- abstractionDistilling to essential qualities
- patternsRecurring arrangements or designs
- componentsConstituent parts
interfaces · layering · decoupling · encapsulation · cohesion · coupling · design principles · event-driven · service-oriented · object-oriented
horizontal scaling
Adding machines to distribute load
- elasticityTendency to resume original form
- load balancingDistributing work across resources
- fault toleranceSystem continues despite failures
replication · sharding · partitioning · caching · statelessness · microservices · throughput · performance · auto-scaling · resilience
servers
Machines providing network resources
- hardwareMetal goods and fittings
- storageSpace for keeping goods
- datacenterFacility housing networked computers
virtualization · containers · cloud · on-premises · hybrid · redundancy · backup · disaster recovery · rack · networking
protocols
Established codes of conduct
- load balancerDistributes requests across servers
- RESTWeb service design paradigm
- gRPCRemote method invocation system
webhook · middleware · integration · synchronous · asynchronous · routing · endpoint · bandwidth · latency · firewall
schematic
Simplified technical diagram
- diagramSimplified explanatory sketch
- planDetailed proposal for achieving
- layoutSpatial arrangement of elements
specification · drawing · model · representation · wireframe · mockup · flowchart · block diagram · topology · documentation
system architecturehack
Shortcut or breach
kludge · technical debt · patchwork · improvisation · spaghetti code
system architecturedisorder
Absence of organization
disorganization · entropy · chaos · fragmentation · incoherence
system, architecture, infrastructure, systems, systemic, architects, ecosystem, systematize, systematically