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

Microsserviçoes e mensageria distribída

Microsserviçoes e mensageria distribída

Apresentação na Latinoware 2019, dentro do GDG Day, explicando conceito de microsserviços e mensageria distribuída utilizando Kafka e quais os desafios encontrados na implementação em campo.

Frederick Moschkowich

November 28, 2019
Tweet

More Decks by Frederick Moschkowich

Other Decks in Programming

Transcript

  1. Quem sou eu Especialista em Arquitetura de Software Distribuído e

    Microsserviços pela PUC Minas, graduado em Análise e Desenvolvimento de Sistemas pelo IFPR e graduação em Jornalismo pelo Centro Universitário da Cidade. Atua como analista de sistemas e desenvolvedor de aplicações para o sistema elétrico de potência desde 2017 no Laboratório de Automação e Simulação de Sistemas Elétricos (LASSE) no Parque Tecnológico Itaipu (PTI) . Atuo na área de TI desde 1991
  2. Evolução da Indústria 1780 1870 1969 2000+ A indústria evoluiu

    e muito nos últimos anos, trazendo cada vez mais informação e responsabilidade para aquisitar, armazenar, transformar e analisar os dados DO CARVÃO ATÉ HOJE
  3. Indústria 4.0 Manufatura Aditiva ou Impressão 3D é a adição

    de material para fabricar objetos, formados por várias peças, constituindo uma montagem. Por causa do “barateamento” do material, se tornando cada vez mais comum 3D Fonte: Indústria 4.0 (http://www.industria40.gov.br/)
  4. Indústria 4.0 IA É um segmento da computação que busca

    simular a capacidade humana de raciocinar, tomar decisões, resolver problemas, dotando softwares e robôs de uma capacidade de automatizar vários processos. Fonte: Indústria 4.0 (http://www.industria40.gov.br/)
  5. Indústria 4.0 SYNBIO Também conhecida como Biologia Sintética. É a

    convergência de novos desenvolvimentos tecnológicos nas áreas de química, biologia, ciência da computação e engenharia, permitindo o projeto e construção de novas partes biológicas tais como enzimas, células, circuitos genéticos e redesenho de sistemas biológicos existentes. Fonte: Indústria 4.0 (http://www.industria40.gov.br/)
  6. Indústria 4.0 Fonte: Indústria 4.0 (http://www.industria40.gov.br/) CPS Sistemas Ciber-Físicos sintetizam

    a fusão entre o mundo físico e digital. Dentro desse conceito, todo o objeto físico (seja uma máquina ou um linha de produção) e os processos físicos que ocorrem, em função desse objeto, são digitalizados. Ou seja, todos os objetos e processos na fábrica tem um irmão gêmeo digital.
  7. Indústria 4.0 Fonte: Indústria 4.0 (http://www.industria40.gov.br/) IoT O termo mais

    conhecido da Indústria 4.0. Internet das Coisas representa a possibilidade de que objetos físicos estejam conectados à internet podendo assim executar de forma coordenada uma determinada ação.
  8. Números da Indústria 4.0 Fonte: Indústria 4.0 (http://www.industria40.gov.br/) R$ 73

    BI 10% PIB 69º Redução de custos estimada O quanto a indústria representa hoje Posição do Brasil no Índice Global de Inovação
  9. Aquisição de Dados • Realizada através de um equipamento de

    aquisição de dados, conectado a sensores integrados nos equipamentos. • Diversos tipos de protocolo • Diversas linguagens de programação • Grande quantidade de dados
  10. Volume de Dados • Disponibilidade • Integridade • Confidencialidade •

    Autenticidade • Ordem de chegada • Garantia de entrega • Aplicações legadas
  11. Arquitetura de Sistemas MONOLITO Ùnica instância, único banco de dados

    SOA Possui baixa granularidade. Quebrado em alguns serviços, mas ainda única instância MICROSSERVIÇOS Alta granularidade. Escalável. Serviços e bancos de dados independentes
  12. SOA

  13. Mudança de Cultura SISTEMA MONOLÍTICO AQUISIÇÃO DE DADOS CÁLCULOS CONFIGURAÇÕES

    BD MONOLÍTICO AQUISIÇÃO DE DADOS CÁLCULOS CONFIGURAÇÕES CASSANDRA INFLUXDB MONGO DB MICROSERVIÇOS
  14. 12 Factors I. Base de Código Uma base de código

    com rastreamento utilizando controle de revisão, muitos deploys II. Dependências Declare e isole as dependências III. Configurações Armazene as configurações no ambiente IV. Serviços de Apoio Trate os serviços de apoio, como recursos ligados V. Build, release, run Separe estritamente os builds e execute em estágios VI. Processos Execute a aplicação como um ou mais processos que não armazenam estado
  15. 12 Factors VII. Vínculo de porta Exporte serviços por ligação

    de porta VIII. Concorrência Dimensione por um modelo de processo IX. Descartabilidade Maximizar a robustez com inicialização e desligamento rápido X. Dev/prod semelhantes Mantenha o desenvolvimento, teste, produção o mais semelhante possível XI. Logs Trate logs como fluxo de eventos XII. Processos de Admin Executar tarefas de administração/gerenc iamento como processos pontuais
  16. Docker • Tendência de mercado usado por Uber, General Eletric,

    Ebay, Spotify, PayPal, entre outras; • Economia de recursos; • Maior disponibilidade e confiabilidade; • Orquestração e balance tolerante a falhas;
  17. Desafios Microsserviços • Espalhamento da informação entre os serviços. •

    Apesar de independentes, eles compõem um único sistema. • Suporte saber o que acontece de forma transparente. • Clientes também querem saber o que acontece, se foram removidos, se tem algum problema na carga, mapeamento, remoção, etc.
  18. Apache Kafka • Garantia de entrega de mensagem • Garantia

    de ordem de entrega da mensagem • Tolerante a falhas • Distribuído • Load balance automático