Amazon EMR su EKS introduce i controlli di concorrenza per l'esecuzione dei job
Amazon EMR su EKS consente di eseguire framework open source per i big data, come Apache Spark e Flink, su cluster AWS EKS (Elastic Kubernetes Service). I job vengono inviati a un cluster virtuale, mappato su un namespace di un cluster EKS, mentre EMR su EKS si occupa di packaging, pianificazione ed esecuzione delle applicazioni. Oggi presentiamo il controllo di ammissione delle esecuzioni dei job su EMR su EKS, con supporto per la concorrenza delle esecuzioni e per i segnali di backpressure provenienti dall'API StartJobRun.
Con questa novità è ora possibile impostare limiti di concorrenza sui job a livello di cluster virtuale, ottenendo un controllo granulare su quante esecuzioni di job avvengono in parallelo e quante possono restare in coda. Si tratta di una coda logica che rappresenta i job negli stati PENDING/SUBMITTED. Questi controlli aiutano a proteggere i cluster EKS condivisi dal rischio di sovraccarico negli ambienti multi-tenant e di prevenire i fallimenti di pianificazione legati al fenomeno del "noisy neighbor", così che i carichi di lavoro critici continuino a funzionare in modo prevedibile anche sotto forte domanda. Sul cluster virtuale si possono configurare due limiti opzionali: maxConcurrentJobRuns, che definisce il numero massimo di job in esecuzione contemporaneamente, e maxInQueueJobRuns, che stabilisce la profondità massima della coda per i job accettati da EMR su EKS ma non ancora avviati. Quando la coda raggiunge la capacità massima, StartJobRun restituisce un'eccezione HTTP ValidationException, permettendo di scaricare o reindirizzare il traffico verso un altro cluster in modo controllato, anziché sovraccaricarne uno soltanto. I limiti correnti e il numero di job attivi in tempo reale possono essere consultati in qualsiasi momento tramite DescribeVirtualCluster. Per impostazione predefinita non viene applicato alcun limite: i carichi di lavoro esistenti restano quindi invariati finché non si decide di attivare questa funzionalità.
I limiti di concorrenza sui job sono disponibili in tutte le regioni AWS in cui è offerto EMR su EKS. Per iniziare, consulta gestione dei cluster virtuali.