Home
NFR-2: Affidabilità
Descrizione
[NFR-2.01] L’affidabilità definisce la capacità del sistema di operare in modo consistente nel tempo e di recuperare in modo efficace dai guasti. I servizi DEVONO (MUST) soddisfare i target di uptime concordati e implementare meccanismi appropriati di tolleranza ai guasti.
Guida
Costruire per l’affidabilità
[NFR-2.02] I sistemi DEVONO (MUST) essere progettati per la resilienza e la tolleranza ai guasti:
- Ridondanza: Eliminare i singoli punti di guasto attraverso componenti ridondanti e meccanismi di failover.
- Gestione dei guasti: Implementare una gestione robusta dei guasti con degradazione graduale quando componenti o dipendenze falliscono.
- Circuit breaker: Considerare pattern di circuit breaker per prevenire guasti a cascata quando i servizi upstream non sono disponibili.
- Meccanismi di retry: Considerare policy di retry con backoff esponenziale per guasti transitori.
- Health check: Abilitare il monitoraggio e il recupero automatico, ad esempio costruendo endpoint di health check.
- Backup dei dati: Progettare sistemi con capacità di backup e ripristino automatizzate.
Validare l’affidabilità
Il reliability testing assicura che il sistema operi in modo consistente nel tempo e recuperi in modo efficace dai guasti.
DEVE (MUST) essere testato:
- [NFR-2.03] Meccanismi di rilevamento dei guasti e recupero automatico
- [NFR-2.04] Procedure di backup e ripristino dei dati
- [NFR-2.05] Degradazione graduale in caso di guasti di componenti
DOVREBBE (SHOULD) essere testato:
- [NFR-2.06] Chaos engineering e fault injection testing
- [NFR-2.07] Scenari di disaster recovery
- [NFR-2.08] Consistenza e integrità dei dati in condizioni di guasto
DEVE (MUST) essere monitorato:
- [NFR-2.09] Uptime e disponibilità del sistema
- [NFR-2.10] Mean Time Between Failures (MTBF) e Mean Time To Recovery (MTTR)
Misurazione
| Stato |
Criteri |
| 🟢 VERDE |
Soddisfa gli SLA, recupero automatico in atto, monitoraggio completo |
| 🟡 AMBRA |
Solo recupero manuale disponibile, monitoraggio parziale |
| 🔴 ROSSO |
Interruzioni frequenti, nessun meccanismo di recupero |
Riferimenti