SlideShare uma empresa Scribd logo
1 de 17
Microservices
Hello
!I am Leonardo Freua I am Filipe Nunes
Microservice Architecture
Aplicações monolíticas
James Lewis Martin Fowler
Principais pessoas
Aplicações com microsserviços
Características de uma arquitetura em microsserviços
Componentização via
serviços
Componentes são coisas difíceis de se definirem. Porém,
neste contexto, componentes assumem o conceito de uma
unidade de software que é substituída ou atualizada de
forma independente.
Organizado através das
áreas do negócio
Qualquer organização que desenha um sistema (definido de
forma ampla) irá produzir um design cuja estrutura é uma
cópia da estrutura de comunicação da própria organização.
— Melvyn Conway, 1967
Características de um arquitetura em microsserviços
Características de uma arquitetura em microsserviços
Produtos e não projetos
Vemos que a maior parte dos esforços para o
desenvolvimento de uma aplicação usa um modelo de
projeto: onde o dever é entregar algum software que é por
si só considerado o fim.
Endpoints inteligentes e
fluxos de comunicação
simples
Aplicações construídas a partir de microsserviços devem ser
tão desacopladas e coesas quanto possível – elas devem
possuir seu próprio domínio lógico.
Características de uma arquitetura em microsserviços
Governança
descentralizada
Descentralizando um serviço monolítico podemos utilizar
diversos componentes para construir cada um deles.
Equipes de microsserviços, preferem uma abordagem
diferente, em vez de utilizar,padrões, eles preferem a ideia
de produzir ferramentas úteis, que outros possam utilizar
para resolver problemas semelhantes.
SOA - O estilo microsserviços e muito semelhante, no
entanto, SOA significa muitas coisa, e na maioria das
vezes o foco é ESB usado para aplicações monolíticas.
Administração
descentralizada de dados
Além de descentralizar decisões sobre modelos conceituais, os
microservices também descentralizar as decisões de
armazenamento de dados.
Microservices preferem deixar cada serviço gerenciar seu
próprio banco de dados, quer instâncias diferentes da mesma
tecnologia de banco de dados, ou totalmente diferentes
sistemas de banco de dados, uma abordagem chamada
Polyglot Persistence.
Características de uma arquitetura em microsserviços
Características de uma arquitetura em microsserviços
Automação da
infraestrutura
Muitos dos produtos ou sistemas que estão sendo
construídos com microservices estão sendo construídos
por equipes com vasta experiência de Continuous Delivery
e seu precursor, Continuous Integration.
Projetado para a falha
Qualquer chamada de serviço pode falhar devido à
indisponibilidade do fornecedor, o cliente tem que responder
a isso tão graciosamente quanto possível. Esta é uma
desvantagem em comparação com um design monolítico,
uma vez que introduz complexidade adicional para lidar com
ele.
O Simian Army da Netflix induz falhas de serviços e até
datacenters durante a jornada de trabalho para testar tanto a
resiliência da aplicação quanto a monitoração.
Características de uma arquitetura em microsserviços
Design evolutivo
Sempre que você tenta quebrar um sistema de software em componentes, você é confrontado com a decisão de como dividir
as peças - quais são os princípios sobre os quais decidimos cortar nossa aplicação? A propriedade chave de um componente
é a noção de substituição independente e capacidade de atualização, o que implica que olhemos para pontos onde podemos
imaginar reescrever um componente sem afetar seus colaboradores. Na verdade, muitos grupos de microsserviços levam
isso mais longe, explicitamente esperando que muitos serviços sejam desmantelados ao invés de evoluídos a longo prazo.
O site The Guardian é um bom exemplo de um aplicativo que foi projetado e construído como um monolito, mas tem evoluído
em uma direção microservice. O monolito ainda é o núcleo do site, mas eles preferem adicionar novos recursos construindo
microservices que usam a API do monolito. Essa abordagem é particularmente útil para recursos que são inerentemente
temporários, como páginas especializadas para lidar com um evento esportivo. Essa parte do site pode ser rapidamente
montada usando linguagens de desenvolvimento rápido, e removido assim que o evento acabar
✖Aprovisionamento rápido;
✖Monitoramento básico;
✖Implementação rápida de
aplicativos.
Pré-requisitos
Cases
Obrigado!
Alguma pergunta?

Mais conteúdo relacionado

Mais procurados

Aplicação da arquitetura de micro serviços em softwares corporativos
Aplicação da arquitetura de micro serviços em softwares corporativosAplicação da arquitetura de micro serviços em softwares corporativos
Aplicação da arquitetura de micro serviços em softwares corporativosEmmanuel Neri
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devopsDiego Pacheco
 
Integrating Microservices
Integrating MicroservicesIntegrating Microservices
Integrating MicroservicesThiago Ramos
 
Microservices com ASP.NET 5
Microservices com ASP.NET 5Microservices com ASP.NET 5
Microservices com ASP.NET 5Waldyr Felix
 
Novidades no Windows Mobile Line of Business Solution Accelerator 2008
Novidades no Windows Mobile Line of Business Solution Accelerator 2008Novidades no Windows Mobile Line of Business Solution Accelerator 2008
Novidades no Windows Mobile Line of Business Solution Accelerator 2008Pedro Lamas
 
Overview arquitetura
Overview arquiteturaOverview arquitetura
Overview arquiteturaAgni Campos
 
Arquitetura e Integração de sistemas
Arquitetura e Integração de sistemasArquitetura e Integração de sistemas
Arquitetura e Integração de sistemasJether Rodrigues
 
Service Oriented Front-End Architecture
Service Oriented Front-End ArchitectureService Oriented Front-End Architecture
Service Oriented Front-End ArchitectureCristiano Gomes
 
Blue Systems Enterprise CMS Versão 5.0
Blue Systems Enterprise CMS Versão 5.0Blue Systems Enterprise CMS Versão 5.0
Blue Systems Enterprise CMS Versão 5.0Andre Jaccon
 
Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro ServiçosFernando Ike
 
Arquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - ModelosArquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - ModelosIsrael Messias
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETRenato Groff
 
Netshoes - API Gateway
Netshoes - API GatewayNetshoes - API Gateway
Netshoes - API GatewayMarcos Barbero
 
Padrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMPadrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMAricelio Souza
 

Mais procurados (20)

Aplicação da arquitetura de micro serviços em softwares corporativos
Aplicação da arquitetura de micro serviços em softwares corporativosAplicação da arquitetura de micro serviços em softwares corporativos
Aplicação da arquitetura de micro serviços em softwares corporativos
 
Integração e APIs com Mulesoft
Integração e APIs com MulesoftIntegração e APIs com Mulesoft
Integração e APIs com Mulesoft
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devops
 
Integrating Microservices
Integrating MicroservicesIntegrating Microservices
Integrating Microservices
 
Introdução à Microservices
Introdução à MicroservicesIntrodução à Microservices
Introdução à Microservices
 
Microservices com ASP.NET 5
Microservices com ASP.NET 5Microservices com ASP.NET 5
Microservices com ASP.NET 5
 
Novidades no Windows Mobile Line of Business Solution Accelerator 2008
Novidades no Windows Mobile Line of Business Solution Accelerator 2008Novidades no Windows Mobile Line of Business Solution Accelerator 2008
Novidades no Windows Mobile Line of Business Solution Accelerator 2008
 
JUGVale 14 - 14/09/2019
JUGVale 14 - 14/09/2019JUGVale 14 - 14/09/2019
JUGVale 14 - 14/09/2019
 
Overview arquitetura
Overview arquiteturaOverview arquitetura
Overview arquitetura
 
Arquitetura e Integração de sistemas
Arquitetura e Integração de sistemasArquitetura e Integração de sistemas
Arquitetura e Integração de sistemas
 
JQuery Mobile
JQuery MobileJQuery Mobile
JQuery Mobile
 
Arquitetura MVC
Arquitetura MVCArquitetura MVC
Arquitetura MVC
 
Service Oriented Front-End Architecture
Service Oriented Front-End ArchitectureService Oriented Front-End Architecture
Service Oriented Front-End Architecture
 
Blue Systems Enterprise CMS Versão 5.0
Blue Systems Enterprise CMS Versão 5.0Blue Systems Enterprise CMS Versão 5.0
Blue Systems Enterprise CMS Versão 5.0
 
Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro Serviços
 
Arquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - ModelosArquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - Modelos
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
 
Netshoes - API Gateway
Netshoes - API GatewayNetshoes - API Gateway
Netshoes - API Gateway
 
Padrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMPadrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVM
 
MVC MVP MVVM para Web
MVC MVP MVVM para WebMVC MVP MVVM para Web
MVC MVP MVVM para Web
 

Semelhante a Microservices 2

Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017Renato Groff
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Renato Groff
 
Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015Renato Groff
 
O desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicosO desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicosGraziella Bonizi
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixNatanael Fonseca
 
Arquitetura de Microservicos
Arquitetura de MicroservicosArquitetura de Microservicos
Arquitetura de MicroservicosNorberto Enomoto
 
Phprs meetup - deploys automatizados com gitlab
Phprs   meetup - deploys automatizados com gitlabPhprs   meetup - deploys automatizados com gitlab
Phprs meetup - deploys automatizados com gitlabJackson F. de A. Mafra
 
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...tdc-globalcode
 
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de MicroservicesDeep Tech Brasil
 
TDC2017 | POA Trilha Arquitetura - Desafios de se implantar uma arquitetura d...
TDC2017 | POA Trilha Arquitetura - Desafios de se implantar uma arquitetura d...TDC2017 | POA Trilha Arquitetura - Desafios de se implantar uma arquitetura d...
TDC2017 | POA Trilha Arquitetura - Desafios de se implantar uma arquitetura d...tdc-globalcode
 
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SITeoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SIAlessandro Almeida
 
Saa s software como serviço (slides)
Saa s   software como serviço (slides)Saa s   software como serviço (slides)
Saa s software como serviço (slides)Daniela Nunes
 
Micro serviços com node.js
Micro serviços com node.jsMicro serviços com node.js
Micro serviços com node.jsBruno Trecenti
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de MicroserviçosNorberto Enomoto
 
Workshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura MicroservicesWorkshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura MicroservicesRodrigo Cândido da Silva
 

Semelhante a Microservices 2 (20)

Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016
 
Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015
 
O desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicosO desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicos
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud Netflix
 
Microservices
MicroservicesMicroservices
Microservices
 
Architecture performance using micro services
Architecture performance using micro servicesArchitecture performance using micro services
Architecture performance using micro services
 
Arquitetura de Microservicos
Arquitetura de MicroservicosArquitetura de Microservicos
Arquitetura de Microservicos
 
Microservices
MicroservicesMicroservices
Microservices
 
Microservices
MicroservicesMicroservices
Microservices
 
Phprs meetup - deploys automatizados com gitlab
Phprs   meetup - deploys automatizados com gitlabPhprs   meetup - deploys automatizados com gitlab
Phprs meetup - deploys automatizados com gitlab
 
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
 
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
 
Soa Woa Rest
Soa Woa RestSoa Woa Rest
Soa Woa Rest
 
TDC2017 | POA Trilha Arquitetura - Desafios de se implantar uma arquitetura d...
TDC2017 | POA Trilha Arquitetura - Desafios de se implantar uma arquitetura d...TDC2017 | POA Trilha Arquitetura - Desafios de se implantar uma arquitetura d...
TDC2017 | POA Trilha Arquitetura - Desafios de se implantar uma arquitetura d...
 
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SITeoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
 
Saa s software como serviço (slides)
Saa s   software como serviço (slides)Saa s   software como serviço (slides)
Saa s software como serviço (slides)
 
Micro serviços com node.js
Micro serviços com node.jsMicro serviços com node.js
Micro serviços com node.js
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de Microserviços
 
Workshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura MicroservicesWorkshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura Microservices
 

Microservices 2

  • 2. Hello !I am Leonardo Freua I am Filipe Nunes
  • 5. James Lewis Martin Fowler Principais pessoas
  • 7. Características de uma arquitetura em microsserviços Componentização via serviços Componentes são coisas difíceis de se definirem. Porém, neste contexto, componentes assumem o conceito de uma unidade de software que é substituída ou atualizada de forma independente. Organizado através das áreas do negócio Qualquer organização que desenha um sistema (definido de forma ampla) irá produzir um design cuja estrutura é uma cópia da estrutura de comunicação da própria organização. — Melvyn Conway, 1967
  • 8. Características de um arquitetura em microsserviços
  • 9. Características de uma arquitetura em microsserviços Produtos e não projetos Vemos que a maior parte dos esforços para o desenvolvimento de uma aplicação usa um modelo de projeto: onde o dever é entregar algum software que é por si só considerado o fim. Endpoints inteligentes e fluxos de comunicação simples Aplicações construídas a partir de microsserviços devem ser tão desacopladas e coesas quanto possível – elas devem possuir seu próprio domínio lógico.
  • 10.
  • 11. Características de uma arquitetura em microsserviços Governança descentralizada Descentralizando um serviço monolítico podemos utilizar diversos componentes para construir cada um deles. Equipes de microsserviços, preferem uma abordagem diferente, em vez de utilizar,padrões, eles preferem a ideia de produzir ferramentas úteis, que outros possam utilizar para resolver problemas semelhantes. SOA - O estilo microsserviços e muito semelhante, no entanto, SOA significa muitas coisa, e na maioria das vezes o foco é ESB usado para aplicações monolíticas. Administração descentralizada de dados Além de descentralizar decisões sobre modelos conceituais, os microservices também descentralizar as decisões de armazenamento de dados. Microservices preferem deixar cada serviço gerenciar seu próprio banco de dados, quer instâncias diferentes da mesma tecnologia de banco de dados, ou totalmente diferentes sistemas de banco de dados, uma abordagem chamada Polyglot Persistence.
  • 12. Características de uma arquitetura em microsserviços
  • 13. Características de uma arquitetura em microsserviços Automação da infraestrutura Muitos dos produtos ou sistemas que estão sendo construídos com microservices estão sendo construídos por equipes com vasta experiência de Continuous Delivery e seu precursor, Continuous Integration. Projetado para a falha Qualquer chamada de serviço pode falhar devido à indisponibilidade do fornecedor, o cliente tem que responder a isso tão graciosamente quanto possível. Esta é uma desvantagem em comparação com um design monolítico, uma vez que introduz complexidade adicional para lidar com ele. O Simian Army da Netflix induz falhas de serviços e até datacenters durante a jornada de trabalho para testar tanto a resiliência da aplicação quanto a monitoração.
  • 14. Características de uma arquitetura em microsserviços Design evolutivo Sempre que você tenta quebrar um sistema de software em componentes, você é confrontado com a decisão de como dividir as peças - quais são os princípios sobre os quais decidimos cortar nossa aplicação? A propriedade chave de um componente é a noção de substituição independente e capacidade de atualização, o que implica que olhemos para pontos onde podemos imaginar reescrever um componente sem afetar seus colaboradores. Na verdade, muitos grupos de microsserviços levam isso mais longe, explicitamente esperando que muitos serviços sejam desmantelados ao invés de evoluídos a longo prazo. O site The Guardian é um bom exemplo de um aplicativo que foi projetado e construído como um monolito, mas tem evoluído em uma direção microservice. O monolito ainda é o núcleo do site, mas eles preferem adicionar novos recursos construindo microservices que usam a API do monolito. Essa abordagem é particularmente útil para recursos que são inerentemente temporários, como páginas especializadas para lidar com um evento esportivo. Essa parte do site pode ser rapidamente montada usando linguagens de desenvolvimento rápido, e removido assim que o evento acabar
  • 16. Cases