Zephyrnet Logo

Apresentando tamanhos de ambiente maiores do Amazon MWAA | Amazon Web Services

Data:

Fluxos de trabalho gerenciados da Amazon para Apache Airflow (Amazon MWAA) é um serviço gerenciado para Fluxo de ar Apache que agiliza a configuração e operação da infraestrutura para orquestrar pipelines de dados na nuvem. Os clientes usam o Amazon MWAA para gerenciar a escalabilidade, a disponibilidade e a segurança dos ambientes Apache Airflow. À medida que projetam pipelines de processamento de dados mais intensivos, complexos e cada vez maiores, os clientes nos solicitam recursos subjacentes adicionais para fornecer maior simultaneidade e capacidade para suas tarefas e fluxos de trabalho.

Para resolver isso, estamos anunciando hoje a disponibilidade de classes de ambiente maiores no Amazon MWAA. Nesta postagem, abordamos os recursos desses novos ambientes XL e 2XL, os cenários para os quais eles são adequados e como você pode configurar ou atualizar seu ambiente existente do Amazon MWAA para aproveitar os recursos aumentados.

Desafios atuais

Ao criar um ambiente Amazon MWAA, um conjunto de Serviço Amazon Elastic Container (Amazon ECS) com AWS Fargate os contêineres são provisionados com CPUs virtuais e RAM definidas.

À medida que você trabalha com cargas de trabalho maiores, complexas e que consomem muitos recursos, ou executa milhares de Gráficos Acíclicos Dirigidos (DAGs) por dia, você pode começar a esgotar a disponibilidade da CPU em agendadores e trabalhadores ou atingir limites de memória em trabalhadores. A execução do Apache Airflow em escala coloca uma carga proporcionalmente maior no banco de dados de metadados do Airflow, às vezes levando a problemas de CPU e memória no banco de dados subjacente. Serviço de banco de dados relacional da Amazon (Amazon RDS). Um banco de dados de metadados com falta de recursos pode levar à queda de conexões de seus trabalhadores, falhando tarefas prematuramente.

Para melhorar o desempenho e a resiliência de suas tarefas, considere seguir Práticas recomendadas do Apache Airflow para criar DAGs. Como alternativa, você pode criar vários ambientes do Amazon MWAA para distribuir cargas de trabalho. No entanto, isso requer esforços adicionais de engenharia e gerenciamento.

Novas classes de ambiente

Com a versão de hoje, você pode criar ambientes XL e 2XL no Amazon MWAA, além das classes de ambiente existentes. Eles têm duas e quatro vezes mais computação e três e seis vezes mais memória, respectivamente, da atual grande classe de instância do ambiente Amazon MWAA. Essas instâncias adicionam computação e RAM linearmente para melhorar diretamente a capacidade e o desempenho de todos os componentes do Apache Airflow. A tabela a seguir resume o capacidades ambientais.

. Agendador e CPU / RAM de trabalho

web Server

CPU/RAM

Tarefas Simultâneas Capacidade DAG
mw1.xgrande 8 vCPUs/24 GB 4 vCPUs/12 GB 40 tarefas (padrão) Até 2000
mw1.2xgrande 16 vCPUs/48 GB 8 vCPUs/24 GB 80 tarefas (padrão) Até 4000

Com a introdução desses ambientes maiores, seu banco de dados de metadados do Amazon Aurora agora usará instâncias maiores e com otimização de memória, alimentadas por AWS Graviton2. Com a família de processadores Graviton2, você obtém melhorias de computação, armazenamento e rede, além da redução da pegada de carbono oferecida pela família de processadores AWS.

Preços

As dimensões de preços do Amazon MWAA permanecem inalteradas e você paga apenas pelo que usar:

  • A aula de meio ambiente
  • Instâncias de trabalho adicionais
  • Instâncias adicionais do agendador
  • Armazenamento de banco de dados de metadados consumido

Agora você tem duas opções adicionais nas três primeiras dimensões: XL e 2XL para classe de ambiente, trabalhadores adicionais e instâncias de agendadores. O preço do armazenamento de banco de dados de metadados permanece o mesmo. Referir-se Preços de fluxos de trabalho gerenciados pela Amazon para Apache Airflow para taxas e mais detalhes.

Observe o desempenho do Amazon MWAA para planejar a escalabilidade para ambientes maiores

Antes de começar a usar as novas classes de ambiente, é importante entender se você está em um cenário relacionado a problemas de capacidade, como banco de dados de metadados sem memória ou trabalhadores ou agendadores em execução com alto uso da CPU. Compreender o desempenho dos recursos do seu ambiente é fundamental para solucionar problemas relacionados à capacidade. Recomendamos seguir as orientações descritas em Apresentando métricas de utilização de contêiner, banco de dados e fila para o ambiente Amazon MWAA para entender melhor o estado dos ambientes Amazon MWAA e obter insights para dimensionar corretamente suas instâncias.

No teste a seguir, simulamos um cenário de alta carga, usamos o Métricas de observabilidade do CloudWatch para identificar problemas comuns e tomar uma decisão informada para planejar a expansão para ambientes maiores para mitigar os problemas.

Durante nossos testes, executamos um DAG complexo que cria dinamicamente mais de 500 tarefas e usa sensores externos para aguardar a conclusão de uma tarefa em um DAG diferente. Depois de executar em uma classe de ambiente grande do Amazon MWAA com escalonamento automático configurado para no máximo 10 nós de trabalho, notamos as seguintes métricas e valores no Painel do CloudWatch.

Os nós de trabalho atingiram a capacidade máxima da CPU, fazendo com que o número de tarefas enfileiradas continue aumentando. A utilização da CPU do banco de dados de metadados atingiu um pico de mais de 65% da capacidade e a memória livre disponível do banco de dados foi reduzida. Nessa situação, poderíamos aumentar ainda mais os nós de trabalho em escala, mas isso colocaria carga adicional na CPU do banco de dados de metadados. Isso pode levar a uma queda no número de conexões do banco de dados do trabalhador e na memória livre do banco de dados disponível.

Com novas classes de ambiente, você pode escalar verticalmente para aumentar os recursos disponíveis editando o ambiente e selecionando uma classe de ambiente mais alta, conforme mostrado na captura de tela a seguir.

Na lista de ambientes, selecionamos aquele em uso para este teste. Escolher Editar para navegar até o Definir configurações avançadas página e selecione o ambiente xlarge ou 2xlarge apropriado, conforme necessário.

Depois de salvar a alteração, a atualização do ambiente levará de 20 a 30 minutos para ser concluída. Qualquer DAG em execução que tenha sido interrompido durante a atualização será agendado para uma nova tentativa, dependendo da maneira como você configurou as novas tentativas para seus DAGs. Agora você pode optar por invocá-los manualmente ou aguardar a próxima execução agendada.

Depois de atualizarmos a classe de ambiente, testamos o mesmo DAG e observamos que as métricas mostravam valores melhores porque agora mais recursos estão disponíveis. Com esse ambiente XL, você pode executar mais tarefas em menos nós de trabalho e, portanto, o número de tarefas enfileiradas continua diminuindo. Como alternativa, se você tiver tarefas que exigem mais memória e/ou CPU, poderá reduzir as tarefas por trabalhador, mas ainda assim obter um número alto de tarefas por trabalhador com um tamanho de ambiente maior. Por exemplo, se você tiver um ambiente grande onde a CPU do nó do trabalhador está no máximo com celery.worker_autoscale (a configuração do Airflow que define o número de tarefas por trabalhador) Definido em 20,20, você pode aumentar para um ambiente XL e definir celery.worker_autoscale para 20,20 no XL, em vez das 40 tarefas padrão por trabalhador em um ambiente XL, e a carga da CPU deve reduzir significativamente.

Configure um novo ambiente XL no Amazon MWAA

Você pode comece a usar o Amazon MWAA na sua conta e na região preferida da AWS usando o Console de gerenciamento da AWS, API ou Interface de linha de comando da AWS (AWS CLI). Se você estiver adotando infraestrutura como código (IaC), poderá automatizar a configuração usando Formação da Nuvem AWS, Kit de desenvolvimento em nuvem da AWS (AWS CDK) ou scripts Terraform.

As classes de ambiente Amazon MWAA XL e 2XL estão disponíveis hoje em todas as regiões onde o Amazon MWAA está disponível atualmente.

Conclusão

Hoje anunciamos a disponibilidade de duas novas classes de ambiente no Amazon MWAA. Com classes de ambiente XL e 2XL, você pode orquestrar volumes maiores de fluxos de trabalho complexos ou com uso intensivo de recursos. Se você estiver executando DAGs com um grande número de dependências, executando milhares de DAGs em vários ambientes ou em um cenário que exija o uso intensivo de trabalhadores para computação, agora você pode superar os problemas de capacidade relacionados aumentando os recursos do ambiente em alguns passos simples.

Nesta postagem, discutimos os recursos das duas novas classes de ambiente, incluindo preços e alguns problemas comuns de restrição de recursos que elas resolvem. Fornecemos orientação e um exemplo de como observar seus ambientes existentes para planejar o dimensionamento para XL ou 2XL e descrevemos como você pode atualizar os ambientes existentes para usar os recursos aumentados.

Para obter detalhes adicionais e exemplos de código no Amazon MWAA, visite o Guia do usuário do Amazon MWAA e os votos de Repo do GitHub de exemplos do Amazon MWAA.

Apache, Apache Airflow e Airflow são marcas registradas ou marcas comerciais da Fundação Apache Software nos Estados Unidos e / ou outros países.


Sobre os autores

Hernán Garcia é arquiteto de soluções sênior na AWS e baseado na Holanda. Ele trabalha no setor de serviços financeiros, apoiando empresas na adoção da nuvem. Ele é apaixonado por tecnologias sem servidor, segurança e conformidade. Ele gosta de passar tempo com a família e amigos e experimentar novos pratos de diferentes cozinhas.

Jeetendra Vaidya é arquiteto de soluções sênior na AWS, trazendo sua experiência para os domínios de IA/ML, sem servidor e análise de dados. Ele é apaixonado por ajudar os clientes a arquitetar soluções seguras, escaláveis, confiáveis ​​e econômicas.

Sriharsh Adari é arquiteto de soluções sênior na AWS, onde ajuda os clientes a trabalhar retroativamente a partir dos resultados de negócios para desenvolver soluções inovadoras na AWS. Ao longo dos anos, ele ajudou vários clientes nas transformações de plataformas de dados em setores verticais do setor. Sua principal área de especialização inclui estratégia tecnológica, análise de dados e ciência de dados. Nas horas vagas, gosta de praticar esportes, assistir programas de TV e jogar Tabla.

local_img

Café VC

Café VC

Inteligência mais recente

local_img