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
Slide 1 of 34
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34

About This Presentation

Slides da palestra sobre BFF no TDC São Paulo


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 ‹#›

Obrigado! ‹#›