Procedimentos de Deployment
Princípios de deployment e tomada de decisão para releases seguros em produção.
Aprenda a PENSAR, não decore scripts.
⚠️ Como Usar Esta Habilidade
Esta habilidade ensina princípios de deployment, não bash scripts para copiar.
- Cada deployment é único
- Entenda o POR QUE por trás de cada passo
- Adapte os procedimentos à sua plataforma
1. Seleção de Plataforma
Árvore de Decisão
O que você está fazendo deploy?
│
├── Site estático / JAMstack
│ └── Vercel, Netlify, Cloudflare Pages
│
├── App web simples
│ ├── Gerenciado → Railway, Render, Fly.io
│ └── Controle → VPS + PM2/Docker
│
├── Microserviços
│ └── Orquestração de containers
│
└── Serverless
└── Edge functions, Lambda
Cada Plataforma Tem Procedimentos Diferentes
| Plataforma |
Método de Deployment |
| Vercel/Netlify |
Git push, deploy automático |
| Railway/Render |
Git push ou CLI |
| VPS + PM2 |
SSH + passos manuais |
| Docker |
Push de imagem + orquestração |
| Kubernetes |
kubectl apply |
2. Princípios Pré-Deployment
As 4 Categorias de Verificação
| Categoria |
O que Verificar |
| Qualidade de Código |
Testes passando, linting limpo, revisado |
| Build |
Build de produção funciona, sem avisos |
| Ambiente |
Variáveis de ambiente definidas, secrets atualizados |
| Segurança |
Backup feito, plano de rollback pronto |
Checklist Pré-Deployment
3. Princípios de Workflow de Deployment
O Processo de 5 Fases
1. PREPARAR
└── Verificar código, build, variáveis de ambiente
2. BACKUP
└── Salvar estado atual antes de mudar
3. DEPLOY
└── Executar com monitoramento aberto
4. VERIFICAR
└── Health check, logs, fluxos-chave
5. CONFIRMAR ou ROLLBACK
└── Tudo bem? Confirmar. Problemas? Rollback.
Princípios das Fases
| Fase |
Princípio |
| Preparar |
Nunca faça deploy de código não testado |
| Backup |
Não é possível fazer rollback sem backup |
| Deploy |
Acompanhe, não se afaste |
| Verificar |
Confie, mas verifique |
| Confirmar |
Tenha o gatilho de rollback pronto |
4. Verificação Pós-Deployment
O que Verificar
| Verificação |
Por Quê |
| Endpoint de health |
Serviço está rodando |
| Logs de erro |
Sem novos erros |
| Fluxos de usuário-chave |
Funcionalidades críticas funcionam |
| Performance |
Tempos de resposta aceitáveis |
Janela de Verificação
- Primeiros 5 minutos: Monitoramento ativo
- 15 minutos: Confirmar estabilidade
- 1 hora: Verificação final
- Próximo dia: Revisar métricas
5. Princípios de Rollback
Quando Fazer Rollback
| Sintoma |
Ação |
| Serviço fora |
Rollback imediato |
| Erros críticos |
Rollback |
| Performance >50% degradada |
Considere rollback |
| Problemas menores |
Corrija adiante se rápido |
Estratégia de Rollback por Plataforma
| Plataforma |
Método de Rollback |
| Vercel/Netlify |
Redeploy do commit anterior |
| Railway/Render |
Rollback no dashboard |
| VPS + PM2 |
Restaurar backup, reiniciar |
| Docker |
Tag de imagem anterior |
| K8s |
kubectl rollout undo |
Princípios de Rollback
- Velocidade sobre perfeição: Rollback primeiro, debugue depois
- Não compunha erros: Um rollback, não múltiplas mudanças
- Comunique: Diga ao time o que aconteceu
- Post-mortem: Entenda por que depois de estável
6. Deployment com Zero Downtime
Estratégias
| Estratégia |
Como Funciona |
| Rolling |
Substituir instâncias uma por uma |
| Blue-Green |
Mudar tráfego entre ambientes |
| Canary |
Mudança gradual de tráfego |
Princípios de Seleção
| Cenário |
Estratégia |
| Release padrão |
Rolling |
| Mudança de alto risco |
Blue-green (rollback fácil) |
| Precisa validação |
Canary (teste com tráfego real) |
7. Procedimentos de Emergência
Prioridade Serviço Fora
- Avalie: Qual é o sintoma?
- Correção rápida: Reinicie se unclear
- Rollback: Se reinício não ajudar
- Investigue: Depois de estável
Ordem de Investigação
| Verificação |
Problemas Comuns |
| Logs |
Erros, exceções |
| Recursos |
Disco cheio, memória |
| Rede |
DNS, firewall |
| Dependências |
Banco de dados, APIs |
8. Anti-Padrões
| ❌ Não Faça |
✅ Faça |
| Deploy na sexta |
Deploy no início da semana |
| Acelere deployment |
Siga o processo |
| Pule staging |
Sempre teste primeiro |
| Deploy sem backup |
Backup antes de deploy |
| Saia após deploy |
Monitore por 15+ min |
| Múltiplas mudanças por vez |
Uma mudança por vez |
9. Checklist de Decisão
Antes de fazer deploy:
10. Melhores Práticas
- Deploys pequenos e frequentes sobre releases grandes
- Feature flags para mudanças arriscadas
- Automatize passos repetitivos
- Documente cada deployment
- Revise o que deu errado após problemas
- Teste rollback antes de precisar
Lembre-se: Cada deployment é um risco. Minimize risco através da preparação, não da velocidade.
1---2name: deployment-procedures3description: Princípios de deploy em produção e tomada de decisão. Workflows seguros de deployment, estratégias de rollback e verificação. Ensina raciocínio, não scripts.4---56# Procedimentos de Deployment78> Princípios de deployment e tomada de decisão para releases seguros em produção.9> **Aprenda a PENSAR, não decore scripts.**1011---1213## ⚠️ Como Usar Esta Habilidade1415Esta habilidade ensina **princípios de deployment**, não bash scripts para copiar.1617- Cada deployment é único18- Entenda o POR QUE por trás de cada passo19- Adapte os procedimentos à sua plataforma2021---2223## 1. Seleção de Plataforma2425### Árvore de Decisão2627```28O que você está fazendo deploy?29│30├── Site estático / JAMstack31│ └── Vercel, Netlify, Cloudflare Pages32│33├── App web simples34│ ├── Gerenciado → Railway, Render, Fly.io35│ └── Controle → VPS + PM2/Docker36│37├── Microserviços38│ └── Orquestração de containers39│40└── Serverless41 └── Edge functions, Lambda42```4344### Cada Plataforma Tem Procedimentos Diferentes4546| Plataforma | Método de Deployment |47|----------|------------------|48| **Vercel/Netlify** | Git push, deploy automático |49| **Railway/Render** | Git push ou CLI |50| **VPS + PM2** | SSH + passos manuais |51| **Docker** | Push de imagem + orquestração |52| **Kubernetes** | kubectl apply |5354---5556## 2. Princípios Pré-Deployment5758### As 4 Categorias de Verificação5960| Categoria | O que Verificar |61|----------|--------------|62| **Qualidade de Código** | Testes passando, linting limpo, revisado |63| **Build** | Build de produção funciona, sem avisos |64| **Ambiente** | Variáveis de ambiente definidas, secrets atualizados |65| **Segurança** | Backup feito, plano de rollback pronto |6667### Checklist Pré-Deployment6869- [ ] Todos os testes passando70- [ ] Código revisado e aprovado71- [ ] Build de produção bem-sucedido72- [ ] Variáveis de ambiente verificadas73- [ ] Migrações de banco de dados prontas (se houver)74- [ ] Plano de rollback documentado75- [ ] Time notificado76- [ ] Monitoramento ativo7778---7980## 3. Princípios de Workflow de Deployment8182### O Processo de 5 Fases8384```851. PREPARAR86 └── Verificar código, build, variáveis de ambiente87882. BACKUP89 └── Salvar estado atual antes de mudar90913. DEPLOY92 └── Executar com monitoramento aberto93944. VERIFICAR95 └── Health check, logs, fluxos-chave96975. CONFIRMAR ou ROLLBACK98 └── Tudo bem? Confirmar. Problemas? Rollback.99```100101### Princípios das Fases102103| Fase | Princípio |104|-------|-----------|105| **Preparar** | Nunca faça deploy de código não testado |106| **Backup** | Não é possível fazer rollback sem backup |107| **Deploy** | Acompanhe, não se afaste |108| **Verificar** | Confie, mas verifique |109| **Confirmar** | Tenha o gatilho de rollback pronto |110111---112113## 4. Verificação Pós-Deployment114115### O que Verificar116117| Verificação | Por Quê |118|-------|-----|119| **Endpoint de health** | Serviço está rodando |120| **Logs de erro** | Sem novos erros |121| **Fluxos de usuário-chave** | Funcionalidades críticas funcionam |122| **Performance** | Tempos de resposta aceitáveis |123124### Janela de Verificação125126- **Primeiros 5 minutos**: Monitoramento ativo127- **15 minutos**: Confirmar estabilidade128- **1 hora**: Verificação final129- **Próximo dia**: Revisar métricas130131---132133## 5. Princípios de Rollback134135### Quando Fazer Rollback136137| Sintoma | Ação |138|---------|--------|139| Serviço fora | Rollback imediato |140| Erros críticos | Rollback |141| Performance >50% degradada | Considere rollback |142| Problemas menores | Corrija adiante se rápido |143144### Estratégia de Rollback por Plataforma145146| Plataforma | Método de Rollback |147|----------|----------------|148| **Vercel/Netlify** | Redeploy do commit anterior |149| **Railway/Render** | Rollback no dashboard |150| **VPS + PM2** | Restaurar backup, reiniciar |151| **Docker** | Tag de imagem anterior |152| **K8s** | kubectl rollout undo |153154### Princípios de Rollback1551561. **Velocidade sobre perfeição**: Rollback primeiro, debugue depois1572. **Não compunha erros**: Um rollback, não múltiplas mudanças1583. **Comunique**: Diga ao time o que aconteceu1594. **Post-mortem**: Entenda por que depois de estável160161---162163## 6. Deployment com Zero Downtime164165### Estratégias166167| Estratégia | Como Funciona |168|----------|--------------|169| **Rolling** | Substituir instâncias uma por uma |170| **Blue-Green** | Mudar tráfego entre ambientes |171| **Canary** | Mudança gradual de tráfego |172173### Princípios de Seleção174175| Cenário | Estratégia |176|----------|----------|177| Release padrão | Rolling |178| Mudança de alto risco | Blue-green (rollback fácil) |179| Precisa validação | Canary (teste com tráfego real) |180181---182183## 7. Procedimentos de Emergência184185### Prioridade Serviço Fora1861871. **Avalie**: Qual é o sintoma?1882. **Correção rápida**: Reinicie se unclear1893. **Rollback**: Se reinício não ajudar1904. **Investigue**: Depois de estável191192### Ordem de Investigação193194| Verificação | Problemas Comuns |195|-------|--------------|196| **Logs** | Erros, exceções |197| **Recursos** | Disco cheio, memória |198| **Rede** | DNS, firewall |199| **Dependências** | Banco de dados, APIs |200201---202203## 8. Anti-Padrões204205| ❌ Não Faça | ✅ Faça |206|----------|-------|207| Deploy na sexta | Deploy no início da semana |208| Acelere deployment | Siga o processo |209| Pule staging | Sempre teste primeiro |210| Deploy sem backup | Backup antes de deploy |211| Saia após deploy | Monitore por 15+ min |212| Múltiplas mudanças por vez | Uma mudança por vez |213214---215216## 9. Checklist de Decisão217218Antes de fazer deploy:219220- [ ] **Procedimento apropriado para a plataforma?**221- [ ] **Estratégia de backup pronta?**222- [ ] **Plano de rollback documentado?**223- [ ] **Monitoramento configurado?**224- [ ] **Time notificado?**225- [ ] **Tempo para monitorar depois?**226227---228229## 10. Melhores Práticas2302311. **Deploys pequenos e frequentes** sobre releases grandes2322. **Feature flags** para mudanças arriscadas2333. **Automatize** passos repetitivos2344. **Documente** cada deployment2355. **Revise** o que deu errado após problemas2366. **Teste rollback** antes de precisar237238---239240> **Lembre-se:** Cada deployment é um risco. Minimize risco através da preparação, não da velocidade.