Software architecture
lastmod 2026-05-29created 2015-06-1822 edits
Software architecture is the set of guidelines and principles that express the organic relationships among the components of software and govern its design and upgrades.
Categories
- Software Design
- Zero Downtime Release - Paper on Facebook's method of releasing without downtime
- Circuit breaker design pattern
- Society for Worldwide Interbank Financial Telecommunication#SWIFT payment network architecture
- Model View Controller pattern (MVC)
- Model View Presenter (MVP)
- Model View Viewmodel (MVVM)
- MVVM-C
- Clean Architecture
- CodeBoarding - Interactive architecture diagrams for codebases
Collection of system design resources
- Github - system-design-resources
- Large-scale video processing: Facebook, Netflix
- Cluster & workflow management: Facebook, Google, Netflix
- Intra-service messaging: Airbnb, Nginx Service Mesh
- Message queue anti-patterns
- Service mesh
- Practical system design: Facebook, YouTube..
- Distributed file systems
- Time series databases
- Rate Limiting
- Network protocols
- Subscription management system: Netflix
- Google Docs
- API design
- NoSQL DB Internals: Cassandra, Bigtable, DynamoDB
- NoSQL DB Algorithms
- Database Replication
- Containers and Docker
- Capacity Estimation
- Publisher & Subscriber
- Event Driven Architectures
- Microservices
- Load Balancing
- Alerts and Anomaly Detection
- Distributed Logging
- Metrics and Text Search Engine
- Single Point of Failure
- Real Time Processing
- Caching
See also
- Design pattern
- Software design
- Software design patterns
- Gang of Four (GoF)
- Algorithms
- Software architecture - Content on software architecture design.
- Event driven architecture
- System Architecture
- Systemizer - System design visualization tool
Favorite site
- Wikipedia (en) description of software architecture
- The architecture behind the LINE LIVE chat feature 1
- Translation - 10 common software architecture patterns in a nutshell
- Original: Uber Architecture and System Design