Please enable JavaScript.
Coggle requires JavaScript to display documents.
Arquitetura de Microsserviços - Coggle Diagram
Arquitetura de Microsserviços
SOA
Arquitetura orientada a serviços, define uma maneira de tornar os componentes de software reutilizáveis por meio de interfaces de serviço.
Benefícios
Maior agilidade dos negócios
Capacidade de potencializar a funcionalidade legada em novos mercados
Melhor colaboração entre negócios e TI
Vantagens
Flexibilidade: A arquitetura de microsserviços SOA permite a utilização de diferentes tecnologias e linguagens de programação para cada serviço.
Escalabilidade: É possível escalar apenas os serviços que precisam, reduzindo custos e melhorando a eficiência.
Manutenção: A atualização ou substituição de um serviço não afeta os outros serviços.
Reutilização: Os microsserviços podem ser reutilizados em diferentes aplicações e contextos.
Desvantagens
Complexidade: A arquitetura de microsserviços SOA é mais complexa do que a arquitetura monolítica, pois envolve a comunicação entre serviços.
Custo: O desenvolvimento e a manutenção de uma arquitetura de microsserviços SOA podem ser mais caros do que a arquitetura monolítica.
Hardware
• Servidores físicos
• Bancos de dados
• Sistema operacional
• Monitoramento em nível de servidor
• Logging em nível de servidor
Desafios Organizacionais
Mudança Cultural
Comunicação
Gerenciamento de Conflitos
Definição de Responsabilidades
Gerenciamento de Dependências
Segurança
Monitoramento e Log
Lei de Conway Reversa
A idéia por trás da Lei de Conway (em homenagem aoprogramador Melvin Conway - 1968) é: a arquitetura deum sistema será determinada pelas estruturas de comunicação e organizacionais da empresa.
Implicações
Arquitetura influencia a estrutura organizacional
Estrutura organizacional influencia a arquitetura
Necessidade de alinhamento
Arquitetura Monolítica
estilo de arquitetura de software que consiste em um único bloco de código que contém todas as funcionalidades do sistema. É uma abordagem tradicional e simples de desenvolvimento de software, onde todas as camadas do sistema, incluindo a apresentação, aplicação e dados, são integradas em um único executável.
Vantagens
Desenvolvimento rápido
Fácil de manter
Baixo custo
Desvantagens
Dificuldade de escalabilidade
Dificuldade de manutenção
Limitações de flexibilidade