Palaestra apresentada na Maratona de Programação
Local : FATEC TAQUARITINGA
DATA: 26-08-2017
Size: 656.81 KB
Language: pt
Added: Aug 26, 2017
Slides: 22 pages
Slide Content
Dos monolíticos
aos
microserviços
O que existe entre estes 2 mundos
EDUARDO CESAR
DESENVOLVEDOR WEB
DAKSA
Arquitetura de software
...A software architecture is defined by a
configuration of architectural
elements, components, connectors, and data...
(FiELDING, 2000)
Arquitetura de software
...Foco na organizaç o, abstraindo problemas
ã
n o funcionais, quando n o pensada pode ser um
ã ã
problema para evoluç o...
ã
Arquitetura
monolíticas
Arquitetura monolítica
...a monolithic server is a natural way to
approach building such a system.
All your logic for handling a request
runs in a single process...
Arquitetura monolítica
Todos os elementos compartilham
de um mesmo ecossistema
Frameworks, bibliotecas, s.o, hardware
Arquitetura monolítica
cpu memória
sistema operacional
infra estrutura
camada de negócios
interface de usuário
pagamento notificaç o
ã
passageiro
Arquitetura monolítica
Rápida para iniciar o desenvolvimento
Fácil reaproveitamento de código
Deploy de uma unica aplicaç o
ã
Conjunto minimo de integraç es
õ
Arquitetura monolítica
Recursos limitados para escalabilidade
Base de código se torna complexa
Mudanças se tornam caras e até inviáveis
Arquitetura
de
Microserviços
Arquitetura de microserviços
Microservices - also known as the microservice
architecture - is an architectural style that structures
an application as a collection of loosely coupled
services, which implement business capabilities.
(Chris Richardson)
Arquitetura de microserviços
Uma arquitetura de microserviços é aquela onde
todas ou parte das responsabilidades de um
software s o dividadas em outras pequenas partes
ã
que funcionam de maneira isolada e autônoma
Arquitetura de microserviços
Isolada – cada serviço deve isolar uma única
responsabilidade do software e fornecer essa
responsabilidade através de uma interface comum,
por exemplo APIS REST
Arquitetura de microserviços
Autônoma – cada serviço deve funcionar
independente de todos os outros serviços, e possuir
mecanismos para prover resiliência
Arquitetura de microserviços
...O processo para iniciar com microserviços
depende da necessidade de cada projeto,
básicamente é necessário compreender quais
domínios da aplicaç o
ã
devem ser isolados e tratados como aplicaç es a
õ
parte...
Arquitetura de microserviços
cpu
sistema
operacional
infra estrutura
camada de negócios
interface de usuário
Pagamento
memória cpu
sistema
operacional
infra estrutura
camada de negócios
interface de usuário
Notificaç o
ã
memória
Arquitetura de microserviços
Permiti escalonamento por recursos
Facilitando a escala por demanda
Base de código menor e menos complexa
Mudanças acontecem isoladamente
No contexto de cada microserviço
Arquitetura de microserviços
Várias aplicaç es para serem monitoradas
õ
O deploy acontece para cada microserviço
Grau de integraç o mais elevado e complexo
ã
Manter a consistência de funcionamento entre
todos os microserviços