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

Microsserviços: Quem são? O que fazem? Como vivem? O que comem?

Microsserviços: Quem são? O que fazem? Como vivem? O que comem?

Ao longo dos anos a arquitetura de microsserviços vem sendo amplamente adotada, por prover inúmeras vantagens tais como: heterogeneidade tecnológica, escalabilidade e desacoplamento. Nesse sentido a arquitetura de microservices atendem as definições de uma arquitetura evolutiva, ou seja, uma arquitetura projetada para mudanças incrementais.

Portanto, nesta palestra, irei discorrer suas características e desvantagens ao adotá-la.

Luram Archanjo

October 08, 2019
Tweet

More Decks by Luram Archanjo

Other Decks in Technology

Transcript

  1. Quem sou eu? • Sênior Software Engineer na Sensedia •

    MBA em Aplicações Java - IGTI • Análise e Desenvolvimento de Sistemas - FATEC • Palestrante ◦ The Developer’s Conference (TDC) ◦ Google Developers Group (GDG) ◦ SouJava ◦ DevPira
  2. Agenda • Arquitetura de Software • Arquitetura Monolítica ◦ Vantagens

    ◦ Desvantagens • Arquitetura de Microservices ◦ Vantagens ◦ Desvantagens • Dúvidas
  3. Arquitetura de Software O conceito arquitetura de software surgiu devido

    ao aumento da complexidade em grandes sistemas. Portanto, David Garlan e Dewayne Perry (95) definiram arquitetura de software como: “a estrutura dos componentes de um programa/sistema, seus inter-relacionamentos e princípios e diretrizes guiando o projeto e evolução ao longo do tempo”. GARLAN, David; PERRY, Dewayne. Introduction to the Special Issue on Software Architecture, IEEE Transactions on Software Engineering, April 1995, pp. 269-274.
  4. Arquitetura Monolítica O conceito arquitetura monolítica surgiu devido ao desenvolvimento

    de softwares com uma única unidade. Tais softwares geralmente são construídos em três camadas principais: camada de interface gráfica que consiste geralmente em páginas HTML, um banco de dados para armazenamento de informações e uma aplicação do lado servidor responsável por atender as requisições, executar lógica de negócio e recuperar, atualizar e inserir dados. Está aplicação é monolítica, pois qualquer alteração no software deve-se implementar uma nova versão, independente da camada modificada.
  5. Arquitetura Microsserviços Segundo Fowler (2014), o estilo arquitetural de micro

    serviços pode ser definido como uma abordagem ao desenvolvimento de uma aplicação como um conjunto de pequenos serviços autônomos, cada um rodando em seu processo e comunicando-se através de mecanismos leves como uma API oferecida via HTTP. Estes serviços são desenvolvidos com o objetivo de atender uma determinada função. FOWLER, Martin; LEWIS, James. Microservices, 2014. Disponível em: <https://martinfowler.com/articles/microservices.html>: Acesso em: 16 jan. 2018.
  6. Escalabilidade Microservice Microservice Microservice Microservice Microservice Microservice Microservice Microservice Microservice

    Microservice Microservice Microservice Microservice Microservice Microservice Microservice Microservice Microservice Microservice
  7. Sumário 2º Lugar 1º Lugar 3º Lugar Escalabilidade • Custo

    • Alta disponibilidade Manutenabilidade • Correção • Produtividade • Evolução Heterogeneidade • Caso de uso • Time to market