Apresentação sobre como funciona e as principais características do pattern de BFF usado numa arquitetura de micro serviços.
Size: 1.28 MB
Language: pt
Added: Jul 20, 2018
Slides: 34 pages
Slide Content
Como BFF (Backend for
Frontend) pode ser seu
melhor amigo para lidar
com diferentes frontends
Cristiano
Arquiteto Software
@crisaltmann
2
Deivid
Desenvolvedor Web
@deividhf
3
Micro serviços
Vamos falar um pouco sobre essa
buzzword...
1.
Micro serviços
5
6
Deploy independente
Baixo acoplamento
Escalabilidade
Horizontal
Escolha tecnologias
Tempo de negócio
Times independentes
Evolução
tecnológica
Resiliente
SERVIÇOS
Unidades interoperáveis que podem
facilmente ser reutilizados e
compartilhados entre aplicações e
empresas
7
Definindo serviços
com DDD
▪Orientado ao domínio
▪Contextos delimitados
8
Conta
Corrente
Pessoa
9
Dificuldades
Algumas dificuldades na adoção desta
arquitetura...
2.
Design
▪Dificuldade de manter a
coesão do domínio do
serviço
▪Necessidades UI
11
Rede
▪Comunicação sujeita a
falhas
▪Chatty
12
Dados
▪Contratos dos serviços
não levam em
consideração o Front
End
13
Multi UI
▪Infinidade de Front ends
consumindo os serviços
14
E o BFF….
3.
BFF
Um componente responsável por
conectar as necessidades específicas de
Front end com os serviços.
16
17
Características
Agregação
Agregar dados de
diferentes servicos.
Adaptação
Adaptar o contrato do
serviço à necessidade do
front end.
Sem regras de negócios
As regras de negócio
devem estar nos serviços.
18
Quantos
BFFs?
▪Adequar à distribuição
dos times
▪BFFs por experiência
19
Vantagens
Algumas vantagens do uso do BFF
4.
Autonomia
do front end
▪Mock dos dados no BFF
▪Não depender do back
end para testar
integração
21
Domínios
▪Coesos
▪Não precisam se adaptar
às necessidades de front
ends
22
Chamadas
▪Latência
▪Rede
23
Teste A/B
24
Controle
versão
▪Migração versões de
serviços
25
Diferentes
protocolos
▪Permite que a
comunicação com a UI
seja desacoplada do
backend
26
Desvantagens
Alguns problemas que a adoção do
pattern nos traz
5.
Mais um
componente...
28
Ponto único de
falha
29
Conclusão
Aprendizados sobre o uso do pattern
6.
Mantivemos
sistemas
coesos
▪Graças ao BFF
31
Tecnologias
▪Devem ser simples
▪Sem verbosidade
32
Habilidades
▪Complexidades do back
end levados ao front
33