| 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
-
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
-
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
-
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
-
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
-
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
-
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
- Interceptar Requisições: Roteie tráfego por meio de proxy/gateway
- Substituição Gradual: Implemente a nova funcionalidade do serviço incrementalmente
- Aposentadoria do Legado: Remova componentes antigos do serviço à medida que os novos se provam estáveis
- 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
- Execução Dupla: Execute serviços antigos e novos simultaneamente
- Tráfego Sombra: Roteie tráfego de produção para ambos os sistemas
- Comparação de Resultados: Compare saídas para validar a correção
- Cutover Gradual: Mude a porcentagem de tráfego com base na confiança
Padrão de Implantação Canário
- Rollout Limitado: Implante o novo serviço para uma pequena porcentagem de usuários
- Monitoramento: Rastreie métricas-chave (latência, erros, KPIs de negócio)
- Aumento Gradual: Aumente a porcentagem de tráfego conforme a confiança cresce
- Rollout Completo: Complete a migração uma vez que a validação passe
Migrações de Infraestrutura
Migração Cloud-to-Cloud
-
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
-
Migração Piloto
- Migre cargas de trabalho não críticas primeiro
- Valide modelos de desempenho e custo
- Refine procedimentos de migração
-
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
-
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
-
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
-
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
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'
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
-
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
-
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
-
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
-
Detecção de Delta
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
);
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
Durante a Migração
Pós-Migração
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
- Comece com Avaliação de Riscos: Identifique todos os modos potenciais de falha antes de planejar
- Projete para Rollback: Cada passo de migração deve ter um procedimento de rollback testado
- Valide em Staging: Execute o processo completo de migração em ambiente semelhante ao de produção
- Planeje para Rollout Gradual: Use feature flags e roteamento de tráfego para migração controlada
Fase de Execução
- Monitore Continuamente: Rastreie métricas técnicas e de negócio ao longo do processo
- Comunique Proativamente: Mantenha todos os stakeholders informados sobre progresso e problemas
- Documente Tudo: Mantenha logs detalhados para análise pós-migração
- Seja Flexível: Esteja preparado para ajustar o cronograma com base no desempenho real
Fase de Validação
- Automatize a Validação: Use ferramentas automatizadas para verificações de consistência de dados e desempenho
- Testes de Lógica de Negócio: Valide processos de negócio críticos de ponta a ponta
- Testes de Carga: Verifique o desempenho do sistema sob carga de produção esperada
- 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
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.