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

Microservices na maior cervejeira do mundo

Microservices na maior cervejeira do mundo

Palestra apresentada pelo Fabiano Teichmann na 57º Python Floripa on-line https://www.youtube.com/watch?v=_78stm2WpYM

Python Floripa

March 27, 2021
Tweet

More Decks by Python Floripa

Other Decks in Technology

Transcript

  1. Sobre mim Tenho 39 anos, sou apaixonado por aviação. Trabalho

    com python há 5 anos com django, flask com aplicações monolíticas. E atualmente trabalhando com microservice e fast api.
  2. F-35 VS SUPER TUCANO • Como engenheiro eu gostaria de

    trabalhar no projeto do F-35 ou do Super tucano? • Como piloto qual é prefiro pilotar? • Como um país qual eu prefiro comprar? • Qual é o melhor?
  3. F-35 VS SUPER TUCANO Super tucano • Preço por unidade

    US$ 900 mil • Preço por hora de voo U$$ 1 mil F-35 • 20 anos de desenvolvimento U$$ 400 Bilhões • Preço por hora de voo U$$ 25 • Preço por unidade U$$ 98 milhões
  4. MICROSERVICE VS monolito Ao ouvir histórias sobre equipes que usam

    uma arquitetura de microsserviços , notei um padrão comum. 1. Quase todas as histórias de micros serviço de sucesso começaram com um monólito que ficou muito grande e foi quebrado 2. Quase todos os casos em que ouvi falar de um sistema que foi construído como um sistema de micros serviço desde o início, acabou apresentando sérios problemas. "Martin Fowler"
  5. Background • Desde 1996 a HBSIS desenvolveu o Promax um

    ERP monolito feito em Cobol. • Em 2019 a Ambev compra a HBSIS e em 2020 a HBSIS vira AmbevTech um hub tecnológico. • Com um sistema legado monolítico de milhões de linha de código a empresa investiu em estratégia de microservice.
  6. ICEBEV Desafios • Garantir atendimento rápido ao clientes, reduzindo processos

    burocráticos manuais. • Nosso objetivo é integrar diversos sistemas internos e de terceiros, garantindo a integração entre diversos sistemas. • Sendo que o comodato e manutenção um dos maiores detratores da Ambev com os PDV (bares, restaurante, supermercados etc).
  7. Microservice por que? • Micro service é um padrão arquitetural

    da Ambev. • Facilidade para adicionar novas funcionalidades refazer MS • Escalabilidade com aplicações assíncronas • Facilidade para adicionar novas funcionalidades refazer MS • Facilidade de trabalhar em equipe.
  8. Microservice desafios • Dificuldade de testar o fluxo completo localmente.

    • Curva de aprendizado para novos membro no time • Monitoramento e visibilidade de problemas • Dificuldade em realizar testes que testem o fluxo completo.
  9. Estratégias para trabalhar com Microservice • Coreografia em vez de

    orquestração com comunicação assíncrona. • Implementação event driven. • CI/CD com todos os deploys sendo realizado se todos os testes unitários forem aprovados. • Teste de integração.
  10. Event driven • Comunicação entre os componentes é modelada usando

    Streams de Eventos. • Nome dos eventos usamos a nomenclatura domínio e o verbo no passado dizendo que algo aconteceu ex: OrderReceived • Publisher e Subscribers não precisam se conhecer. • Event store, contanto a história do evento.
  11. Testes INTEGRADOS Robot framework • Por que testes unitários são

    importante, mas somente com testes integrados conseguimos ter certeza que está tudo ok • Testes manuais são demorado e cansativos e muitas vezes se esquece de testar um cenário específico. • Teste integrados são dedo duro quando um Micro Service quebra um contrato sendo muito fácil achar o erro.
  12. Testes INTEGRADOS Robot framework • Usa linguagem ubíqua para escrever

    cenários que queremos validar • É uma ferramenta que ajuda no BDD na validação dos cenários mapeados. • Possui diversas libs. • Fácil criar novas libs em python caso precise algo que não tenha uma lib que você precise. • Ele pode ser usado para teste de integração e testes de aceitação