Please enable JavaScript.
Coggle requires JavaScript to display documents.
Aula 07 Arquitetura de Microsserviços - Coggle Diagram
Aula 07
Arquitetura de Microsserviços
endpoint
update_customer_information
atualizar informações
get_customer_information
obter informações
delete_customer_information
apagar inforamções
Padronização comum, rest
Ecossistemas
Definições
Hardware
• Servidores físicos
• Bancos de dados
• Sistema operacional
• Monitoramento em nível de servidor
• Logging em nível de servidor
comunicação
Onde a comunicação entre os serviços é tratada
Protocolo, um microsserviço, envia pela rede alguns dados em formato padronizado para outro serviço ou um broker que garante que os dados sejam enviados para o endpoint da api de outro microsserviço.
HTTP+rest é o padrao, desvantagem de ser sincrono, bloqueante
troca de mensagens é assincrona, mas é complicada.
plataforma de aplicação
Cama repleta de ferramentas e serviços centralizados e validos para o ecossistema.
Ferramenta de teste, empacotamento, buid e liberação.
Pipeline de deployment
Logging em nivel de microsserviços
Monitoramento em nivel de microsserviços
plataforma de aplicação de microsserviços
Onde vivem os microsserviços e configurações
São separados do hardware, da implantação, da descoberta, do balancemento de carga e da comunicação, so se aproximam das configuações especificas.
Desafios organizacionais
Contrapartidas:
1 - mudança na estrutura organizacional que tende a um isolamento e comunicação deficiente.
2 - aumento de dispersão tecnica
3 - Maior chance de falha
4 - Competição por recursos de engenharia e infraestrutura.
Lei de Conway reversa
A estrutura organizacional de uma empresa é determinada pela arquitetura de seu produto.
Exige: A empresa deve ser composta por um numero grande de pequenas equipes.
Programadores fazer tarefas muito bem, mas estao isolados do resto do ecossistema.
equipes isoladas devem estar proximas com outros times
Equipes de plataforma de aplicação devem contruir serviços e ferramentas de plataforma para todas as equipes de microsserviços usarem.
Dispersao tecnica
Cada profissional trabalhando com diferentes ferramentas.
maior capacidade de falha
Componentes complexos tendem a ter falhas em seus micosserviços, o que pode ser mitigado, previnido e cuidado.
Competição por recusos
Competição entre equipes por recusos pode ser inevitavel.
O microsserviço promete maior escalabilidade e eficiencia, mas isso gera um custo da parte do sistema como um todo.
Composta por
Front end - api com endpoints
Codigo backend
Armazenamento de dado
Monolito
A complexidade é mais baixa.
Mas como tudo é desenvolvido no mesmo codigo, um problema pode afetar todo o sistema.
Prazo:
É muito mais rapido do que o desenvolvimento do microsserviço
Atualizações:
A atualização exige que o sistema seja reiniciado totalmente.
Complexidade:
Por ser incremental ao longo do tempo aumenta o custo de manutenção.
Custo
implantação simples, mas manutenção cresce com o tempo.
Escalabilidade:
é dificil e necessita da duplicação da infraestrutura na nova instância. E quanto mais cresce mais cara fica a escalabilidade.
Arquitetura Monolítica é um sistema único, não dividido, que roda em um único processo, uma aplicação de software em que diferentes componentes estão ligados a um único programa dentro de uma única plataforma
Microserviços
Atualizações:
Dado o baixo acoplamento são mais faceis para adicionar atualizações e funcionalidades
Os problemas são pontuais e permitem o uso de funcionalidades nao afetadas.
Desenvolvimento do projeto
Pode exigir muito tempo, e nao é recomendado para teste de conceito.
Complexidade
é uniforme e mantem assim.
Escalabilidade
Escala independente de servidores, maquinas virtuais e containers. Crescimento é gerido pela necessidade.
Custo
Implantação cara, manutenção baixa.:
Tres componentes:
Elemento Front end - ApI de Endpoints estaticos
Código back-ed
Maneira de armazenar dados
Aplicações de uso:
Netflix, amazon, twiiter, paypal, spotify