Home
NFR-8: Portabilità
Descrizione
[NFR-8.01] La portabilità definisce la facilità con cui un sistema può essere trasferito da un ambiente all’altro. [NFR-8.02] I servizi DOVREBBERO (SHOULD) essere deployabili in diversi ambienti con modifiche minime.
Guida
Costruire per la portabilità
[NFR-8.03] I sistemi DEVONO (MUST) essere progettati per la flessibilità di deployment:
- Containerizzazione: Considerare l’uso di container per garantire deployment coerente in diversi ambienti.
- Configurazione degli ambienti: Implementare la metodologia twelve-factor app per la configurazione specifica dell’ambiente.
- Infrastructure as Code: Definire i requisiti infrastrutturali come codice per abilitare il provisioning consistente.
- Design cloud-native: Progettare sistemi che possano sfruttare i servizi della piattaforma cloud evitando lock-in non necessario con fornitori specifici.
Validare la portabilità
La portabilità è principalmente validata attraverso test di deployment e ambienti:
DEVE (MUST) essere testato:
- [NFR-8.04] Deployment in diversi ambienti target
- [NFR-8.05] Gestione della configurazione in diversi ambienti
- [NFR-8.06] Processi di provisioning e teardown dell’infrastruttura
DOVREBBE (SHOULD) essere testato:
- [NFR-8.07] Migrazione tra diversi cloud provider o piattaforme
- [NFR-8.08] Consistenza delle prestazioni in diversi target di deployment
Misurazione
| Stato |
Criteri |
| 🟢 VERDE |
Deployabile in tutti gli ambienti target con configurazione minima, infrastructure as code implementata |
| 🟡 AMBRA |
Richiede modifiche significative per deployment in ambienti diversi |
| 🔴 ROSSO |
Legato a un ambiente specifico, nessuna strategia di portabilità |
Riferimenti