~/questoes/devops
Testar uma função Lambda localmente usando ferramentas como AWS SAM antes de fazer deploy em produção é uma prática essencial que permite validar o código, identificar problemas e evitar custos desnecessários. Esse tipo de teste simula o ambiente real da AWS no seu computador, garantindo que tudo funcionará corretamente quando estiver na nuvem.
Testar localmente garante que o código funciona corretamente sem incorrer em custos de execução. Toda vez que sua função é invocada na AWS, você é cobrado. Com testes locais, você valida tudo gratuitamente antes de enviar para produção, evitando surpresas na conta de faturamento.
A AWS oferece logs de execução sim, através do CloudWatch Logs. Esses logs são disponibilizados após o deploy em produção e são fundamentais para monitoramento e troubleshooting. Esta não é a razão principal para testar localmente.
AWS Lambda suporta perfeitamente código Golang compilado. Na verdade, Golang é uma excelente escolha para Lambda justamente porque gera binários compilados rápidos e eficientes. A limitação mencionada não existe.
Configurar manualmente recursos de rede e firewall não é responsabilidade do teste local. Isso é feito na configuração de políticas IAM e VPC, e testes locais não substituem essa configuração. Além disso, essa seria uma desvantagem, não uma razão para testar.
Testar localmente permite validar se o código funciona corretamente sem gastar dinheiro em invocações na AWS. Cada execução em produção tem um custo, então capturar erros antes do deploy economiza significativamente.