Video: Keynote (Google I/O '18) 2024
La capacità dell'applicazione di scalare dipenda dal suo accesso alle risorse. AWS fornisce un accesso coerente alle sue risorse utilizzando la scalabilità automatica, che è una combinazione di automazione e ridimensionamento. I monitor generano eventi che segnalano servizi quando un'applicazione richiede risorse aggiuntive, come i server, per mantenere un livello costante di output in modo che l'utente non veda alcuna differenza tra una luce e un carico pesante.
Anche se le prestazioni reali della scalabilità automatica potrebbero non fornire esattamente questo livello di coerenza, l'automazione funziona abbastanza bene in modo che la maggior parte degli utenti non si lamenterà da una prospettiva AWS.
Un problema con RDS, o qualsiasi altro servizio di database, è che le risorse includono i dati. Qualunque cosa tu faccia, l'invio di risorse aggiuntive ai problemi di gestione dei dati non potrà che andare così lontano. Ad un certo punto, il peso puro dei dati diventa un ingombro. La ricerca di più milioni di record per trovare l'unico record di cui hai bisogno richiede tempo, indipendentemente dal numero di server che autorizzi e dalla quantità di memoria che fornisci. Tenendo presente questo fattore temporale, è necessario considerare questi problemi quando si lavora con AWS per creare un'applicazione che si adatta bene quando sono coinvolte grandi quantità di dati:
- Usa l'RDBMS giusto: Amazon mette a disposizione una serie di gestori di database. Anche se la tua prima inclinazione è quella di utilizzare il motore di database che utilizzi più comunemente nella tua organizzazione ora, le considerazioni sulla velocità potrebbero trionfare in questo caso. Se si desidera che l'applicazione scalare bene, potrebbe essere necessario scegliere un RDBMS che fornisce la velocità ottimale in un ambiente cloud.
- Organizzare i dati utilizzando le migliori pratiche: L'uso delle migliori pratiche offre un buon punto di partenza per garantire che l'applicazione sia in scala. Una buona pratica entra in gioco quando la sperimentazione dimostra che di solito ha buoni risultati.
- Esperimento per trovare buone ottimizzazioni RDBMS: Le risorse della conoscenza di solito si concentrano sul caso generale perché nessuno può sapere quali sono le tue esigenze specifiche. Tuttavia, i compromessi si verificano quando si utilizzano varie tecniche generali di organizzazione e ottimizzazione e si deve considerare il prezzo di ogni trade-off rispetto alla velocità dell'applicazione e la capacità dell'applicazione di scalare bene sotto carico. In alcuni casi, fare affidamento su una procedura ottimale che funzioni in generale potrebbe non produrre il risultato desiderato nel caso specifico.
- Gioca con AWS per determinare se saranno utili risorse aggiuntive: AWS potrebbe davvero aiutarti a superare alcuni problemi di velocità e ridimensionamento consentendo l'accesso a risorse che normalmente non avresti. La documentazione di AWS offre alcuni indizi su quando allocare risorse aggiuntive (e spendere di più per farlo) produrrà il risultato desiderato. Sfortunatamente, l'unico modo per verificare che l'utilizzo di risorse AWS aggiuntive fornirà un guadagno accettabile per il prezzo pagato è quello di sperimentare e monitorare attentamente i risultati dei test.