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
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"
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.
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).
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.
• Curva de aprendizado para novos membro no time • Monitoramento e visibilidade de problemas • Dificuldade em realizar testes que testem o fluxo completo.
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.
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.
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.
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