Como BFF (backend for frontend) pode ser seu melhor amigo para lidar com diferentes frontends
DeividHahnFrao
322 views
34 slides
Aug 01, 2018
Slide 1 of 34
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
About This Presentation
Slides da palestra sobre BFF no TDC São Paulo
Size: 5.32 MB
Language: pt
Added: Aug 01, 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 ‹#›
Deivid Desenvolvedor Web @deividhf ‹#›
Micro serviços Vamos falar um pouco sobre essa buzzword... 1 .
Micro serviços ‹#›
‹#› 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 ‹#›
Definindo serviços com DDD Orientado ao domínio Contextos delimitados ‹#› Conta Corrente Pessoa
‹#›
Dificuldades Algumas dificuldades na adoção desta arquitetura... 2 .
Design Dificuldade de manter a coesão do domínio do serviço Necessidades UI ‹#›
Rede Comunicação sujeita a falhas Chatty ‹#›
Dados Contratos dos serviços não levam em consideração o Front End ‹#›
Multi UI Infinidade de Front ends consumindo os serviços ‹#›
E o BFF…. 3 .
BFF Um componente responsável por conectar as necessidades específicas de Front end com os serviços. ‹#›
‹#›
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. ‹#›
Quantos BFFs? Adequar à distribuição dos times BFFs por experiência ‹#›
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 ‹#›
Domínios Coesos Não precisam se adaptar às necessidades de front ends ‹#›
Chamadas Latência Rede ‹#›
Teste A/B ‹#›
Controle versão Migração versões de serviços ‹#›
Diferentes protocolos Permite que a comunicação com a UI seja desacoplada do backend ‹#›
Desv antagens Alguns problemas que a adoção do pattern nos traz 5 .
Mais um componente... ‹#›
Ponto único de falha ‹#›
Conclusão Aprendizados sobre o uso do pattern 6 .
Mantivemos sistemas coesos Graças ao BFF ‹#›
Tecnologias Devem ser simples Sem verbosidade ‹#›
Habilidades Complexidades do back end levados ao front ‹#›