Hoje, a AWS está anunciando a disponibilidade de atualizações de versão no local para Fluxo de trabalho gerenciado da Amazon para Apache Airflow (Amazônia MWAA). Esse aprimoramento permite que você atualize perfeitamente seus ambientes existentes do Apache Airflow versão 2.x para versões mais recentes disponíveis, mantendo o histórico de execução do fluxo de trabalho e as configurações do ambiente. Agora você pode aproveitar os recursos mais recentes da plataforma Apache Airflow sem precisar criar um ambiente Amazon MWAA totalmente novo.
Até agora, se você queria atualizar seu ambiente Amazon MWAA para uma versão diferente do Apache Airflow, você tinha que seguir o Migração do ambiente Amazon MWAA instruções. Isso envolveu a criação de um novo ambiente Amazon MWAA e a migração de todas as suas configurações e Gráficos Acíclicos Dirigidos (DAGs) para ele. Se você também precisava preservar o histórico de execuções do DAG, precisava fazer um backup do banco de dados de metadados e restaurar esse backup no ambiente recém-criado. Esse processo era manual, propenso a erros e envolvia custos adicionais para manter dois ambientes Amazon MWAA separados até que você pudesse verificar o novo e desativar o antigo.
Nesta postagem, fornecemos uma visão geral do recurso de atualização de versão local, exploramos os casos de uso aplicáveis, detalhamos as etapas para usá-lo e fornecemos orientações adicionais sobre seus recursos.
Visão geral da solução
As atualizações de versão in-loco recém-introduzidas pelo Amazon MWAA fornecem uma transição simplificada de seus ambientes existentes com base no Apache Airflow versão 2.x para versões mais recentes disponíveis do Apache Airflow. O Amazon MWAA gerencia todo o processo de atualização, desde o provisionamento de novas versões do Apache Airflow até a atualização do banco de dados de metadados. No caso de uma falha de atualização, o Amazon MWAA foi projetado para reverter para a versão estável anterior usando o instantâneo do banco de dados de metadados associado.
Atualizar seus ambientes existentes no Amazon MWAA é um processo simples. Você pode atualizar seus ambientes existentes do Apache Airflow 2.0 e posteriores no Amazon MWAA com apenas alguns cliques no console do Amazon MWAA, usando a API do Amazon MWAA, o Interface de linha de comando da AWS (AWS CLI) ou usando ferramentas como Formação da Nuvem AWS, Kit de desenvolvimento em nuvem da AWS (AWS CDK) ou Terraform. Esse recurso está disponível em todas as regiões do Amazon MWAA com suporte atualmente.
No console do Amazon MWAA, basta editar o ambiente e selecionar uma versão disponível do Apache Airflow superior à versão atual do seu ambiente existente. Você também pode usar o Atualizar Ambiente API e especifique a nova versão do Apache Airflow para acionar um processo de atualização. Para saber mais sobre atualizações de versão in-loco, consulte Atualizando a versão do Apache Airflow da documentação do Amazon MWAA.
Durante uma atualização, o Amazon MWAA primeiro cria um instantâneo do banco de dados de metadados do ambiente existente, que serve como base para um novo banco de dados. Posteriormente, todos os componentes do Apache Airflow — servidor web, agendador e trabalhadores — são atualizados. Finalmente, o banco de dados de metadados recém-criado é atualizado, concluindo efetivamente a transição para o novo ambiente.
Casos de uso aplicáveis
Você deve considerar atualizar sua versão do Apache Airflow no Amazon MWAA se seus fluxos de trabalho existentes puderem acomodar a alteração e uma nova versão estiver disponível com recursos ou melhorias que se alinhem ao seu caso de uso. Ao atualizar, você pode aproveitar os recursos mais recentes da plataforma Apache Airflow e manter a compatibilidade com novos recursos e práticas recomendadas, como agendamento baseado em dados e novos pacotes de provedores da Amazon lançado no Apache Airflow 2.4.3. O processo de atualização envolve um tempo de inatividade do ambiente que pode levar até 2 horas para ser concluído dependendo do tamanho do ambiente e pode ser executado sob demanda no horário que melhor lhe convier. Se seu ambiente existente for muito usado de forma que você não possa arcar com um tempo de inatividade, considere criar um novo ambiente.
Pré-requisitos
Ao se preparar para a atualização, certifique-se de concluir as seguintes etapas de pré-requisito:
- Verifique as alterações do Apache Airflow entre as versões existentes e as novas do ambiente. Revise o Apache Airflow notas de lançamento para entender o impacto de novos recursos, mudanças significativas e correções de bugs que todas as versões intermediárias do Apache Airflow fizeram entre as versões de origem e destino.
- Revise seu existente
requirements.txt
para verificar o conjunto correto de dependências necessárias para seu ambiente de destino. Além disso, verifique se o seurequirements.txt
O arquivo tem o arquivo de restrições correto adicionado na parte superior do arquivo para corresponder ao seu ambiente de destino. O arquivo de restrições do Apache Airflow especifica os módulos dependentes e as versões do provedor disponíveis no momento de uma versão do Apache Airflow. Incluir um arquivo de restrições evita que bibliotecas incompatíveis sejam instaladas em seu ambiente. No exemplo a seguir, substitua{Airflow-version}
com o número da versão do seu ambiente de destino e{Python-version}
com a versão do Python compatível com seu ambiente:--constraint "https://raw.githubusercontent.com/apache/airflow/constraints-{Airflow-version}/constraints-{Python-version}.txt"
- Revise a compatibilidade de bibliotecas Python adicionais mencionadas em seu
requirements.txt
arquivo para corresponder ao seu ambiente de destino. Apache Airflow v2.4.3 e superior usam Python v3.10, enquanto versões mais antigas do Apache Airflow usam Python v3.7. Portanto, se você estiver tentando atualizar seu ambiente baseado no Apache Airflow v2.0.2/2.2.2 existente para o Apache Airflow v2.4.3 ou superior, atualize suas bibliotecas Python adicionais para corresponder ao Python v3.10. - Com o Apache Airflow v2.4.3 e superior, a lista de pacotes de provedor que o Amazon MWAA instala por padrão para o seu ambiente foi alterada. Observe que algumas importações e nomes de operadores foram alterados no novo pacote de provedor no Apache Airflow para padronizar a convenção de nomenclatura nos pacotes de provedor. Compare o lista de pacotes de provedores instalados por padrão no Apache Airflow v2.2.2 ou v2.0.2 e configure quaisquer pacotes adicionais que você possa precisar para seu novo Apache Airflow v2.4.3 e ambiente superior.
- Certifique-se de que seus DAGs e outros recursos de fluxo de trabalho sejam compatíveis com a nova versão do Apache Airflow para a qual você está atualizando.
- Use o aws-mwaa-local-runner utilitário para testar seus DAGs, requisitos, plug-ins e dependências existentes localmente antes de implantar no Amazon MWAA. Você pode criar um ambiente Apache Airflow de destino semelhante a uma imagem de produção Amazon MWAA localmente usando
aws-mwaa-local-runner
e verifique se todos os seus componentes funcionam antes de tentar atualizar seu ambiente Amazon MWAA. Além disso, teste o novo processo de atualização do ambiente em ambientes Amazon MWAA inferiores, como dev ou staging, antes de implantar a atualização em ambientes de produção.
Processo de atualização
Quando uma atualização é iniciada, o Amazon MWAA interrompe os componentes subjacentes existentes do Apache Airflow (servidor da web, agendador e trabalhadores). Esse processo interrompe todas as tarefas de trabalho que estão em execução no momento. O status do seu ambiente neste estágio será exibido como UPDATING
. O processo de atualização cria um instantâneo do banco de dados de metadados, marcado pelo status CREATING_SNAPSHOT
. Quando o instantâneo é concluído, o status do ambiente retorna para UPDATING
pois o Amazon MWAA aciona a criação de um novo ambiente Apache Airflow que corresponda à sua seleção de versão e aplique as alterações de esquema necessárias ao banco de dados de metadados existente para alinhá-lo com o ambiente Apache Airflow de destino. Durante esta fase, seus requisitos especificados, plug-ins e outras dependências são instalados.
Após a conclusão, seu novo ambiente é marcado como AVAILABLE
, indicando que o processo de atualização foi bem-sucedido e o ambiente está pronto para teste. Agora você pode fazer login na IU do Apache Airflow para verificar a presença de seus DAGs existentes, suas execuções históricas, conexões configuradas e muito mais.
No entanto, se houver falhas na instalação dos requisitos, plug-ins e arquivos de dependências especificados, o ambiente iniciará uma reversão para a versão estável anterior. Durante esse processo, o status do seu ambiente será exibido como ROLLING_BACK
. Se a reversão for bem-sucedida, seu ambiente estável anterior estará disponível e o status será exibido como UPDATE_FAILED
até que uma nova atualização seja tentada e bem-sucedida. Se a reversão falhar, o status será exibido como UNAVAILABLE
, indicando que seu ambiente não está funcionando.
Se o processo de atualização do seu ambiente falhar, é provável que o Serviço Amazon Elastic Container (Amazon ECS) AWS Fargate os clusters tinham problemas de estabilização causados por requisitos e plug-ins conflitantes, problemas de rede ou problemas de migração de banco de dados após a atualização do componente Apache Airflow. Para atenuar esses problemas, certifique-se de que seus DAGs e requisitos funcionem sem problemas usando o aws-mwaa-local-runner
utilitário e, idealmente, teste em um ambiente de preparo do Amazon MWAA.
Considerações adicionais
Tenha em mente as seguintes informações adicionais deste recurso:
- O processo de atualização está disponível sob demanda e será limitado à mudança para versões mais recentes. As atualizações de versão no local no Amazon MWAA não são compatíveis com a versão 1.10.z. Para realizar uma atualização de versão principal, por exemplo, da versão 1.yz para 2.yz, você deve criar um novo ambiente e migrar seus recursos.
- Você só pode selecionar versões superiores aplicáveis para as quais pode atualizar. O downgrade para uma versão inferior não está disponível.
- O processo de reversão pode levar mais tempo e, se você tiver Serviço de armazenamento simples da Amazon (Amazon S3) com versionamento de balde ativado, o Amazon MWAA foi projetado para reverter o ambiente para a configuração de trabalho anterior, incluindo plug-ins e requisitos. No entanto, quaisquer alterações manuais feitas em seus DAGs não serão revertidas durante esse processo.
- Depois que o processo de atualização for concluído com êxito e o ambiente estiver disponível, todos os DAGs em execução que foram interrompidos durante a atualização serão agendados para uma nova tentativa, dependendo da maneira como você configura novas tentativas para seus DAGs. Você também pode acioná-los manualmente ou aguardar a próxima execução agendada.
- Você deve atualizar iterativamente seus ambientes começando com os menos críticos primeiro.
Conclusão
Nesta postagem, falamos sobre o novo recurso do Amazon MWAA que permite atualizar seu ambiente existente do Amazon MWAA para versões superiores do Apache Airflow. Esse recurso é compatível com ambientes Amazon MWAA novos e existentes que executam o Apache Airflow 2.xe superior. Use esse recurso para atualizar suas versões do Apache Airflow enquanto mantém seus históricos de execução de fluxo de trabalho e configurações de ambiente existentes. Ao atualizar, você pode aproveitar os recursos mais recentes da plataforma Apache Airflow, manter a compatibilidade com novos recursos e aderir às práticas recomendadas.
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
Parnab Basak é Arquiteto de Soluções e Especialista Serverless na AWS. Ele é especializado na criação de novas soluções nativas da nuvem usando práticas modernas de desenvolvimento de software, como sem servidor, DevOps e análises. A Parnab trabalha de perto no espaço de serviços de análise e integração, ajudando os clientes a adotar os serviços da AWS para suas necessidades de orquestração de fluxo de trabalho.
Fernando Gamero é um engenheiro Senior Solutions Architect na AWS, com mais de 25 anos de experiência no setor de tecnologia, de telecomunicações, bancos a startups. Ele agora está ajudando os clientes a criar arquiteturas orientadas a eventos, adotando soluções de IoT na borda e transformando seus dados e pipelines de aprendizado de máquina em escala.
Shubham Mehta é um gerente de produto experiente com mais de oito anos de experiência e um histórico comprovado de entrega de produtos de sucesso. Em sua função atual como gerente de produto sênior na AWS, ele supervisiona o Amazon Managed Workflows para Apache Airflow (Amazon MWAA) e lidera as contribuições de código aberto do Apache Airflow para aprimorar ainda mais a funcionalidade do produto.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoAiStream. Inteligência de Dados Web3. Conhecimento Amplificado. Acesse aqui.
- Cunhando o Futuro com Adryenn Ashley. Acesse aqui.
- Compre e venda ações em empresas PRE-IPO com PREIPO®. Acesse aqui.
- Fonte: https://aws.amazon.com/blogs/big-data/introducing-in-place-version-upgrades-with-amazon-mwaa/
- :tem
- :é
- :não
- $UP
- 1
- 10
- 100
- 110
- 7
- a
- Sobre
- acima
- acomodar
- em
- acíclico
- adicionado
- acrescentando
- Adicional
- Informação adicional
- Adicionalmente
- aderir
- adotar
- Adotando
- Vantagem
- Depois de
- alinhar
- Todos os Produtos
- permite
- tb
- Amazon
- Fluxos de trabalho gerenciados da Amazon para Apache Airflow (Amazon MWAA)
- Amazon Web Services
- an
- analítica
- e
- Anunciando
- qualquer
- apache
- api
- relevante
- SOMOS
- AS
- associado
- At
- tentada
- tentando
- disponibilidade
- disponível
- AWS
- em caminho duplo
- backup
- Bancário
- base
- BE
- sido
- antes
- ser
- MELHOR
- melhores práticas
- entre
- Bug
- Prédio
- by
- CAN
- capacidades
- casas
- casos
- causado
- alterar
- mudado
- Alterações
- de perto
- Na nuvem
- Nativo da nuvem
- código
- comparar
- compatibilidade
- compatível
- completar
- Efetuado
- completando
- realização
- componente
- componentes
- Configuração
- Conflitante
- Coneções
- Considerar
- cônsul
- restrições
- Recipiente
- contribuições
- Convenção
- correta
- custos
- poderia
- países
- crio
- criado
- cria
- Criar
- criação
- crítico
- Atual
- Atualmente
- Clientes
- DAG
- dados,
- orientado por dados
- banco de dados
- Padrão
- entregando
- Demanda
- dependente
- Dependendo
- Implantação
- projetado
- destino
- detalhe
- detalhes
- Dev
- Desenvolvimento
- DevOps
- diferente
- Ecrã
- documentação
- tempo de inatividade
- dirigido
- durante
- borda
- efetivamente
- ou
- habilitado
- engenheiro
- aumentar
- aprimoramento
- garantir
- Todo
- inteiramente
- Meio Ambiente
- ambientes
- erro
- Éter (ETH)
- Evento
- exemplo
- exemplos
- existente
- vasta experiência
- experiente
- explorar
- falha
- Falha
- Característica
- Funcionalidades
- poucos
- Envie o
- Arquivos
- Finalmente
- Primeiro nome
- seguir
- seguinte
- Escolha
- da
- funcional
- funcionalidade
- mais distante
- GitHub
- orientações
- tinha
- Ter
- ter
- he
- fortemente
- ajuda
- superior
- sua
- histórico
- história
- HORÁRIO
- Contudo
- HTML
- http
- HTTPS
- if
- imagem
- Impacto
- importações
- melhorias
- in
- Incluindo
- incompatível
- indicador
- indústria
- INFORMAÇÕES
- Inicia
- instalando
- em vez disso
- instruções
- integração
- Nível intermediário
- interrompido
- introduzido
- introduzindo
- envolvido
- iot
- questões
- IT
- ESTÁ
- jpg
- apenas por
- mais tarde
- mais recente
- APRENDER
- aprendizagem
- mínimo
- bibliotecas
- como
- Provável
- Limitado
- Line
- Lista
- localmente
- log
- máquina
- aprendizado de máquina
- moldadas
- a manter
- principal
- fazer
- gerenciados
- Gerente
- gestão
- manual
- manualmente
- marcado
- Match
- mencionado
- metadados
- poder
- migrado
- migrando
- migração
- mente
- Mitigar
- EQUIPAMENTOS
- Módulos
- mais
- em movimento
- devo
- nomes
- nomeando
- nativo
- necessário
- você merece...
- necessário
- Cria
- networking
- Novo
- novo recurso
- Novos Recursos
- novas soluções
- recentemente
- Próximo
- agora
- número
- of
- Velho
- on
- queridos
- só
- open source
- operador
- or
- orquestração
- ordem
- Outros
- Fora
- Acima de
- Visão geral
- pacote
- pacotes
- realizar
- realizada
- fase
- plataforma
- platão
- Inteligência de Dados Platão
- PlatãoData
- plugins
- Publique
- práticas
- preparação
- presença
- impede
- anterior
- processo
- Produto
- gerente de produto
- Produção
- Produtos
- comprovado
- fornecer
- provedor
- Python
- pronto
- registro
- regiões
- registrado
- liberar
- Releases
- substituir
- requeridos
- Requisitos
- Recursos
- restaurar
- retenção
- Retorna
- reverter
- rever
- Tipo
- Rolo
- rolando
- Execute
- corrida
- Escala
- programado
- agendamento
- sem problemas
- doadores,
- senior
- separado
- Serverless
- serve
- Serviços
- conjunto
- rede de apoio social
- mostrar
- periodo
- semelhante
- simples
- simplesmente
- Tamanho
- Instantâneo
- Software
- desenvolvimento de software
- Soluções
- alguns
- fonte
- Espaço
- especialista
- especializada
- especificada
- estável
- Etapa
- encenação
- Comece
- Startups
- Unidos
- Status
- Passos
- Pára
- armazenamento
- franco
- simplificada
- Subseqüentemente
- bem sucedido
- entraram com sucesso
- tal
- Suportado
- Tire
- Target
- tarefas
- Tecnologia
- telecomunicações
- Terraform
- teste
- ensaio
- do que
- que
- A
- deles
- Eles
- então
- Lá.
- assim sendo
- Este
- isto
- tempo
- para
- ferramentas
- topo
- pista
- marcas registradas
- transformando
- transição
- desencadear
- dois
- ui
- subjacente
- compreender
- Unido
- Estados Unidos
- até
- Atualizar
- atualização
- atualizado
- atualizações
- usar
- caso de uso
- usava
- Utilizador
- utilização
- utilidade
- verificar
- versão
- Visite a
- esperar
- querido
- foi
- Caminho..
- we
- web
- servidor web
- serviços web
- foram
- quando
- qual
- enquanto
- precisarão
- de
- sem
- Atividades:
- trabalhador
- trabalhadores
- de gestão de documentos
- fluxos de trabalho
- trabalhar
- trabalho
- X
- anos
- Você
- investimentos
- zefirnet