SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
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
https://www.nginx.com/blog/introduction-to-microservices/
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
https://www.nginx.com/blog/introduction-to-microservices/
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
OBRIGADO
eduardo-borsato@hotmail.com
daksa.com.br
https://github.com/Bolinha1
www.linkedin.com/in/eduardo-cesar-oliveira
http://techinterior.com.br/

Mais conteúdo relacionado

Semelhante a Dos monolíticos aos microserviços: arquiteturas de software

TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...Marcelo Palladino
 
Arquitetura de Microservicos
Arquitetura de MicroservicosArquitetura de Microservicos
Arquitetura de MicroservicosNorberto Enomoto
 
Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015Renato Groff
 
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...Luiz Costa
 
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...tdc-globalcode
 
Tecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet coreTecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet coreAlexandroAlves13
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Renato Groff
 
Desafios de implantar uma arquitetura de microservices
Desafios de implantar uma arquitetura de microservicesDesafios de implantar uma arquitetura de microservices
Desafios de implantar uma arquitetura de microservicesleopoa
 
Microservices - Canal .NET Dev Weekend
Microservices - Canal .NET Dev WeekendMicroservices - Canal .NET Dev Weekend
Microservices - Canal .NET Dev WeekendRenato Groff
 
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
 
Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro ServiçosFernando Ike
 
Desenvolvimento em Nuvem
Desenvolvimento em NuvemDesenvolvimento em Nuvem
Desenvolvimento em NuvemVitor Savicki
 
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
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHPFlávio Lisboa
 
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017Renato Groff
 

Semelhante a Dos monolíticos aos microserviços: arquiteturas de software (20)

TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
 
Arquitetura de Microservicos
Arquitetura de MicroservicosArquitetura de Microservicos
Arquitetura de Microservicos
 
Microservices
MicroservicesMicroservices
Microservices
 
Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015
 
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
 
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
 
Tecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet coreTecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet core
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016
 
Desafios de implantar uma arquitetura de microservices
Desafios de implantar uma arquitetura de microservicesDesafios de implantar uma arquitetura de microservices
Desafios de implantar uma arquitetura de microservices
 
Microservices - Canal .NET Dev Weekend
Microservices - Canal .NET Dev WeekendMicroservices - Canal .NET Dev Weekend
Microservices - Canal .NET Dev Weekend
 
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
 
Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro Serviços
 
Microserviços
MicroserviçosMicroserviços
Microserviços
 
Desenvolvimento em Nuvem
Desenvolvimento em NuvemDesenvolvimento em Nuvem
Desenvolvimento em Nuvem
 
So cap01
So cap01So cap01
So cap01
 
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...
 
Cap4 v2
Cap4 v2Cap4 v2
Cap4 v2
 
Microservices
MicroservicesMicroservices
Microservices
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHP
 
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
 

Mais de Eduardo Cesar

Vida longa ao legado
Vida longa ao legadoVida longa ao legado
Vida longa ao legadoEduardo Cesar
 
Uma linha tênue entre arquitetura de software e o dia a dia dev
Uma linha tênue entre arquitetura de software e o dia a dia devUma linha tênue entre arquitetura de software e o dia a dia dev
Uma linha tênue entre arquitetura de software e o dia a dia devEduardo Cesar
 
OOP, e uma visão que está além de classes e métodos
OOP, e uma visão que está além de classes e métodosOOP, e uma visão que está além de classes e métodos
OOP, e uma visão que está além de classes e métodosEduardo Cesar
 
Arquitetando aplicações php
Arquitetando aplicações phpArquitetando aplicações php
Arquitetando aplicações phpEduardo Cesar
 
Arquitetando sistemas PHP
Arquitetando sistemas PHPArquitetando sistemas PHP
Arquitetando sistemas PHPEduardo Cesar
 
Desbabravando linguagem GO
Desbabravando linguagem GODesbabravando linguagem GO
Desbabravando linguagem GOEduardo Cesar
 
Integrando aplicações, o que temos nas fronteiras dos microservices
Integrando aplicações, o que temos nas fronteiras dos microservicesIntegrando aplicações, o que temos nas fronteiras dos microservices
Integrando aplicações, o que temos nas fronteiras dos microservicesEduardo Cesar
 
Mantendo a plenitude do seu novo legado com code-refactoring
Mantendo a plenitude do seu novo legado com code-refactoringMantendo a plenitude do seu novo legado com code-refactoring
Mantendo a plenitude do seu novo legado com code-refactoringEduardo Cesar
 
Desenvolvendor aplicações real time com PHP
Desenvolvendor aplicações real time com PHPDesenvolvendor aplicações real time com PHP
Desenvolvendor aplicações real time com PHPEduardo Cesar
 
Refatoração e uma vida saudável para o desenvolvedor e para sua aplicação
Refatoração e uma vida saudável para o desenvolvedor e para sua aplicaçãoRefatoração e uma vida saudável para o desenvolvedor e para sua aplicação
Refatoração e uma vida saudável para o desenvolvedor e para sua aplicaçãoEduardo Cesar
 
Explorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webExplorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webEduardo Cesar
 
Manipulando JWT em apis Laravel
Manipulando JWT em apis LaravelManipulando JWT em apis Laravel
Manipulando JWT em apis LaravelEduardo Cesar
 

Mais de Eduardo Cesar (12)

Vida longa ao legado
Vida longa ao legadoVida longa ao legado
Vida longa ao legado
 
Uma linha tênue entre arquitetura de software e o dia a dia dev
Uma linha tênue entre arquitetura de software e o dia a dia devUma linha tênue entre arquitetura de software e o dia a dia dev
Uma linha tênue entre arquitetura de software e o dia a dia dev
 
OOP, e uma visão que está além de classes e métodos
OOP, e uma visão que está além de classes e métodosOOP, e uma visão que está além de classes e métodos
OOP, e uma visão que está além de classes e métodos
 
Arquitetando aplicações php
Arquitetando aplicações phpArquitetando aplicações php
Arquitetando aplicações php
 
Arquitetando sistemas PHP
Arquitetando sistemas PHPArquitetando sistemas PHP
Arquitetando sistemas PHP
 
Desbabravando linguagem GO
Desbabravando linguagem GODesbabravando linguagem GO
Desbabravando linguagem GO
 
Integrando aplicações, o que temos nas fronteiras dos microservices
Integrando aplicações, o que temos nas fronteiras dos microservicesIntegrando aplicações, o que temos nas fronteiras dos microservices
Integrando aplicações, o que temos nas fronteiras dos microservices
 
Mantendo a plenitude do seu novo legado com code-refactoring
Mantendo a plenitude do seu novo legado com code-refactoringMantendo a plenitude do seu novo legado com code-refactoring
Mantendo a plenitude do seu novo legado com code-refactoring
 
Desenvolvendor aplicações real time com PHP
Desenvolvendor aplicações real time com PHPDesenvolvendor aplicações real time com PHP
Desenvolvendor aplicações real time com PHP
 
Refatoração e uma vida saudável para o desenvolvedor e para sua aplicação
Refatoração e uma vida saudável para o desenvolvedor e para sua aplicaçãoRefatoração e uma vida saudável para o desenvolvedor e para sua aplicação
Refatoração e uma vida saudável para o desenvolvedor e para sua aplicação
 
Explorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webExplorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na web
 
Manipulando JWT em apis Laravel
Manipulando JWT em apis LaravelManipulando JWT em apis Laravel
Manipulando JWT em apis Laravel
 

Dos monolíticos aos microserviços: arquiteturas de software