Microservices

APLICAÇÕES MONOLÍTICAS

Captura2r

  • Fornece Macro-funcionalidades;
  • Toda a capacidade do negocio/domínio esta em uma mesma funcionalidade ou serviço;
  • Aplicação dividida em camadas;
  • Arquitetura dependente;
  • Deploy simples;
  • Hospedado em um servidor especifico;
  • Desenvolvimento altamente dependente da plataforma;
  • Escalabilidade vertical;
  • Evolução comprometida;
  • Banco de dados integrado:
  • Deploy centralizado:

Capturar1

APLICAÇÕES EM MICRO-SERVIÇOS

Capturar

  • Fornece Micro-funcionalidade;
  • Isola responsabilidades;
  • Solução granular;
  • Divisão de responsabilidades entre projetos/serviços;
  • Alta disponibilidade e escalabilidade;
  • Escalabilidade na capacidade de negocio;
  • Altamente desacoplada;
  • Solução segmentada e distribuída;
  • A aplicação não é desenvolvida em termos de projetos e sim em serviços/produtos;
  • Monitoramento especifico por serviço;
  • Pode ser desenvolvimento em varias plataformas ao mesmo tempo;
  • Dados decentralizados;
  • Banco de dados segmentados;
  • Serviços específicos podem compartilhar bancos de dados distintos;
  • A integração entre serviços pode ser feita através de messageria (RabbitMQ);
  • Deploy descentralizado:

Captura2r

  • Componentização via serviços;

Capturar

 

Referência:
http://martinfowler.com/articles/microservices.html
http://martinfowler.com/microservices
http://microservices.io/

Deixe um comentário