Progettazione di un nuovo sistema
Moduli, livelli API, dati e modalità di comunicazione tra le parti.
Architettura software
Progetto i confini del sistema affinché lo sviluppo futuro sia comprensibile, verificabile e proporzionato alle esigenze reali.
Discutiamo dell'architettura →Quando il sistema supera il progetto iniziale
L'architettura non è un diagramma per la documentazione. È un accordo su responsabilità, dati e confini di integrazione, che aiuta a prendere le decisioni successive.
L'ambito deriva dal sistema specifico, non da un modello universale.
Moduli, livelli API, dati e modalità di comunicazione tra le parti.
Dipendenze, debito tecnologico e aree in cui il cambiamento si propaga troppo lontano.
Modularizzazione, progettazione del database, componenti realtime e servizi esterni.
Buoni confini consentono di evolvere le parti del sistema senza che ogni modifica coinvolga tutto il resto.
Browser ↓ Application ├── API ├── Database ├── Realtime ├── Background jobs └── External services
Modalità di collaborazione
Quando il sistema supera il progetto iniziale
L'architettura non è un diagramma per la documentazione. È un accordo su responsabilità, dati e confini di integrazione, che aiuta a prendere le decisioni successive.
Esempio di modello
L'obiettivo non è dividere tutto subito, ma individuare le parti che per prime necessitano di una responsabilità propria.
Growing monolith
↓
Architecture review
↓
Clear module boundaries
↓
Independent APIs and jobs
↓
Controlled further developmentPartiamo dal sistema, dalla decisione o dal rischio che oggi rallenta maggiormente lo sviluppo.