Implantação contínua
1) O que é um CD e o que é diferente de CI/CD
A implantação contínua (CD contínuo) é uma prática de escoamento automático de todas as alterações de proda passadas, sem trens de lançamento manuais. O CD difere do CI (montagens automáticas e testes de conveniência) para completar a cadeia: código → artefato → verificação → produção. Nos setores regulados, o CD é muitas vezes combinado com progressivo delivery (edição gradual com restrição de audiência).
Objetivos do CD:- Reduzir Time-to-Market e o custo das mudanças.
- Reduzir o risco de grandes lançamentos, os pequenos lotes → mais fácil encontrar a causa e reverter.
- Uma disciplina de qualidade, «todas as empresas são potencialmente vendedoras».
2) Princípios básicos
Pequenos encartes. Ramos de fiche curtos, revezamentos rápidos, merjing agressivo.
Determinação da montagem. Ambiente bild repetível, ficheiros lock, hermetic builds.
Qualidade shift-left. Linters, análise estática, testes unit/contratual antes da integração.
Produção-like ambiente. Configs idênticos, segredos vault, dados sintéticos/impessoais.
Automação de todo o caminho. Da comita à rotação de tráfego e reversão.
Observabilidade padrão. Métricas, logs, traçados, alertas - como parte do Definition of Done.
Segurança-by-design. SAST/DAST, SCA, artefatos assinados, verificação de políticas.
3) Arquitetura de referência de CD Pipline
1. Trigger: evento VCS (push/merge) marcado como «prod-eligível».
2. Build: montagem de artefato (imagem, pacote), SBOM, assinatura (Sigstore/Cosign).
3. Teste Fast: lente/unit/contrato; feedback rápido (<5-10 min).
4. Teste Deep (paralelamente): integração, E2E, carga «por perfil», ensaios de caos em estilo.
5. Segurança Gate: SAST/DAST/SCA, verificação de segredos, verificação de políticas (OPA/Conftest/Kyverno).
6. Compliance Gate: SoD/4-olhos, se necessário, rastreabilidade, cheques-folhas.
7. Promote: promoção do artefato como o mesmo bildo através dos ambientes (dave → estágio → prod).
8. Deploy Strategy: blue-green / canary / progressive + feature flags.
9. Post-Deploy Verification: auto-health, SLO/SLA, alertas, auto-rollback em degradação.
10. Audit & Evidence: artefatos, logs, protocolos de verificação - em armazenamento inalterável.
4) Estratégias de lançamento
Blue-Green: dois estandes de prod (Blue = atual, Green = novo), alteração atômica de rotação. Além disso, uma reversão instantânea. Menos, infraestrutura dupla.
Canary: lançamento de tráfego por porção (1% → 5% → 25% → 100%) com gates SLO automáticos.
Progressive Delivery (região, provedor, segmento VIP), limite de raio de impacto.
Função Flags: fornecimento de código desligado, ativação por usuário/colhorte. A política «flag lifecyple» é obrigatória.
5) Testes e qualidade
Testes contratuais e clientes-driven controls para lançamentos independentes de microsserviços.
Perfis de carga por pattern real (RPS, p95/p99, modelos abertos/fechados).
Testes de migração de BD: direto/reversível, compatibilidade entre duas versões (expand → contract).
Chaos/Resiliência-prova: desativação de dependências, atrasos de rede, limites de recursos.
Verificação postal (smoke + synthetic) a partir de pontos próximos ao usuário.
6) Segurança e complacência em CD
Assinatura de artefactos, provenance, SBOM. Rastreando a origem, eliminando os riscos.
Policy-as-Code: Permitimos apenas imagens de um registro de confiança com scan.
Segredos: short-lived, chaves rotáveis, KMS; a proibição de segredos no gita.
Divisão de responsabilidades (SoD): desenvolvimento ≠ prod-acesso; todas as operações são via pipeline.
Pista de auditoria: logs de lançamento imutáveis, quem/o/quando; Armazenamento N anos regulatório.
7) Gerenciamento de alterações e controle de risco
Mudança Types: padrão (totalmente automático), normal (auto + aprovação), de emergência (janela acelerada + post-mortem).
Minimalismo FAB: FAB para riscos alterados e updates de «quebra» de infraestrutura, o resto através de gates automáticos de qualidade.
Risk Matrix: influência x probabilidade → escolha de estratégia (canary mais profundo, bandeiras, monitoramento adicional).
Runbooks & Playbooks: instruções claras para cada tipo de lançamento e reversão.
8) Observabilidade, SLO e rollback automático
Sinais de ouro: latência, erros, saturação, tráfego; métricas de negócios (conversão, depósito, sucesso de pagamentos).
Guardrails: Se p95> limiar, erro rate↑, metrika↓ - auto-parar/reversão.
Release Dashboards: widgets: versiya→metriki→flagi→kanareyechnyye porção do tráfego.
Alerts, níveis de pressão, rotações on-call, comunicação com o gerenciamento de incidentes.
9) Métricas de CD
Métricas DORA: taxa de deploys, lead time for changes, MTTR, número de lançamentos fracassados.
Mudar-failure-rate em grade (por provedor, região, dispositivo).
Tempo de duração dos gates: onde «estreitos» (segurança scan, testes de integração).
Costa-to-Release: custo de um minuto de janela, custo de infraestrutura de estratégias (blue-green vs canary).
10) Pattern de reposição e compatibilidade
Rollback automático: em nível de rotação (traffic switch) e/ou versioning (K8s rollout undo).
Migração BD: A estratégia expand-migrate-contract, as bandeiras de fique escondem campos inacessíveis.
Idempotency & Excactly-once-like: para filas/pagamentos - chaves de idempotação, dedução.
Back-pressure e graceful descradation: desabilite os fichas não-individuais quando se degradam.
11) Modelo prático de ambientes
Abordagem GitOps: O status de destino é armazenado em um git e o controlador aplica manifestos.
Environments: 'dave' (rápido e sujo), 'estágio' (prod-like, caos-ensaio), 'prod-A/B' (blue-green) ou 'prod' com pulos canary.
Configs como dados, segredos fora da imagem, ensinos/limites individuais.
12) Processos e papéis
RACI: Arquiteto (políticas), Comando de plataforma (pipline, cluster), Comandos de produto (testes/bandeiras), Segurança (políticas/scans), SRE (SLO/confiabilidade).
ChatOps: lançamentos de bots PR, visibilidade de estatais, «/promote », «/rollback».
SOP: folha de cheque de lançamento, pós-release review, controle de «aging» bandeiras.
13) Características para domínios altamente regulados (por exemplo, iGaming/Fintech)
Rastreabilidade: trebovaniye→tiket→PR→bild→artefakt→sreda→log na auditoria.
Geo-release: por país/jurisdição, com configuração local de pagamento/CUS.
Antifrod/risco-motor: tráfego canário-pula, monitoramento falso-positivo/negativo.
KYC/AML/jogo responsável: Fici é lançado através de bandeiras com monitoramento obrigatório do impacto do usuário.
14) Frequentes anti-pattern
Passos manuais entre os estágios («trouxeram o artefato com as mãos»).
Bandeiras cinzentas sem dono ou vida.
Um teste geral de integração «gordo» em vez de contratos.
Não há migração reversível da BD.
O Scan está seguro depois do deploy, não antes.
15) Folha de cheque mini pronto para CD
- O Bildo foi determinado; artefato assinado; Há o SBOM.
- Testes contratuais e ficstoors para E2E.
- Segurança/Compliance-gates como código; segredos - através do vault.
- Observabilidade: logs/métricas/trailers, dashboards de lançamento, gates SLO.
- Estratégia de lançamento canary/blue-green + auto-rollback.
- Procedimentos de migração de BB (expand/contract).
- Função flags com a política «criou → usou → removeu».
- RACI/Runbooks/ChatOps de integração.
16) Exemplo de fluxo (cenário)
1. O Merge em 'principal' desencadeia o pipeline.
2. Montagem de contêiner, assinatura, SBOM.
3. Lint/unit/contratos → concluídos.
4. SAST/SCA/segredo scan → verde.
5. Auto-promoção em estágio: E2E + caos + carga de perfil.
6. Canary 1% em proda, controle de erros/latência/métricas de negócios.
7. Escalar para 25 %/50 %/100% em gates verdes.
8. Ocultação automática da bandeira «rollout-guard», gravação de artefatos de auditoria.
9. Post-release review, remover bandeiras temporárias.
17) Resultado
O CD não é um botão de deploy, mas uma cultura de pequenas mudanças seguras e observáveis. Com políticas e automação corretas, o CD reduz os riscos, acelera o fornecimento de valor e torna os lançamentos rotineiros e não um evento. Para sistemas altamente ajustados e regulados, a chave para o sucesso são os gates de qualidade rigorosos, rollout gradual, bandeiras de ficção, observabilidade e reprodutividade de cada passo.