PERF02-BP05 Scala le tue risorse di elaborazione in modo dinamico - Pilastro dell'efficienza delle prestazioni

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

PERF02-BP05 Scala le tue risorse di elaborazione in modo dinamico

Sfrutta l'elasticità del cloud per scalare dinamicamente le risorse di elaborazione per soddisfare le tue esigenze ed evitare un provisioning eccessivo o insufficiente per il tuo carico di lavoro.

Anti-pattern comuni:

  • Risposta agli allarmi aumentando manualmente la capacità.

  • Utilizzi le stesse linee guida per il dimensionamento (generalmente infrastruttura statica) di quelle on-premises.

  • Dopo un evento di dimensionamento, lasci una capacità aumentata anziché ridurre il dimensionamento.

Vantaggi dell'adozione di questa best practice: la configurazione e il test dell'elasticità delle risorse di elaborazione possono aiutarti a risparmiare denaro, mantenere i benchmark delle prestazioni e migliorare l'affidabilità al variare del traffico.

Livello di rischio associato se questa best practice non fosse adottata: elevato

Guida all'implementazione

AWS offre la flessibilità necessaria per aumentare o ridurre le risorse in modo dinamico attraverso una varietà di meccanismi di scalabilità al fine di soddisfare le variazioni della domanda. In combinazione con i parametri relativi all'elaborazione, il dimensionamento dinamico consente ai carichi di lavoro di rispondere automaticamente alle modifiche e utilizzare il set ottimale di risorse di elaborazione per raggiungere l'obiettivo.

Puoi adottare varie strategie di approccio per associare l'offerta di risorse alla domanda.

  • Approccio al tracciamento degli obiettivi: monitora il parametro di dimensionamento e aumenta o diminuisci automaticamente la capacità in base alle esigenze.

  • Dimensionamento predittivo: procedi a ridurre orizzontalmente in previsione delle tendenze giornaliere e settimanali.

  • Approccio basato sulla pianificazione: imposta il tuo programma di dimensionamento in base alle variazioni di carico prevedibili.

  • Scalabilità del servizio: scegli i servizi (come quelli serverless) che si dimensionano automaticamente per progettazione.

Assicurati che le implementazioni dei carichi di lavoro siano in grado di gestire eventi che prevedono l'aumentare verticalmente e il ridurre verticalmente.

Passaggi dell'implementazione

  • Istanze di elaborazione, container e funzioni forniscono tutti meccanismi di elasticità, in combinazione con il dimensionamento automatico o sotto forma di funzionalità del servizio. Ecco alcuni esempi di meccanismi di dimensionamento automatico:

    Meccanismo di scalabilità automatica Dove usarlo
    Amazon EC2 Auto Scaling Per assicurarti di disporre del numero corretto di EC2 istanze Amazon disponibili per gestire il carico di utenti per la tua applicazione.
    Application Auto Scaling Per scalare automaticamente le risorse per singoli AWS servizi oltre Amazon, EC2 come AWS Lambdafunzioni o servizi Amazon Elastic Container Service (AmazonECS).
    Kubernetes Cluster Autoscaler/Karpenter Dimensiona automaticamente i cluster Kubernetes.
  • La scalabilità viene spesso discussa in relazione a servizi di elaborazione come Amazon EC2 Instances o funzioni. AWS Lambda Assicurati di considerare anche la configurazione di servizi non di calcolo come AWS Glue per soddisfare la domanda.

  • Verifica che i parametri per il dimensionamento corrispondano alle caratteristiche del carico di lavoro da implementare. Se stai implementando un'applicazione di transcodifica video, è previsto un CPU utilizzo del 100% e non dovrebbe essere il parametro principale. Utilizza la profondità della coda dei processi di transcodifica. Se necessario, puoi utilizzare una metrica personalizzata per la tua policy di dimensionamento. Per scegliere le metriche giuste, consulta le seguenti linee guida per AmazonEC2:

    • La metrica deve essere una metrica di utilizzo valida e descrivere il livello di impiego di un'istanza.

    • Il valore del parametro deve aumentare e diminuire in proporzione al numero di istanze nel gruppo con scalabilità automatica.

  • Assicurati di utilizzare il dimensionamento dinamico anziché il dimensionamento manuale per il tuo gruppo Auto Scaling. È consigliabile utilizzare le policy di dimensionamento del monitoraggio degli obiettivi nel dimensionamento dinamico

  • Verifica che le implementazioni dei carichi di lavoro siano in grado di gestire entrambi gli eventi di dimensionamento (aumento e riduzione). Ad esempio, puoi usare la cronologia delle attività per verificare le attività di ridimensionamento per un gruppo Auto Scaling.

  • Analizza il tuo carico di lavoro per individuare modelli prevedibili e dimensionare le tue risorse in modo proattivo, anticipando variazioni nella domanda previste e pianificate. Con il dimensionamento predittivo puoi eliminare la necessità di offrire capacità in eccedenza. Per maggiori dettagli, consulta Predictive Scaling with Amazon Auto EC2 Scaling.

Risorse

Documenti correlati:

Video correlati:

Esempi correlati: