Please enable JavaScript.
Coggle requires JavaScript to display documents.
WEB 3 - Arquitetura de software - Coggle Diagram
WEB 3
- Arquitetura de software
Strangler Fig Application
Reescrever um sistema legado sem interromper o seu funcionamento.
Cria uma nova versão do sistema paralelamente à versão antiga.
Migra gradualmente as funcionalidades da versão antiga para a nova.
Funciona assim...
Passo 1: Criar uma nova versão do sistema. Passo
2: Migrar uma funcionalidade da versão antiga para a nova. Passo
3: Desconectar a funcionalidade antiga da versão antiga. Passo
4: Repetir os passos 2 e 3 até que todas as funcionalidades tenham sido migradas.
vantagens
Reduz o risco de interrupção do sistema. Permite adaptar o sistema às novas necessidades.
Permite manter o sistema legado em funcionamento até que a nova versão esteja pronta.
Desvantagens
Pode ser complexo de implementar.
Requer a manutenção de duas versões do sistema funcionando simultaneamente.
cenários de aplicação
Sistemas legados com código complexo ou desatualizado.
Sistemas legados que precisam ser adaptados às novas tecnologias.
Sistemas legados que precisam ser reescritos, mas não há recursos disponíveis para interromper o seu funcionamento.
Branch by Abstraction
Funciona assim...
Gradualmente substitui o fornecedor defeituoso até que todo o código do cliente use o novo fornecedor. Uma vez que o fornecedor defeituoso não é mais necessário, ele pode ser excluído.
Funcionamento
Passo 1: Criar uma nova camada de abstração que fornece uma interface compatível com o fornecedor defeituoso.
Passo 2: Migrar o código do cliente para usar a nova camada de abstração.
Passo 3: Atualizar o fornecedor defeituoso para implementar a nova interface.
Passo 4: Repetir os passos 2 e 3 até que todo o código do cliente use o novo fornecedor.
vantagens
Permite realizar grandes mudanças em um sistema de software sem interromper o seu funcionamento.
Permite o lançamento do sistema regularmente enquanto a mudança ainda está em andamento.
Facilita a migração para o novo fornecedor.
desvantagens
Pode ser complexo de implementar.
Requer a manutenção de duas versões do fornecedor funcionando simultaneamente.
Cenários
Sistemas com código complexo ou desatualizado.
Sistemas que precisam ser adaptados às novas tecnologias.
Sistemas que precisam ser reescritos, mas não há recursos disponíveis para interromper o seu funcionamento.
Parallel Run Pattern
Funciona assim...
Uma técnica para realizar uma migração de sistemas sem interromper o funcionamento do sistema em produção.
Duas versões do sistema são executadas em paralelo, uma versão antiga e uma versão nova.
Funciona assim...
Passo 1: Preparar as duas versões do sistema.
Passo 2: Iniciar a execução das duas versões em paralelo.
Passo 3: Migrar os dados e funcionalidades da versão antiga para a versão nova.
Passo 4: Desligar a versão antiga quando a migração estiver concluída.
Vantagens
Permite realizar a migração sem interromper o funcionamento do sistema.
Permite a migração de sistemas complexos ou grandes.
Permite realizar a migração de forma incremental.
Desvantagens
Pode ser complexo de implementar.
Requer a manutenção de duas versões do sistema funcionando simultaneamente.
Cold Turkey
Uma técnica para realizar uma migração de sistemas desligando a versão antiga do sistema e substituindo-a pela versão nova.
Funciona assim...
Passo 1: Preparar a versão nova do sistema.
Passo 2: Desligar a versão antiga do sistema.
Passo 3: Colocar a versão nova do sistema em funcionamento.
Vantagens
É a técnica mais simples e direta para realizar uma migração.
É a técnica mais rápida para realizar uma migração.
É a técnica mais eficaz para evitar a interrupção do sistema.
Desvantagens
Pode ser arriscado, pois a versão nova do sistema ainda pode conter erros ou inconsistências.
Pode ser disruptivo para os usuários, pois eles podem perder acesso aos dados ou funcionalidades da versão antiga do sistema.