La scalabilità si riferisce all'aumento (o alla diminuzione) della capacità delle risorse disponibili per il backend per migliorarne le prestazioni o la disponibilità. Sebbene la scalabilità sia intrinseca nell'architettura, nella progettazione e nell'implementazione del backend, devi considerare diversi aspetti vitali.
Le prestazioni in questo caso si riferiscono alla velocità con cui l'applicazione web può rispondere a una richiesta; sono inclusi latenza, velocità, velocità effettiva e utilizzo delle risorse.
Scalabilità verticale
La scalabilità verticale si riferisce all'aumento delle risorse su un server. Ciò può comportare la sostituzione di un server applicazioni centrale con una macchina più potente per un'architettura basata su server. Per le architetture serverless, basate su microservizi o su cloud, può essere riferito all'upgrade delle risorse allocate, ad esempio all'aumento della memoria disponibile o alla selezione di una macchina virtuale di livello superiore.
Scalabilità orizzontale
La scalabilità orizzontale si riferisce all'aggiunta di più server e risorse parallele. L'architettura di base e l'applicazione devono essere ottimizzate per gestire questo tipo di scalabilità. Ad esempio, potrebbe essere necessario un bilanciamento del carico aggiuntivo per distribuire le richieste in un'architettura basata su server. Per un'architettura serverless in un ambiente cloud, come Cloud Functions, questo tipo di scalabilità può essere gestito in modo trasparente senza alcuna configurazione aggiuntiva.
Scalabilità e distribuzione a livello di regione
La scalabilità a livello di regione si riferisce alla distribuzione di servizi in più regioni geografiche. La distribuzione dei servizi o l'avvicinamento dei servizi agli utenti può ridurre la latenza e migliorare le prestazioni complessive della tua applicazione.
Considera la distribuzione e la diversità regionali come parte della tua architettura, soprattutto se non utilizzi un cloud provider che gestisca questa operazione in modo trasparente, ad esempio in un'architettura serverless basata su cloud. Valuta in che modo l'archiviazione dei dati nella tua applicazione potrebbe essere influenzata dalla distribuzione a livello di regione, in particolare per quanto riguarda la coerenza dei dati.
Quando elabori e archivi i dati su scala globale, fai attenzione a tutti i requisiti normativi o le normative applicabili al tuo sistema, in particolare in materia di elaborazione e archiviazione dei dati.