0%

architecture style

Two main categories

Partitioning

Technical vs. Domain-based

Partitioning by Technical Concerns

Code organized by functional roles or Technical layers
eg. Backend and frontend

Partitioning by Domain Concerns

code organized around business Domains or problem areas
eg. separated teams for loads, investments, account management

deployment

Monolithic vs. Distributed

Monolithic architecture

single deployment unit
+: easier initial develop
+: simplified debugging
-: difficult to scale independently
-: single bug can propotage to whole system

Distributed architecture

+: High complexity due to network dependence
-: network latency
-: Bandwidth is finite
-: The network is not secure
-: RollBacks can fail to
Multiple deplorable units communication over networks