Slide 1

Slide 1 text

Os desafios de múltiplas operações e funcionalidades em uma Arquitetura de Microsserviços

Slide 2

Slide 2 text

Quem sou eu? TDC Luram Archanjo Software Expert @ Mercado Livre MBA em Projetos Java Entusiasta em Java e Microsserviços

Slide 3

Slide 3 text

Agenda TDC Arquitetura Distribuída Desafio Feature Toggle 01. 02. 04. Testes A / B 05. Arquitetura Multi-Tenancy 03. Questionamentos 06.

Slide 4

Slide 4 text

Microsserviços

Slide 5

Slide 5 text

Microsserviços TDC Feature A Feature B Feature C Microsserviço Microsserviço Microsserviço

Slide 6

Slide 6 text

● Baixo acoplamento ● Organizado em torno de recursos de negócios ● Altamente sustentável e testável ● Escalar times / negócios ○ Serviços autônomos ○ Independentemente implantável ○ Time to Market ○ Lead Time TDC Microsserviços - Recapitulando

Slide 7

Slide 7 text

TDC Microsserviços - Onde estamos

Slide 8

Slide 8 text

Desafio

Slide 9

Slide 9 text

Desafio TDC ● Ao menos 15 "Clientes" espalhados pela América Latina ● Legislação fiscal diferente por cada País ○ Brazil ○ México ● Operação 24/7 ● Milhares de usuários conectados. ● Milhares de produtos ingressando e sendo vendidos por minuto.

Slide 10

Slide 10 text

Qual será a Arquitetura? Como tudo é suportado?

Slide 11

Slide 11 text

Calma, antes precisamos falar sobre Aplicações Multi-Tenancy

Slide 12

Slide 12 text

TDC Aplicações Multi-Tenancy Multi-tenancy é um estilo de arquitetura onde você tem uma aplicação centralizada que atende a vários clientes!

Slide 13

Slide 13 text

Quais as vantagens de adotar uma aplicação Multi-Tenancy?

Slide 14

Slide 14 text

TDC Multi-Tenancy - Vantagens ● Custo ● Manutenção ● Teste em produção ○ Cliente de teste ○ Captura de Tráfego e Replay ○ Shadow traffic

Slide 15

Slide 15 text

Quais as desvantagens de adotar uma aplicação Multi-Tenancy?

Slide 16

Slide 16 text

Multi-Tenancy - Desvantagens TDC

Slide 17

Slide 17 text

Multi-Tenancy - Desvantagens TDC Operação 01 Preciso de uma funcionalidade Z Operação 02 Operação 03 Pode haver necessidade de customização de código e que pode gerar complexidade no código e na implementação! Preciso de uma funcionalidade Y Preciso de uma funcionalidade X

Slide 18

Slide 18 text

Como solucionar este problema?

Slide 19

Slide 19 text

Feature Toggles (aka Feature Flags)

Slide 20

Slide 20 text

TDC Feature Toggle (aka Feature Flags) Feature Toggles (frequentemente também chamados de Feature Flags) são uma técnica poderosa, permitindo que as equipes modifiquem o comportamento do sistema sem alterar o código. Eles se enquadram em várias categorias de uso e é importante levar essa categorização em consideração ao implementar e gerenciar alternadores. Introduz complexidade. Podemos manter essa complexidade sob controle usando práticas de implementação de alternância inteligente e ferramentas apropriadas para gerenciar nossa configuração de alternância, mas também devemos ter como objetivo limitar o número de alternâncias em nosso sistema. - Pete Hodgson e Martin Fowler Referência: https://martinfowler.com/articles/feature-toggles.html

Slide 21

Slide 21 text

TDC Feature Toggle (aka Feature Flags) function verificacaoDeVendendor() { if (featureIsEnabled("feature.vendedor.nova-verificacao")) { return novaVerificacao(); } else { return antigaVerificacao(); } }

Slide 22

Slide 22 text

TDC Feature Toggle (aka Feature Flags)

Slide 23

Slide 23 text

TDC Feature Toggle (aka Feature Flags) function verificacaoDeVendendor() { return novaVerificacao(); }

Slide 24

Slide 24 text

TDC Feature Toggle (aka Feature Flags)

Slide 25

Slide 25 text

Quando eu tenho várias aplicações utilizando a mesma Feature Toggle?

Slide 26

Slide 26 text

TDC Feature Toggle (aka Feature Flags)

Slide 27

Slide 27 text

E se o serviço de Feature Toggle ficar indisponível?

Slide 28

Slide 28 text

TDC Feature Toggle (aka Feature Flags)

Slide 29

Slide 29 text

Microsserviço não deveria ser o máximo possível autônomo?

Slide 30

Slide 30 text

TDC Feature Toggle (aka Feature Flags)

Slide 31

Slide 31 text

TDC Feature Toggle (aka Feature Flags)

Slide 32

Slide 32 text

Estamos bem mais resilientes! Como desfrutar disso?

Slide 33

Slide 33 text

Testes A / B

Slide 34

Slide 34 text

TDC Feature Toggle (aka Feature Flags) Testes A / B são experimentos realizados com o objetivo de comparar variáveis em estratégias. Por meio deles é possível definir qual variável gera os melhores resultados, otimizando ainda mais o proceso, etc. Exemplo O gerente de produto quer testar um novo fluxo de negócio e medir seu ganho operativo, com foco em redução de custo e produtividade. Para isso é necessário implementar em uma operação e acompanhar durante 1 mês.

Slide 35

Slide 35 text

Conclusão! Evolua sua Arquitetura!

Slide 36

Slide 36 text

Muito obrigado! Questionamentos? TDC Luram Archanjo /luram-archanjo

Slide 37

Slide 37 text

Separador

Slide 38

Slide 38 text

Separador

Slide 39

Slide 39 text

TDC Título Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat.

Slide 40

Slide 40 text

TDC Título Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat.

Slide 41

Slide 41 text

Título Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet TDC

Slide 42

Slide 42 text

Título Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat. TDC

Slide 43

Slide 43 text

Título Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat. TDC

Slide 44

Slide 44 text

Título Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet TDC

Slide 45

Slide 45 text

“ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. ”

Slide 46

Slide 46 text

“ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. ”

Slide 47

Slide 47 text

ELEMENTOS

Slide 48

Slide 48 text

No content

Slide 49

Slide 49 text

No content