Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The challenges of multiple functions and charac...

The challenges of multiple functions and characteristics in a Microservices Architecture

Over the years, the microservices architecture has been widely adopted, as it provides numerous advantages such as: technological heterogeneity, scalability, decoupling, etc.

In this sense, microservices architecture is widely used to scale business, so in this lecture we will see the real problems of supporting various clients and features in a Microservices architecture, and how the use of feature flags/toggles can help us in phased deliveries.

Luram Archanjo

December 01, 2021
Tweet

More Decks by Luram Archanjo

Other Decks in Technology

Transcript

  1. Quem sou eu? TDC Luram Archanjo Software Expert @ Mercado

    Livre MBA em Projetos Java Entusiasta em Java e Microsserviços
  2. Agenda TDC Arquitetura Distribuída Desafio Feature Toggle 01. 02. 04.

    Testes A / B 05. Arquitetura Multi-Tenancy 03. Questionamentos 06.
  3. • 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
  4. 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.
  5. TDC Aplicações Multi-Tenancy Multi-tenancy é um estilo de arquitetura onde

    você tem uma aplicação centralizada que atende a vários clientes!
  6. TDC Multi-Tenancy - Vantagens • Custo • Manutenção • Teste

    em produção ◦ Cliente de teste ◦ Captura de Tráfego e Replay ◦ Shadow traffic
  7. 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
  8. 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
  9. TDC Feature Toggle (aka Feature Flags) function verificacaoDeVendendor() { if

    (featureIsEnabled("feature.vendedor.nova-verificacao")) { return novaVerificacao(); } else { return antigaVerificacao(); } }
  10. 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.
  11. 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.
  12. 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.
  13. 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
  14. 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
  15. 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
  16. 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
  17. “ 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. ”
  18. “ 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. ”