Prévia Markdown
Guia de Referência: DevOps, Entrega Contínua e Operação Confiável (Danilo Sato)
Visualização renderizada do arquivo livros/08-devops-na-pratica.md. O conteúdo abaixo é o mesmo arquivo destinado a orientar a IA.
Guia de Referência: DevOps, Entrega Contínua e Operação Confiável (Danilo Sato)
Este guia trata entrega e operação como parte do design do software. O objetivo é reduzir risco por automação, colaboração, infraestrutura reproduzível, testes, monitoramento e pipelines capazes de levar pequenas mudanças à produção com segurança.
1. Cultura e Fluxo DevOps
- Colaboração: Desenvolvimento e operações compartilham responsabilidade por entrega e estabilidade.
- Pequenas mudanças: Entregas frequentes reduzem o tamanho do lote e facilitam descobrir causas quando algo falha.
- Automação: Automatize tarefas repetitivas para reduzir erro humano e tornar o processo reproduzível.
2. Infraestrutura como Código
- Versionamento: Configuração de ambientes e servidores deve ser tratada como código versionado.
- Reprodutibilidade: O ambiente deve poder ser recriado sem depender de passos manuais ocultos.
- Separação: Mantenha responsabilidades de infraestrutura e aplicação organizadas e testáveis.
3. Integração Contínua
- Build automatizado: Cada alteração deve poder gerar artefatos de forma repetível.
- Testes automatizados: Use diferentes níveis de teste para reduzir risco e aumentar confiança.
- Feedback rápido: Falhas de build e integração precisam aparecer cedo para a equipe.
4. Pipeline de Entrega
- Stages: Organize lint, testes, build, segurança, empacotamento, deploy e verificações pós-deploy.
- Gates: Cada etapa deve ter critérios claros para promover ou bloquear uma versão.
- Rollback: Planeje como reverter ou avançar com correção quando uma versão falhar.
- Banco de dados: Trate migrações como parte da entrega e preserve compatibilidade durante rollout quando necessário.
5. Operação, Monitoramento e Segurança
- Observabilidade: Colete logs, métricas e sinais que permitam entender saúde e comportamento do sistema.
- Alertas: Alertas devem ser acionáveis e ligados a sintomas relevantes, não apenas ruído.
- Segurança em camadas: Proteja rede, aplicação, dependências, sistema operacional e pipeline.
- Atualizações: Acompanhe vulnerabilidades e mantenha processo seguro para atualizar componentes.
6. Como Usar com IA
Anexe este arquivo ao preparar deploy, CI/CD ou infraestrutura. Peça scripts versionáveis, estratégia de segredos, health checks, observabilidade, rollback e uma pipeline que possa ser executada repetidamente.
Diretrizes de Execução para IA
Ao criar, revisar ou reestruturar uma aplicação, garanta:
- Automatize o que for repetível e elimine procedimentos manuais frágeis.
- Versione aplicação e infraestrutura e mantenha builds reproduzíveis.
- Execute testes na pipeline antes de promover artefatos.
- Planeje rollback e migrações compatíveis antes do deploy.
- Inclua observabilidade e segurança como requisitos de produção.
Roteiro de Uso Operacional com IA
- Contextualize o projeto: informe domínio, stack, arquitetura atual, restrições e objetivo da mudança.
- Selecione o recorte: diga qual princípio/capítulo deste guia deve orientar a tarefa; não aplique tudo ao mesmo tempo.
- Peça diagnóstico antes do código: a IA deve identificar sintomas, riscos, dependências e alternativas.
- Defina critérios de aceite: comportamento, testes, acessibilidade, performance, segurança ou operação conforme o tema.
- Implemente incrementalmente: mudanças pequenas, reversíveis e verificadas.
- Faça revisão final: peça à IA que confronte a solução com este guia e liste desvios deliberados.
Prompt de aplicação
Use este guia como referência técnica para a tarefa abaixo.
Não copie regras mecanicamente. Primeiro diagnostique o problema e selecione apenas os princípios aplicáveis.
Mostre: (1) diagnóstico, (2) decisão, (3) implementação proposta, (4) testes/verificações, (5) trade-offs e (6) checklist final.
Contexto: [DESCREVA o sistema, stack, estado atual e cenário da mudança]
Objetivo: [DESCREVA o resultado esperado e o comportamento que deve existir]
Restrições: [DESCREVA limites de escopo, compatibilidade, segurança, prazo e o que não pode mudar]
Como preencher os campos
- Contexto: descreva o tipo de sistema, stack/versões, arquitetura atual, onde a mudança acontece e o comportamento relevante já existente.
- Objetivo: descreva o resultado observável que deve existir ao final, não apenas a tecnologia que você quer usar.
- Restrições: informe o que não pode mudar, compatibilidade, prazo, segurança, acessibilidade, performance, legado, dependências e limites de escopo.
Exemplo preenchido
Contexto: Aplicação é publicada manualmente no Cloudflare/servidor e o processo depende de passos executados por uma pessoa.
Objetivo: Desenhar pipeline de build, testes e deploy reproduzível, com validação antes da publicação e possibilidade de rollback.
Restrições: Não expor segredos; deploy deve ser auditável; falha em teste bloqueia produção; mudanças de infraestrutura devem ser versionadas.