Este projeto implementa um sistema completo de processamento de pedidos baseado em arquitetura serverless na AWS. Foi desenvolvido durante a Semana do Desenvolvedor AWS da Escola da Nuvem, integrando diversos serviços AWS para criar um pipeline robusto, escalável e resiliente.
A aplicação recebe pedidos via API REST e upload de arquivos JSON, valida os dados, publica eventos no EventBridge, processa-os através de funções Lambda e persiste os resultados no Amazon DynamoDB. Além disso, o sistema implementa rastreamento, notificações automáticas, tratamento de erros via Dead Letter Queues (DLQs) e suporte a operações adicionais como alteração e cancelamento de pedidos.
A arquitetura foi construída em 4 aulas progressivas, cada uma adicionando novas capacidades ao sistema:
- API Gateway como endpoint REST para recebimento de pedidos
- Lambda de pré-validação para verificação inicial dos dados
- SQS FIFO Queue para garantir ordenação e desacoplamento
- Lambda de validação para processamento detalhado
- EventBridge Custom Bus para publicação de eventos
- S3 Bucket como data lake para recebimento de arquivos JSON
- SQS Standard Queue para notificações de novos arquivos
- Lambda de validação de arquivos para extração e transformação
- DynamoDB para rastreamento do histórico de processamento
- SNS para notificações de erro na validação
- EventBridge Rules para roteamento de eventos
- SQS Standard Queue como buffer de processamento
- Lambda de processamento para lógica de negócios
- DynamoDB como banco principal de pedidos
- Fluxos de cancelamento e alteração de pedidos
- DLQs (Dead Letter Queues) para todas as filas
- Lambdas especializadas para operações específicas
- Testes de resiliência e tratamento de erros
Linguagem:
Compute:
Integração:
Armazenamento:
Segurança:
Monitoramento:
- ✅ Envio de pedidos via API → Lambda + SQS FIFO + EventBridge.
- ✅ Upload de arquivos JSON no S3 → SQS + Lambda + DynamoDB.
- ✅ Persistência de pedidos no DynamoDB.
- ✅ Simulação de erros → DLQs acionadas corretamente.
- ✅ Eventos de cancelamento e alteração funcionando com atualização em tempo real.
- Conta AWS com permissões adequadas.
- AWS CLI configurado.
- Python 3.9+ para desenvolvimento local.
O projeto foi implementado manualmente via Console AWS seguindo a documentação detalhada das aulas, mas pode ser adaptado para Infrastructure as Code usando CloudFormation ou Terraform.
Criação do Ponto de Entrada (Amazon API Gateway)

Regras no EventBridge para alterar pedidos, cancelar pedidos e rotear eventos de novos pedidos validados

Notificação de erro no arquivo da tabela DynamoDB

Log de notificação de erro no CloudWatch

Função Lambda acionada para simular a lógica de "processamento
do pedido"

Tabela DynamoDB principal para armazenamento de estado com detalhes
dos pedidos processado e cancelado

IAM Role para Lambdas de Alteração/Cancelamento

Amazon SQS DLQ para cancelamento de pedidos

Amazon SQS Queue para cancelamento de pedidos

Log com causa do erro para Teste Forçado

- Escalabilidade: Utilização de arquitetura event-driven.
- Alta Disponibilidade: Totalmente gerenciado pela AWS.
- Observabilidade: Logs centralizados no CloudWatch.
- Resiliência: Uso de DLQs para tratamento de falhas.
Feito com ♥ por Jezebel Guedes 👋 Entre em contato!