L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

migration-architect

migration-architect

Arquiteto de Migração. Planejamento de migração com zero downtime, validação de compatibilidade e geração de estratégia de rollback.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: "migration-architect" description: "Arquiteto de Migração. Planejamento de migração com zero downtime, validação de compatibilidade e geração de estratégia de rollback." agents:

  • claude-code

Migration Architect

Nível: PODEROSO Categoria: Engenharia - Estratégia de Migração Propósito: Planejamento de migração com zero downtime, validação de compatibilidade e geração de estratégia de rollback

Visão Geral

A skill Migration Architect fornece ferramentas e metodologias abrangentes para planejar, executar e validar migrações complexas de sistemas com impacto mínimo nos negócios. Esta skill combina padrões de migração comprovados com ferramentas de planejamento automatizado para garantir transições bem-sucedidas entre sistemas, bancos de dados e infraestrutura.

Capacidades Principais

1. Planejamento de Estratégia de Migração

  • Planejamento de Migração em Fases: Divida migrações complexas em fases gerenciáveis com portões de validação claros
  • Avaliação de Riscos: Identifique pontos potenciais de falha e estratégias de mitigação antes da execução
  • Estimativa de Cronograma: Gere cronogramas realistas com base na complexidade da migração e restrições de recursos
  • Comunicação com Stakeholders: Crie templates de comunicação e painéis de progresso

2. Análise de Compatibilidade

  • Evolução de Esquema: Analise mudanças de esquema de banco de dados para questões de compatibilidade retroativa
  • Versionamento de API: Detecte mudanças disruptivas em APIs REST/GraphQL e interfaces de microsserviços
  • Validação de Tipos de Dados: Identifique incompatibilidades de formato de dados e requisitos de conversão
  • Análise de Restrições: Valide integridade referencial e mudanças nas regras de negócio

3. Geração de Estratégia de Rollback

  • Planos de Rollback Automatizados: Gere procedimentos abrangentes de rollback para cada fase da migração
  • Scripts de Recuperação de Dados: Crie procedimentos de restauração de dados point-in-time
  • Rollback de Serviço: Planeje rollbacks de versão de serviço com gerenciamento de tráfego
  • Pontos de Verificação de Validação: Defina critérios de sucesso e gatilhos de rollback

Padrões de Migração

Migrações de Banco de Dados

Padrões de Evolução de Esquema

  1. Padrão Expand-Contract

    • Expandir: Adicione novas colunas/tabelas ao lado do esquema existente
    • Escrita Dupla: A aplicação escreve no esquema antigo e no novo
    • Migração: Preencha dados históricos no novo esquema
    • Contrair: Remova colunas/tabelas antigas após validação
  2. Padrão de Esquema Paralelo

    • Execute o novo esquema em paralelo com o existente
    • Use feature flags para rotear tráfego entre esquemas
    • Valide consistência de dados entre sistemas paralelos
    • Faça o cutover quando a confiança for alta
  3. Migração por Event Sourcing

    • Capture todas as mudanças como eventos durante a janela de migração
    • Aplique eventos ao novo esquema para consistência
    • Habilite capacidade de replay para cenários de rollback

Estratégias de Migração de Dados

  1. Migração em Massa de Dados

    • Abordagem de Snapshot: Cópia completa dos dados durante a janela de manutenção
    • Sincronização Incremental: Sincronização contínua de dados com rastreamento de mudanças
    • Processamento de Stream: Pipelines de transformação de dados em tempo real
  2. Padrão de Escrita Dupla

    • Escreva em sistemas de origem e destino durante a migração
    • Implemente padrões de compensação para falhas de escrita
    • Use transações distribuídas onde a consistência é crítica
  3. Change Data Capture (CDC)

    • Transmita mudanças do banco de dados para o sistema destino
    • Mantenha consistência eventual durante a migração
    • Habilite migrações com zero downtime para grandes conjuntos de dados

Migrações de Serviço

Padrão Strangler Fig

  1. Interceptar Requisições: Roteie tráfego por meio de proxy/gateway
  2. Substituição Gradual: Implemente a nova funcionalidade do serviço incrementalmente
  3. Aposentadoria do Legado: Remova componentes antigos do serviço à medida que os novos se provam estáveis
  4. Monitoramento: Rastreie desempenho e taxas de erro durante toda a transição
graph TD
    A[Requisições do Cliente] --> B[API Gateway]
    B --> C{Decisão de Rota}
    C -->|Caminho Legado| D[Serviço Legado]
    C -->|Novo Caminho| E[Novo Serviço]
    D --> F[Banco de Dados Legado]
    E --> G[Novo Banco de Dados]

Padrão de Execução Paralela

  1. Execução Dupla: Execute serviços antigos e novos simultaneamente
  2. Tráfego Sombra: Roteie tráfego de produção para ambos os sistemas
  3. Comparação de Resultados: Compare saídas para validar a correção
  4. Cutover Gradual: Mude a porcentagem de tráfego com base na confiança

Padrão de Implantação Canário

  1. Rollout Limitado: Implante o novo serviço para uma pequena porcentagem de usuários
  2. Monitoramento: Rastreie métricas-chave (latência, erros, KPIs de negócio)
  3. Aumento Gradual: Aumente a porcentagem de tráfego conforme a confiança cresce
  4. Rollout Completo: Complete a migração uma vez que a validação passe

Migrações de Infraestrutura

Migração Cloud-to-Cloud

  1. Fase de Avaliação

    • Inventarie recursos e dependências existentes
    • Mapeie serviços para equivalentes na nuvem destino
    • Identifique funcionalidades específicas de fornecedor que requerem refatoração
  2. Migração Piloto

    • Migre cargas de trabalho não críticas primeiro
    • Valide modelos de desempenho e custo
    • Refine procedimentos de migração
  3. Migração de Produção

    • Use infraestrutura como código para consistência
    • Implemente rede entre nuvens durante a transição
    • Mantenha capacidades de recuperação de desastre

Migração On-Premises para Nuvem

  1. Lift and Shift

    • Mudanças mínimas nas aplicações existentes
    • Migração rápida com otimização posterior
    • Use ferramentas e serviços de migração em nuvem
  2. Re-arquitetura

    • Redesenhe aplicações para padrões cloud-native
    • Adote microsserviços, containers e serverless
    • Implemente práticas de segurança e escalabilidade em nuvem
  3. Abordagem Híbrida

    • Mantenha dados sensíveis on-premises
    • Migre cargas de trabalho de computação para a nuvem
    • Implemente conectividade segura entre ambientes

Feature Flags para Migrações

Rollout Progressivo de Funcionalidades

# Exemplo de implementação de feature flag
class MigrationFeatureFlag:
    def __init__(self, flag_name, rollout_percentage=0):
        self.flag_name = flag_name
        self.rollout_percentage = rollout_percentage
    
    def is_enabled_for_user(self, user_id):
        hash_value = hash(f"{self.flag_name}:{user_id}")
        return (hash_value % 100) < self.rollout_percentage
    
    def gradual_rollout(self, target_percentage, step_size=10):
        while self.rollout_percentage < target_percentage:
            self.rollout_percentage = min(
                self.rollout_percentage + step_size,
                target_percentage
            )
            yield self.rollout_percentage

Padrão Circuit Breaker

Implemente fallback automático para sistemas legados quando novos sistemas apresentam desempenho degradado:

class MigrationCircuitBreaker:
    def __init__(self, failure_threshold=5, timeout=60):
        self.failure_count = 0
        self.failure_threshold = failure_threshold
        self.timeout = timeout
        self.last_failure_time = None
        self.state = 'CLOSED'  # CLOSED, OPEN, HALF_OPEN
    
    def call_new_service(self, request):
        if self.state == 'OPEN':
            if self.should_attempt_reset():
                self.state = 'HALF_OPEN'
            else:
                return self.fallback_to_legacy(request)
        
        try:
            response = self.new_service.process(request)
            self.on_success()
            return response
        except Exception as e:
            self.on_failure()
            return self.fallback_to_legacy(request)

Validação e Reconciliação de Dados

Estratégias de Validação

  1. Validação de Contagem de Registros

    • Compare contagens de registros entre origem e destino
    • Considere soft deletes e registros filtrados
    • Implemente alertas baseados em threshold
  2. Checksums e Hashing

    • Gere checksums para subconjuntos de dados críticos
    • Compare valores de hash para detectar deriva de dados
    • Use amostragem para grandes conjuntos de dados
  3. Validação de Lógica de Negócio

    • Execute consultas de negócio críticas em ambos os sistemas
    • Compare resultados agregados (somas, contagens, médias)
    • Valide dados derivados e cálculos

Padrões de Reconciliação

  1. Detecção de Delta

    -- Exemplo de query delta para reconciliação
    SELECT 'missing_in_target' as issue_type, source_id
    FROM source_table s
    WHERE NOT EXISTS (
        SELECT 1 FROM target_table t 
        WHERE t.id = s.id
    )
    UNION ALL
    SELECT 'extra_in_target' as issue_type, target_id
    FROM target_table t
    WHERE NOT EXISTS (
        SELECT 1 FROM source_table s 
        WHERE s.id = t.id
    );
    
  2. Correção Automatizada

    • Implemente scripts de reparo de dados para problemas comuns
    • Use operações idempotentes para reexecução segura
    • Registre todas as ações de correção para trilha de auditoria

Estratégias de Rollback

Rollback de Banco de Dados

  1. Rollback de Esquema

    • Mantenha controle de versão do esquema
    • Use migrações compatíveis retroativamente quando possível
    • Mantenha scripts de rollback para cada passo de migração
  2. Rollback de Dados

    • Recuperação point-in-time usando backups do banco de dados
    • Replay de log de transação para pontos precisos de rollback
    • Mantenha snapshots de dados nos pontos de verificação da migração

Rollback de Serviço

  1. Implantação Blue-Green

    • Mantenha a versão anterior do serviço em execução durante a migração
    • Mude o tráfego de volta para o ambiente azul se ocorrerem problemas
    • Mantenha infraestrutura paralela durante a janela de migração
  2. Rollback Gradual

    • Transfira gradualmente o tráfego de volta para a versão anterior
    • Monitore a saúde do sistema durante o processo de rollback
    • Implemente gatilhos de rollback automatizados

Rollback de Infraestrutura

  1. Infraestrutura como Código

    • Versione todas as definições de infraestrutura
    • Mantenha templates terraform/CloudFormation de rollback
    • Teste procedimentos de rollback em ambientes de staging
  2. Persistência de Dados

    • Preserve dados na localização original durante a migração
    • Implemente sincronização de dados de volta para os sistemas originais
    • Mantenha estratégias de backup nos dois ambientes

Framework de Avaliação de Riscos

Categorias de Risco

  1. Riscos Técnicos

    • Perda ou corrupção de dados
    • Downtime ou desempenho degradado do serviço
    • Falhas de integração com sistemas dependentes
    • Problemas de escalabilidade sob carga de produção
  2. Riscos de Negócio

    • Impacto na receita por interrupção do serviço
    • Degradação da experiência do cliente
    • Preocupações de conformidade e regulatórias
    • Impacto na reputação da marca
  3. Riscos Operacionais

    • Lacunas de conhecimento da equipe
    • Cobertura de testes insuficiente
    • Monitoramento e alertas inadequados
    • Falhas de comunicação

Estratégias de Mitigação de Riscos

  1. Mitigações Técnicas

    • Testes abrangentes (unitário, integração, carga, caos)
    • Rollout gradual com gatilhos de rollback automatizados
    • Processos de validação e reconciliação de dados
    • Monitoramento de desempenho e alertas
  2. Mitigações de Negócio

    • Planos de comunicação com stakeholders
    • Procedimentos de continuidade de negócio
    • Estratégias de notificação ao cliente
    • Medidas de proteção de receita
  3. Mitigações Operacionais

    • Treinamento de equipe e documentação
    • Criação e teste de runbooks
    • Planejamento de rotação de plantão
    • Processos de revisão pós-migração

Runbooks de Migração

Lista de Verificação Pré-Migração

  • Plano de migração revisado e aprovado
  • Procedimentos de rollback testados e validados
  • Monitoramento e alertas configurados
  • Papéis e responsabilidades da equipe definidos
  • Plano de comunicação com stakeholders ativado
  • Procedimentos de backup e recuperação verificados
  • Validação do ambiente de teste completa
  • Benchmarks de desempenho estabelecidos
  • Revisão de segurança concluída
  • Requisitos de conformidade verificados

Durante a Migração

  • Execute as fases de migração na ordem planejada
  • Monitore indicadores-chave de desempenho continuamente
  • Valide a consistência dos dados em cada ponto de verificação
  • Comunique o progresso aos stakeholders
  • Documente quaisquer desvios do plano
  • Execute rollback se os critérios de sucesso não forem atendidos
  • Coordene com equipes dependentes
  • Mantenha logs detalhados de execução

Pós-Migração

  • Valide todos os critérios de sucesso atendidos
  • Realize verificações abrangentes de saúde do sistema
  • Execute procedimentos de reconciliação de dados
  • Monitore o desempenho do sistema por 72 horas
  • Atualize documentação e runbooks
  • Descomissione sistemas legados (se aplicável)
  • Conduza retrospectiva pós-migração
  • Archive os artefatos da migração
  • Atualize procedimentos de recuperação de desastre

Templates de Comunicação

Template de Resumo Executivo

Status da Migração: [EM_ANDAMENTO | CONCLUÍDA | REVERTIDA]
Hora de Início: [AAAA-MM-DD HH:MM UTC]
Fase Atual: [X de Y]
Progresso Geral: [X%]

Métricas-Chave:
- Disponibilidade do Sistema: [X.XX%]
- Progresso da Migração de Dados: [X.XX%]
- Impacto no Desempenho: [+/-X%]
- Problemas Encontrados: [X]

Próximas Etapas:
1. [Item de ação 1]
2. [Item de ação 2]

Avaliação de Risco: [BAIXO | MÉDIO | ALTO]
Status de Rollback: [DISPONÍVEL | NÃO_DISPONÍVEL]

Template de Atualização para Equipe Técnica

Fase: [Nome da Fase] - [Status]
Duração: [Início] - [Término Esperado]

Tarefas Concluídas:
✓ [Tarefa 1]
✓ [Tarefa 2]

Em Andamento:
🔄 [Tarefa 3] - [X% completo]

Próximas:
⏳ [Tarefa 4] - [Hora esperada de início]

Problemas:
⚠️ [Descrição do problema] - [Severidade] - [Previsão de resolução]

Métricas:
- Taxa de Migração: [X registros/minuto]
- Taxa de Erro: [X.XX%]
- Carga do Sistema: [CPU/Memória/Disco]

Métricas de Sucesso

Métricas Técnicas

  • Taxa de Conclusão da Migração: Porcentagem de dados/serviços migrados com sucesso
  • Duração do Downtime: Total de indisponibilidade do sistema durante a migração
  • Pontuação de Consistência de Dados: Porcentagem de verificações de validação passando
  • Delta de Desempenho: Mudança de desempenho comparada com a linha de base
  • Taxa de Erro: Porcentagem de operações com falha durante a migração

Métricas de Negócio

  • Pontuação de Impacto no Cliente: Medida da degradação da experiência do cliente
  • Proteção de Receita: Porcentagem de receita mantida durante a migração
  • Tempo para Valor: Duração do início da migração até a realização do valor de negócio
  • Satisfação dos Stakeholders: Pontuações de feedback pós-migração

Métricas Operacionais

  • Aderência ao Plano: Porcentagem da migração executada conforme o plano
  • Tempo de Resolução de Problemas: Tempo médio para resolver problemas de migração
  • Eficiência da Equipe: Métricas de utilização de recursos e produtividade
  • Pontuação de Transferência de Conhecimento: Prontidão da equipe para operações pós-migração

Ferramentas e Tecnologias

Ferramentas de Planejamento de Migração

  • migration_planner.py: Geração automatizada de planos de migração
  • compatibility_checker.py: Análise de compatibilidade de esquema e API
  • rollback_generator.py: Geração abrangente de procedimentos de rollback

Ferramentas de Validação

  • Utilitários de comparação de banco de dados (esquema e dados)
  • Frameworks de teste de contratos de API
  • Ferramentas de benchmarking de desempenho
  • Pipelines de validação de qualidade de dados

Monitoramento e Alertas

  • Painéis de progresso de migração em tempo real
  • Sistemas de gatilho de rollback automatizado
  • Monitoramento de métricas de negócio
  • Sistemas de notificação a stakeholders

Melhores Práticas

Fase de Planejamento

  1. Comece com Avaliação de Riscos: Identifique todos os modos potenciais de falha antes de planejar
  2. Projete para Rollback: Cada passo de migração deve ter um procedimento de rollback testado
  3. Valide em Staging: Execute o processo completo de migração em ambiente semelhante ao de produção
  4. Planeje para Rollout Gradual: Use feature flags e roteamento de tráfego para migração controlada

Fase de Execução

  1. Monitore Continuamente: Rastreie métricas técnicas e de negócio ao longo do processo
  2. Comunique Proativamente: Mantenha todos os stakeholders informados sobre progresso e problemas
  3. Documente Tudo: Mantenha logs detalhados para análise pós-migração
  4. Seja Flexível: Esteja preparado para ajustar o cronograma com base no desempenho real

Fase de Validação

  1. Automatize a Validação: Use ferramentas automatizadas para verificações de consistência de dados e desempenho
  2. Testes de Lógica de Negócio: Valide processos de negócio críticos de ponta a ponta
  3. Testes de Carga: Verifique o desempenho do sistema sob carga de produção esperada
  4. Validação de Segurança: Garanta que os controles de segurança funcionem corretamente no novo ambiente

Integração com o Ciclo de Vida de Desenvolvimento

Integração CI/CD

# Exemplo de estágio de pipeline de migração
migration_validation:
  stage: test
  script:
    - python scripts/compatibility_checker.py --before=old_schema.json --after=new_schema.json
    - python scripts/migration_planner.py --config=migration_config.json --validate
  artifacts:
    reports:
      - compatibility_report.json
      - migration_plan.json

Infraestrutura como Código

# Exemplo de Terraform para infraestrutura blue-green
resource "aws_instance" "blue_environment" {
  count = var.migration_phase == "preparation" ? var.instance_count : 0
  # Configuração do ambiente azul
}

resource "aws_instance" "green_environment" {
  count = var.migration_phase == "execution" ? var.instance_count : 0
  # Configuração do ambiente verde
}

Esta skill Migration Architect fornece um framework abrangente para planejar, executar e validar migrações complexas de sistemas, minimizando o impacto nos negócios e os riscos técnicos. A combinação de ferramentas automatizadas, padrões comprovados e procedimentos detalhados permite que as organizações realizem com confiança até os projetos de migração mais complexos.

Skills enregistrées