AWS Services
Serviços AWS utilizados na nossa arquitetura.
Compute
AWS Lambda
Propósito: Executar código backend sem gerenciar servidores
Uso: - Endpoints de API (via API Gateway) - Processadores de fila (SQS) - Processadores de eventos (SNS) - Jobs agendados (EventBridge)
Configuração: - Runtime: Python 3.11 - Memory: 512MB-1024MB (conforme necessidade) - Timeout: 30s (APIs), 5min (processors) - Environment variables via SSM/Secrets Manager
Networking
API Gateway
Propósito: Porta de entrada para APIs
Features: - REST APIs - Request/response transformation - Rate limiting - API keys - WAF integration - CloudWatch logging
Application Load Balancer (ALB)
Propósito: Distribuir tráfego entre Lambdas
Features: - Health checks - SSL termination - Path-based routing - Target groups
Storage
Amazon S3
Buckets:
app-uploads-staging- Uploads de usuários (staging)app-uploads-prod- Uploads de usuários (production)app-data-lake- Data analytics e exportsapp-backups- Backups de banco e arquivosapp-static-assets- Assets estáticos do frontend
Features: - Versioning habilitado - Lifecycle policies (arquivar após 90 dias) - Server-side encryption - Public access bloqueado (exceto assets)
Amazon RDS (PostgreSQL)
Propósito: Banco de dados relacional
Configuração:
Staging: - Instância: db.t3.micro - Storage: 20GB GP2 - Backups: 7 dias - Multi-AZ: Não
Production: - Instância: db.t3.medium - Storage: 100GB GP3 - Backups: 30 dias - Multi-AZ: Sim - Read replicas: 1
Features: - Automated backups - Point-in-time recovery - Encryption at rest - VPC privada
Messaging
Amazon SQS
Queues:
user-events-queue- Eventos de usuáriospayment-processing-queue- Processamento de pagamentosnotification-queue- Envio de notificaçõesreport-generation-queue- Geração de relatórios
Configuração: - Visibility timeout: 30s - Message retention: 4 dias - Dead Letter Queue (DLQ) configurada - Max receive count: 3
Features: - At-least-once delivery - FIFO queues para ordem garantida - Batch operations - Long polling
Amazon SNS
Topics:
product-updates- Atualizações de produtosorder-events- Eventos de pedidossystem-alerts- Alertas críticos do sistema
Features: - Fan-out (1 → N) - Filtering por attributes - Delivery policies - Retry automático
Monitoring & Logging
CloudWatch
Logs: - Log groups por Lambda - Retention: 30 dias (staging), 90 dias (production) - Structured logging (JSON)
Metrics: - Lambda invocations, errors, duration - API Gateway requests, latency - SQS messages, age - Custom metrics (business KPIs)
Alarms: - Lambda error rate > 5% - API Gateway latency > 2s - SQS DLQ com mensagens - Database connections > 80%
AWS X-Ray
Propósito: Distributed tracing
Features: - Request tracing end-to-end - Service map visualization - Latency analysis - Error tracking
Security
IAM
Princípios: - Least privilege - Roles para Lambdas (não access keys) - Policies específicas por serviço - Service Control Policies (SCPs)
AWS Secrets Manager
Uso: - Database credentials - API keys de terceiros - Certificates
Features: - Auto-rotation - Versioning - Encryption at rest - Audit trail (CloudTrail)
Systems Manager (SSM) Parameter Store
Uso: - Configurações não-sensíveis - Feature flags - Endpoints de serviços
Types: - String: configurações simples - StringList: listas - SecureString: dados sensíveis (KMS encrypted)
CI/CD
AWS CodeBuild
Usado apenas para builds complexas. Preferimos GitHub Actions.
AWS SAM
Propósito: Framework serverless
Features:
- Templates CloudFormation simplificados
- Local testing (sam local)
- Deployment (sam deploy)
- Pipeline generation
Others
Amazon EventBridge
Uso: - Cron jobs (scheduled events) - Event bus para integração entre serviços - Rules para routing de eventos
Examples:
# SAM template
Events:
DailyReport:
Type: Schedule
Properties:
Schedule: cron(0 9 * * ? *) # 9h todos os dias
Name: daily-report-trigger
Amazon SES
Propósito: Envio de emails transacionais
Uso: - Welcome emails - Password reset - Order confirmations - Notifications
Cost Optimization
Estratégias
- Lambda: Provisioned concurrency apenas para critical paths
- RDS: Usar read replicas apenas em production
- S3: Lifecycle policies para arquivos antigos
- CloudWatch: Log retention adequado (não forever)
- API Gateway: Cache habilitado
Monitoring de Custos
- AWS Cost Explorer
- Budgets e Alerts
- Tagging adequado de recursos