Testar grátis
7 min leitura Guide 767 of 877

Gerenciamento de Projetos Infrastructure as Code

Infrastructure as Code (IaC) requer o mesmo rigor que desenvolvimento de aplicações. GitScrum ajuda times a gerenciar trabalho de infraestrutura com processos adequados de review e rastreamento de mudanças.

Estrutura de Tarefas de Infraestrutura

Formato de Tarefa IaC

ESTRUTURA DE TAREFA DE INFRAESTRUTURA:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ TAREFA DE MUDANÇA DE INFRAESTRUTURA:                        │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ INFRA-100: Adicionar cluster Redis para caching        ││
│ │                                                         ││
│ │ O QUÊ:                                                   ││
│ │ Provisionar cluster Redis ElastiCache (3 nodes)        ││
│ │                                                         ││
│ │ POR QUÊ:                                                 ││
│ │ Camada de caching de aplicação para PROJ-456           ││
│ │ Suporta: Armazenamento de sessão, cache de resposta API││
│ │                                                         ││
│ │ RECURSOS:                                                ││
│ │ • Cluster ElastiCache (cache.r6g.large x 3)            ││
│ │ • Security group                                        ││
│ │ • Parameter group                                       ││
│ │ • Subnet group                                          ││
│ │                                                         ││
│ │ IMPACTO DE CUSTO:                                        ││
│ │ Estimado: ~$400/mês                                    ││
│ │ Aprovado: Sim (ticket de orçamento BUDGET-123)         ││
│ │                                                         ││
│ │ BLAST RADIUS:                                            ││
│ │ Apenas novos recursos - sem impacto em existentes      ││
│ │                                                         ││
│ │ ROLLBACK:                                                ││
│ │ terraform destroy para novos recursos                  ││
│ │                                                         ││
│ │ JANELA DE DEPLOYMENT:                                    ││
│ │ Qualquer hora (sem downtime esperado)                  ││
│ │                                                         ││
│ │ CHECKLIST:                                               ││
│ │ ☐ Código Terraform                                     ││
│ │ ☐ Code review                                          ││
│ │ ☐ Apply em staging                                     ││
│ │ ☐ Testar conectividade                                 ││
│ │ ☐ Apply em produção                                    ││
│ │ ☐ Atualizar documentação                               ││
│ └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘

Categorias de Mudança

TIPOS DE MUDANÇA DE INFRAESTRUTURA:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ BAIXO RISCO (Auto-aprovação OK):                           │
│ • Novos recursos (sem impacto em existentes)              │
│ • Mudanças de tags                                        │
│ • Aumento de capacidade                                   │
│ • Adicionar monitoramento                                 │
│                                                             │
│ MÉDIO RISCO (Peer review necessário):                      │
│ • Mudanças de security group                              │
│ • Atualizações de policy IAM                              │
│ • Mudanças de configuração                                │
│ • Políticas de scaling                                    │
│                                                             │
│ ALTO RISCO (Múltiplos reviewers + janela):                 │
│ • Mudanças de banco de dados                              │
│ • Mudanças de rede                                        │
│ • Operações destrutivas                                   │
│ • Secrets de produção                                     │
│                                                             │
│ ─────────────────────────────────────────────────────────── │
│                                                             │
│ TAREFA ALTO RISCO:                                          │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ 🔴 INFRA-150: Migrar para nova VPC                     ││
│ │                                                         ││
│ │ Risco: ALTO                                             ││
│ │ Downtime: Esperado (janela de manutenção)              ││
│ │                                                         ││
│ │ APROVAÇÃO NECESSÁRIA:                                    ││
│ │ ☐ Review do lead DevOps                                ││
│ │ ☐ Review de segurança (mudança de rede)               ││
│ │ ☐ Change advisory board                                ││
│ │                                                         ││
│ │ DEPLOYMENT:                                              ││
│ │ ☐ Janela agendada: Sábado 2AM                         ││
│ │ ☐ Plano de rollback documentado                       ││
│ │ ☐ Time on-call notificado                              ││
│ └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘

Workflow Terraform

Fluxo de Tarefa Terraform

WORKFLOW DE MUDANÇA TERRAFORM:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ 1. CRIAR TAREFA                                             │
│    Documentar o quê/por quê/impacto                        │
│                                                             │
│ 2. DESENVOLVER                                              │
│    Escrever código Terraform                               │
│    terraform plan localmente                               │
│                                                             │
│ 3. CODE REVIEW                                              │
│    PR com output do terraform plan                         │
│    Reviewer verifica mudanças planejadas                   │
│    Aprovação baseada em risco                              │
│                                                             │
│ 4. STAGING                                                  │
│    terraform apply em staging                              │
│    Verificar mudanças funcionam                            │
│    Atualizar tarefa com resultado                          │
│                                                             │
│ 5. PRODUÇÃO                                                 │
│    Agendar janela (se necessário)                          │
│    terraform apply em produção                             │
│    Verificar e monitorar                                   │
│                                                             │
│ 6. DOCUMENTAR                                               │
│    Atualizar runbooks                                      │
│    Atualizar diagramas de arquitetura                      │
│    Fechar tarefa                                           │
│                                                             │
│ ─────────────────────────────────────────────────────────── │
│                                                             │
│ EXEMPLO DE WORKFLOW NO GITSCRUM:                            │
│                                                             │
│ Backlog → Em Progresso → Em Review → Staging → Prod → Done │
│    │           │            │          │        │          │
│    │           │            │          │        │          │
│    │      Escrevendo    Esperando   Testando  Deployando   │
│    │       código        review    em staging             │
│  Planejado                                                  │
│                                                             │
│ AUTOMAÇÃO:                                                  │
│ • CI roda terraform plan no PR                             │
│ • Merge para main aplica em staging                        │
│ • Tag de release aplica em produção                        │
└─────────────────────────────────────────────────────────────┘

Coordenação com Dev Work

Integrando Infra e App

COORDENANDO TRABALHO DE INFRA E APLICAÇÃO:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ CENÁRIO: Feature precisa de nova infraestrutura            │
│                                                             │
│ EPIC: Sistema de Busca de Usuários                         │
│ ├── INFRA-100: Provisionar cluster Elasticsearch          │
│ │   ├── Criar código Terraform                            │
│ │   ├── Configurar índices                                │
│ │   └── Setup monitoramento                               │
│ │                                                          │
│ ├── APP-200: Implementar API de busca (espera INFRA-100)  │
│ │   ├── Service layer                                     │
│ │   ├── Endpoints API                                     │
│ │   └── Testes de integração                              │
│ │                                                          │
│ └── APP-201: UI de busca (espera APP-200)                 │
│     ├── Componentes de busca                              │
│     └── Resultados de busca                               │
│                                                             │
│ SPRINT PLANNING:                                            │
│ ═══════════════                                             │
│                                                             │
│ Sprint 5:                                                   │
│ • INFRA-100: Provisionar Elasticsearch                     │
│   (Time de App pode começar mock enquanto espera)          │
│                                                             │
│ Sprint 6:                                                   │
│ • APP-200: Backend de busca (infra pronta)                 │
│ • APP-201: Iniciar UI                                      │
│                                                             │
│ VISIBILIDADE:                                               │
│ • Dependências explícitas                                  │
│ • Rastreamento de progresso                                │
│ • Alertas de bloqueio                                      │
└─────────────────────────────────────────────────────────────┘

Janelas de Manutenção

Planejando Mudanças de Alto Risco

PLANEJAMENTO DE JANELA DE MANUTENÇÃO:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ TAREFA DE MANUTENÇÃO:                                       │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ INFRA-200: Upgrade de Banco de Dados                   ││
│ │                                                         ││
│ │ JANELA: Sábado, 15 Jan 2024, 02:00-04:00 UTC          ││
│ │ DOWNTIME ESPERADO: 30 minutos                          ││
│ │                                                         ││
│ │ PRÉ-MANUTENÇÃO:                                          ││
│ │ ☐ Notificar stakeholders (48h antes)                   ││
│ │ ☐ Atualizar página de status                           ││
│ │ ☐ Testar rollback em staging                           ││
│ │ ☐ Confirmar on-call disponível                         ││
│ │                                                         ││
│ │ DURANTE MANUTENÇÃO:                                      ││
│ │ ☐ Habilitar modo manutenção                            ││
│ │ ☐ Criar snapshot                                       ││
│ │ ☐ Executar upgrade                                     ││
│ │ ☐ Verificar saúde                                      ││
│ │ ☐ Desabilitar modo manutenção                          ││
│ │                                                         ││
│ │ PÓS-MANUTENÇÃO:                                          ││
│ │ ☐ Monitorar por 1 hora                                 ││
│ │ ☐ Atualizar status para resolvido                      ││
│ │ ☐ Documentar mudanças                                  ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ COMUNICAÇÃO:                                                │
│ • Email para stakeholders 48h antes                        │
│ • Banner de manutenção no aplicativo 24h antes             │
│ • Atualização de página de status quando começar           │
│ • All-clear quando completo                                │
└─────────────────────────────────────────────────────────────┘

Métricas de Infra

MétricaO Que MedeMeta
Lead TimeTarefa criada → deploy< 1 semana
Change Failure RateRollbacks necessários< 5%
MTTRTempo para corrigir issue< 1 hora
Change SuccessDeploys bem-sucedidos> 95%

Soluções Relacionadas