Storia della domanda:
I moderni sistemi informativi spesso operano sotto carico, il numero di utenti e il volume dei dati cresce. Il business richiede alte prestazioni e scalabilità del prodotto, resilienza e rischi minimi di inattività.
Problema:
I requisiti di prestazione sono raramente formulati in modo chiaro, spesso in modo formale: "funziona rapidamente" o "scalabile per 100.000 utenti". Criteri poco elaborati portano all'impossibilità di verificare, concordare o testare una soluzione e, a volte, a un eccesso di risorse.
Soluzione:
Caratteristiche chiave:
È possibile utilizzare metriche standard del settore senza analizzare il prodotto?
Le metriche standard sono utili come riferimento, ma devono essere necessariamente adattate alle specifiche del business e al pubblico target del prodotto. Altrimenti, si rischia di trascurare scenari chiave e carico.
È sufficiente il carico durante i test in fase di sviluppo per essere certi della scalabilità?
No, gli ambienti di test spesso differiscono notevolmente da quelli di produzione in termini di infrastruttura. È necessario eseguire test di carico il più vicino possibile alla realtà e ripeterli periodicamente.
È possibile realizzare prestazioni massime senza compromettere la funzionalità di business?
Quasi sempre c'è un compromesso: a volte vengono imposti limiti (ad esempio, elaborazione batch o limiti per singoli scenari) per stabilità e rispetto del budget.
Caso negativo: Nel documento di requisiti è stato indicato "funzionamento sotto carico elevato", ma non sono state definite metriche. Nel rilascio, il caricamento dei dati ha preso ore e l'azienda ha perso clienti. Pro: Rapida approvazione dei requisiti. Contro: Comportamento imprevedibile del sistema sotto carico.
Caso positivo: L'analista ha richiesto scenari di business, insieme agli architetti ha fissato i limiti, ha eseguito test di carico. Nel rilascio, il sistema ha sopportato il carico di picco durante le promozioni. Pro: Crescita prevedibile, successo nelle campagne di marketing. Contro: Ritardo del rilascio a causa dell'ulteriore test.