HeadlinesBriefing favicon HeadlinesBriefing.com

Pipeline de dados na AWS: Suposições locais

Towards Data Science •
×

Por meses, construí um pipeline de dados na minha máquina Windows usando ingestão de RSS no WSL2, Postgres no Docker, orquestração Kestra e transformações dbt. Tudo funcionava localmente porque tudo rodava em uma única máquina. Movê-lo para a AWS via CLI revelou suposições ocultas.

Configurar uma instância EC2 t3.small com Ubuntu 22.04 foi fácil. As surpresas incluíam um disco de 8GB que era pequeno demais, exigindo growpart e resize2fs, mas instâncias Nitro mais novas nomeiam os discos como `nvme0n1` em vez de `xvda`. A instância ficou "comprometida" durante o pull da imagem do Kestra, corrigido adicionando um arquivo de swap de 1GB. Um IP elástico e restrições do grupo de segurança adicionaram tarefas menores.

Transferir o pipeline com rsync, Docker e docker compose funcionou, mas os fluxos do Kestra vivem no banco de dados interno, não em arquivos, então meu fluxo fetch_rss precisou de colagem manual de YAML. Isso destacou um padrão de suposições quebrando uma a uma.

O verdadeiro desafio não era a AWS em si, mas as dependências ocultas baseadas em suposições de "mesma máquina", ensinando mais do que a construção original.