30
Vida longa para SOA com Microservices Fábio Rosato [email protected] @frosato

Vida longa para SOA com microservices

Embed Size (px)

DESCRIPTION

A arquitetura de micro-serviços é fundamentada na explosão de uma aplicação grande e monolítica em um conjunto de APIs e componentes muito pequenos, com baixíssima capacidade funcional, visando independência e autonomia dessas pequenas partes. Nessa palestra vamos explorar alguns casos de uso desse estilo arquitetural, as motivações para a utilização da arquitetura de micro-serviços, comparando-a com as abordagens tradicionais de SOA e arquiteturas monolíticas. Veremos também quais os benefícios e desafios na composição das equipes de projetos, na comunicação entre os serviços e no gerenciamento dos dados. Apresentação realizada em 2014 no QCon Rio.

Citation preview

Page 1: Vida longa para SOA com microservices

Vida longa para SOA com Microservices

Fábio [email protected]@frosato

Page 2: Vida longa para SOA com microservices

Sobre a Sensedia

Page 3: Vida longa para SOA com microservices

Design, Exposição, Gerenciamento e Engajamento em APIs

Headquarter em Campinas, escritórios em São Paulo, Rio e Philadelphia

Classificados como Visionários no Quadrante Mágico do Gartner

(*) Magic Quadrant for Integrated SOA Governance Technology Sets, 2009

Page 4: Vida longa para SOA com microservices
Page 5: Vida longa para SOA com microservices

Contextualização

Page 6: Vida longa para SOA com microservices
Page 7: Vida longa para SOA com microservices

Como minimizar?

Page 8: Vida longa para SOA com microservices

Microservices

Page 9: Vida longa para SOA com microservices

A essência de microservices não

é nova

Page 10: Vida longa para SOA com microservices

A arquitetura de microservices é

fundamentada na criação de um

conjunto de APIs e componentes

muito pequenos, com baixíssima capacidade funcional

Page 11: Vida longa para SOA com microservices

2008

Tudo em umaWebApp (.war)

2010

100s de microservices

Page 12: Vida longa para SOA com microservices

Arquitetura Monolítica

Funcionalidades em um único processo…

…em uma única Instância de servidor…

…e escala por replicação

Page 13: Vida longa para SOA com microservices

Arquitetura Microservices

Cada elemento funcional em um serviço…

...e escala esses serviços em servidores, replicando se necessário

Page 14: Vida longa para SOA com microservices

Fonte: The Art of Scalability

DecompondoAplicações

emServiços

The ScaleCube

Page 15: Vida longa para SOA com microservices

Decomposição• Colocar a aplicação com o

modelo de domínioDecompondoAplicações

emServiços

* Cuidado com nanoservices

Page 16: Vida longa para SOA com microservices

-

-

-

Independência

Autonomia

Entrega contínua

- Serviços focados

- Escalabilidade

Page 17: Vida longa para SOA com microservices

-

-

-

Sistema distribuído

Testes

DevOps Skill

- Replicações de dados e regras

- Transação

Page 18: Vida longa para SOA com microservices

EspecialistasUX

Lei de Conway

EspecialistasMiddleware

EspecialistasDBAs xyz

Partners’ AppsMobile Apps

Page 19: Vida longa para SOA com microservices

Time multi-funcional Governança descentralizada

Page 20: Vida longa para SOA com microservices

Realtime API Traffic

https://api.[you].com/…

Powered by

API Gateway

Service aggregation

Rate Limiting

Monitoring & Alerts

Authentication Models

Policy Enforcement

Exception handling

Analytics on API Consumption

Partners’ AppsMobile Apps

Internal Services@Backend

API Gateway Pattern

Page 21: Vida longa para SOA com microservices

xyz

Partners’ AppsMobile Apps

Monolítica –Database Único

x y z

Partners’ AppsMobile Apps

Descentralização de Dados

Microservices – Application database

Page 22: Vida longa para SOA com microservices

Aplicação monolítica

Estratégias paraLegado!

2

Novo Serviço

1 Encapsulamento

Extração total

Page 23: Vida longa para SOA com microservices

É SOA?

Page 24: Vida longa para SOA com microservices

Princípios da Orientação a Serviços:

Serviços são Reutilizáveis

Serviços compartilham um Contrato formal

Serviços possuem um Baixo Acoplamento

Serviços Abstraem a lógica

Serviços são capazes de se Compor

Serviços são Autônomos

Serviços evitam Alocação de Recursos por longos

períodos

Serviços são capazes de ser Descobertos

SOA: Principles of Service DesignCopyright © 2008 SOA Systems by

Thomas Erl

1

2

3

4

5

6

7

8

Page 25: Vida longa para SOA com microservices

Princípios da Orientação a Serviços:

Serviços são Reutilizáveis

Serviços compartilham um Contrato formal

Serviços possuem um Baixo Acoplamento

Serviços Abstraem a lógica

Serviços são capazes de se Compor

Serviços são Autônomos

Serviços evitam Alocação de Recursos por longos

períodos

Serviços são capazes de ser Descobertos

SOA: Principles of Service DesignCopyright © 2008 SOA Systems by

Thomas Erl

1

2

3

4

5

6

7

8

Page 26: Vida longa para SOA com microservices

Serviço A Serviço BServiço A Serviço BServiço A

Autonomia

Baixa Alta

Fonte: Thomas Earl

Page 27: Vida longa para SOA com microservices

Microservices == SOA

Page 28: Vida longa para SOA com microservices

Junte-se ao time!

Page 29: Vida longa para SOA com microservices

Fábio [email protected]@frosato

Page 30: Vida longa para SOA com microservices

Referências

• http://martinfowler.com/articles/microservices.html

• http://www.thoughtworks.com/insights/blog/microservices-nutshell

• http://pt.slideshare.net/stonse/microservices-at-netflix?next_slideshow=1

• http://qconlondon.com/dl/qcon-london-

2014/slides/BrianDegenhardt_RealTimeSystemsAtTwitter.pdf