Logo Zephyrnet

Presentazione di dimensioni dell'ambiente più grandi di Amazon MWAA | Servizi Web di Amazon

Data:

Flussi di lavoro gestiti da Amazon per Apache Airflow (Amazon MWAA) è un servizio gestito per Flusso d'aria Apache che semplifica la configurazione e il funzionamento dell'infrastruttura per orchestrare le pipeline di dati nel cloud. I clienti utilizzano Amazon MWAA per gestire la scalabilità, la disponibilità e la sicurezza dei propri ambienti Apache Airflow. Mentre progettano pipeline di elaborazione dati sempre più intensive, complesse e in continua crescita, i clienti ci hanno chiesto ulteriori risorse sottostanti per fornire maggiore simultaneità e capacità per le loro attività e flussi di lavoro.

Per risolvere questo problema, oggi annunciamo la disponibilità di classi di ambiente più grandi in Amazon MWAA. In questo post approfondiamo le funzionalità di questi nuovi ambienti XL e 2XL, gli scenari per cui sono adatti e come configurare o aggiornare il tuo ambiente Amazon MWAA esistente per sfruttare le maggiori risorse.

Sfide attuali

Quando crei un ambiente Amazon MWAA, un insieme di ambienti gestiti Servizio di container elastici Amazon (Amazon ECS) con AWS Fargate ai contenitori viene fornito RAM e CPU virtuali definite.

Mentre lavori con carichi di lavoro più grandi, complessi e ad uso intensivo di risorse o ne esegui migliaia Grafici aciclici diretti (DAG) al giorno, potresti iniziare a esaurire la disponibilità della CPU su scheduler e lavoratori o a raggiungere limiti di memoria nei lavoratori. L'esecuzione di Apache Airflow su larga scala comporta un carico proporzionalmente maggiore sul database dei metadati di Airflow, causando talvolta problemi di CPU e memoria sul sottostante Servizio di database relazionale Amazon (Amazon RDS). Un database di metadati affamato di risorse può portare all'interruzione delle connessioni da parte dei dipendenti, fallendo prematuramente le attività.

Per migliorare le prestazioni e la resilienza delle tue attività, considera quanto segue Best practice per Apache Airflow per creare DAG. In alternativa, puoi creare più ambienti Amazon MWAA per distribuire i carichi di lavoro. Tuttavia, ciò richiede ulteriori sforzi ingegneristici e gestionali.

Nuove classi ambientali

Con la versione odierna, ora puoi creare ambienti XL e 2XL in Amazon MWAA oltre alle classi di ambiente esistenti. Hanno rispettivamente due e quattro volte il calcolo e tre e sei volte la memoria dell'attuale classe di istanze dell'ambiente Amazon MWAA di grandi dimensioni. Queste istanze aggiungono calcolo e RAM in modo lineare per migliorare direttamente la capacità e le prestazioni di tutti i componenti Apache Airflow. La tabella seguente riassume la capacità dell'ambiente.

. Schedulatore e CPU/RAM di lavoro

web Server

CPU/RAM

Compiti simultanei Capacità del DAG
mw1.xlarge 8 vCPU / 24 GB 4 vCPU / 12 GB 40 attività (impostazione predefinita) Fino a 2000
mw1.2xgrande 16 vCPU / 48 GB 8 vCPU / 24 GB 80 attività (impostazione predefinita) Fino a 4000

Con l'introduzione di questi ambienti più grandi, il database dei metadati di Amazon Aurora ora utilizzerà istanze più grandi e ottimizzate per la memoria basate su AWS Gravitone2. Con la famiglia di processori Graviton2 ottieni miglioramenti in termini di elaborazione, archiviazione e rete, oltre alla riduzione delle emissioni di carbonio offerta dalla famiglia di processori AWS.

Prezzi

Le dimensioni dei prezzi di Amazon MWAA rimangono invariate e paghi solo per ciò che utilizzi:

  • La classe ambientale
  • Istanze di lavoro aggiuntive
  • Ulteriori istanze dello scheduler
  • Spazio di archiviazione del database dei metadati consumato

Ora ottieni due opzioni aggiuntive nelle prime tre dimensioni: XL e 2XL per classe di ambiente, lavoratori aggiuntivi e istanze di pianificazione. I prezzi per l'archiviazione del database dei metadati rimangono gli stessi. Fare riferimento a Prezzi di flussi di lavoro gestiti da Amazon per Apache Airflow per tariffe e maggiori dettagli.

Osserva le prestazioni di Amazon MWAA per pianificare la scalabilità in ambienti più grandi

Prima di iniziare a utilizzare le nuove classi di ambiente, è importante capire se ci si trova in uno scenario correlato a problemi di capacità, ad esempio memoria insufficiente del database dei metadati o lavoratori o pianificatori in esecuzione con un utilizzo elevato della CPU. Comprendere le prestazioni delle risorse dell'ambiente è fondamentale per risolvere i problemi relativi alla capacità. Si consiglia di seguire le indicazioni descritte in Presentazione dei parametri di utilizzo di contenitori, database e code per l'ambiente Amazon MWAA per comprendere meglio lo stato degli ambienti Amazon MWAA e ottenere approfondimenti per dimensionare correttamente le tue istanze.

Nel test seguente simuliamo uno scenario di carico elevato, utilizziamo il Parametri di osservabilità di CloudWatch per identificare i problemi comuni e prendere una decisione informata per pianificare la scalabilità in ambienti più ampi per mitigare i problemi.

Durante i nostri test, abbiamo eseguito un DAG complesso che crea dinamicamente oltre 500 attività e utilizza sensori esterni per attendere il completamento di un'attività in un DAG diverso. Dopo l'esecuzione su una classe di ambiente di grandi dimensioni Amazon MWAA con scalabilità automatica impostata su un massimo di 10 nodi di lavoro, abbiamo notato i seguenti parametri e valori nel Pannello di controllo CloudWatch.

I nodi di lavoro hanno raggiunto la capacità massima della CPU, facendo sì che il numero di attività in coda continui ad aumentare. L'utilizzo della CPU del database dei metadati ha raggiunto un picco superiore al 65% della capacità e la memoria disponibile del database è stata ridotta. In questa situazione, potremmo aumentare ulteriormente la scalabilità dei nodi di lavoro, ma ciò comporterebbe un carico aggiuntivo sulla CPU del database dei metadati. Ciò potrebbe portare a una riduzione del numero di connessioni al database di lavoro e della memoria del database libera disponibile.

Con le nuove classi di ambiente, puoi ridimensionare verticalmente per aumentare le risorse disponibili modificando l'ambiente e selezionando una classe di ambiente superiore, come mostrato nello screenshot seguente.

Dall'elenco degli ambienti selezioniamo quello in uso per questo test. Scegliere Modifica per navigare verso il Configura le impostazioni avanzate pagina e selezionare l'ambiente xlarge o 2xlarge appropriato come richiesto.

Dopo aver salvato la modifica, il completamento dell'aggiornamento dell'ambiente richiederà 20-30 minuti. Qualsiasi DAG in esecuzione che è stato interrotto durante l'aggiornamento è programmato per un nuovo tentativo, a seconda del modo in cui hai configurato i tentativi per i tuoi DAG. Ora puoi scegliere di richiamarli manualmente o attendere la successiva esecuzione pianificata.

Dopo aver aggiornato la classe dell'ambiente, abbiamo testato lo stesso DAG e osservato che i parametri mostravano valori migliorati perché ora sono disponibili più risorse. Con questo ambiente XL, puoi eseguire più attività su meno nodi di lavoro e quindi il numero di attività in coda continua a diminuire. In alternativa, se hai attività che richiedono più memoria e/o CPU, puoi ridurre le attività per lavoratore, ma ottenere comunque un numero elevato di attività per lavoratore con dimensioni dell'ambiente maggiori. Ad esempio, se disponi di un ambiente di grandi dimensioni in cui la CPU del nodo di lavoro ha raggiunto il limite massimo celery.worker_autoscale (la configurazione Airflow che definisce il numero di compiti per lavoratore) Fissato a 20,20, puoi passare ad un ambiente XL e impostare celery.worker_autoscale a 20,20 su XL, anziché le 40 attività predefinite per lavoratore su un ambiente XL e il carico della CPU dovrebbe ridursi in modo significativo.

Configura un nuovo ambiente XL in Amazon MWAA

Puoi inizia con Amazon MWAA nel tuo account e nella regione AWS preferita utilizzando il file Console di gestione AWS, API o Interfaccia della riga di comando di AWS (AWS CLI). Se stai adottando l'infrastruttura come codice (IaC), puoi automatizzare la configurazione utilizzando AWS CloudFormazione, le Kit di sviluppo cloud AWS (AWS CDK) o script Terraform.

Le classi di ambiente Amazon MWAA XL e 2XL sono disponibili oggi in tutte le regioni in cui Amazon MWAA è attualmente disponibile.

Conclusione

Oggi annunciamo la disponibilità di due nuove classi di ambiente in Amazon MWAA. Con le classi di ambiente XL e 2XL, puoi orchestrare volumi più grandi di flussi di lavoro complessi o ad uso intensivo di risorse. Se esegui DAG con un numero elevato di dipendenze, migliaia di DAG in più ambienti o in uno scenario che richiede un utilizzo intensivo dei lavoratori per l'elaborazione, ora puoi superare i relativi problemi di capacità aumentando le risorse dell'ambiente in pochi passaggi semplici.

In questo post abbiamo discusso le capacità delle due nuove classi di ambiente, inclusi i prezzi e alcuni problemi comuni di vincolo delle risorse che risolvono. Abbiamo fornito indicazioni e un esempio su come osservare gli ambienti esistenti per pianificare la scalabilità a XL o 2XL e abbiamo descritto come aggiornare gli ambienti esistenti per utilizzare le maggiori risorse.

Per ulteriori dettagli ed esempi di codice su Amazon MWAA, visita il Guida per l'utente di Amazon MWAA e la Amazon MWAA esempi repository GitHub.

Apache, Apache Airflow e Airflow sono marchi o marchi registrati di Apache Software Foundation negli Stati Uniti e/o in altri paesi.


Informazioni sugli autori

Hernan Garcia è un Senior Solutions Architect presso AWS con sede nei Paesi Bassi. Lavora nel settore dei servizi finanziari, supportando le aziende nell'adozione del cloud. È appassionato di tecnologie serverless, sicurezza e conformità. Gli piace passare il tempo con la famiglia e gli amici e provare nuovi piatti di cucine diverse.

Jeetendra Vaidya è un Senior Solutions Architect presso AWS, portando la sua esperienza nei regni dei domini AI/ML, serverless e di analisi dei dati. La sua passione è assistere i clienti nella progettazione di soluzioni sicure, scalabili, affidabili ed economicamente vantaggiose.

Sriharsh Adari è Senior Solutions Architect presso AWS, dove aiuta i clienti a lavorare a ritroso rispetto ai risultati aziendali per sviluppare soluzioni innovative su AWS. Nel corso degli anni, ha aiutato numerosi clienti nelle trasformazioni della piattaforma dati in tutti i settori verticali. La sua area di competenza principale comprende la strategia tecnologica, l'analisi dei dati e la scienza dei dati. Nel tempo libero gli piace fare sport, guardare programmi TV e suonare Tabla.

spot_img

L'ultima intelligenza

spot_img