SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
Copyright 2015 Google Inc
TechTalk
Arquitetura monolítica
à orientação a serviços
Ryan Padilha (ryan.padilha@gmail.com)
Apresentação técnica arquitetura orientada a serviços
Copyright 2015 Google Inc
Simplesmente apaixonado por tecnologia
Fundador e Instrutor do Coding4Fun Cursos Online
http://br.linkedin.com/in/ryanpadilha
- Movido a desafios!
- Graduado em sistema de informação.
- Especialista em integração de aplicações.
- Autodidata, perseverante, rápido aprendizado e adaptação.
- "Inspirar a transformação de conhecimento em software funcional"
Ryan Padilha
Copyright 2015 Google Inc
Agenda
Aplicação monolítica
Desenho de solução
1
2
Arquitetura orientada a serviços3
• Descritivo
• Definição de modelos de aplicação monolítica e prática de deploy.
• Os desafios da escalabilidade e alocação de recursos em regras de negócios.
• O conceito de arquitetura orientada a serviços e componentização.
Copyright 2015 Google Inc
Aplicação monolítica
• https://martinfowler.com/articles/microservices.html
Copyright 2015 Google Inc
Aplicação monolítica
• Modelo:
• Simples de desenvolver
• Testar e realizar deploy
• Aumento na complexidade do negócio
• Custos desnecessários ao escalar - clonagem
• Efeito colateral:
• Re-deploy da aplicação inteira
• Tempo de uptime afetado
• Ambiente de desenvolvimento complexo
Copyright 2015 Google Inc
Escalabilidade
• The Scale Cube - http://microservices.io/articles/scalecube.html
Copyright 2015 Google Inc
Desenho de solução
• Modelo:
• Conjunto de pequenos serviços
• Foco em desenvolvimento de funcionalidades
• Tecnologias heterogêneas e poliglotas
• Componentização e reuso de regras de negócios
• Deploy independente
• Escalabilidade apenas em gargalos da aplicação
Copyright 2015 Google Inc
Desenho de solução
Copyright 2015 Google Inc
Desenho de solução
• Definição:
• Funcionalidades co-rrelacionadas agrupadas
• Baixo acoplamento e alta coesão
• Estudar e delimitar o escopo do serviço
• Modelagem orientada a funcionalidade
• Definição de blocos em módulos
• Chamada a API remotas
• API Gateway Pattern - Otimização e agregação
• Síncrono: request/response
• Assíncrono: request/callback
Copyright 2015 Google Inc
Desenho de solução
• REST:
• Mecanismo síncrono
• Desacoplamento de interface e modelo de dados
• Semântica HTTP
• Mensageria:
• Mecanismo assíncrono (eventos)
• Orientado a coreografia e baixo acoplamento
• Publish/Subscribe com Message Broker
Copyright 2015 Google Inc
Desenho de solução
Copyright 2015 Google Inc
Arquitetura SOA
• Princípios de serviços:
1. São reutilizáveis
2. Compartilham um contrato formal
3. Possuem um baixo acoplamento
4. Abstraem a lógica
5. São capazes de se compor
6. São autônomos
7. Evitam alocação de recursos por longo tempo
8. São capazes de serem descobertos
Copyright 2015 Google Inc
Arquitetura SOA
Copyright 2015 Google Inc
Arquitetura SOA
Copyright 2015 Google Inc
Arquitetura SOA
Copyright 2015 Google Inc
Meu muito obrigado!
“Quando você descobre algo,
você se sente como se estivesse
apaixonado”. Wozniak

Mais conteúdo relacionado

Semelhante a Da arquitetura monolítica à orientada a serviços

Desafio de crescer
Desafio de crescerDesafio de crescer
Desafio de crescerGuilherme
 
A framework for collaborative applications en
A framework for collaborative applications enA framework for collaborative applications en
A framework for collaborative applications enPedro Correia
 
Python em Ambientes Distribuídos - Arquitetura Moderna
Python em Ambientes Distribuídos - Arquitetura ModernaPython em Ambientes Distribuídos - Arquitetura Moderna
Python em Ambientes Distribuídos - Arquitetura ModernaRyan Padilha
 
Percepções de uma viagem em dois mundos: Java e Python
Percepções de uma viagem em dois mundos:  Java e PythonPercepções de uma viagem em dois mundos:  Java e Python
Percepções de uma viagem em dois mundos: Java e PythonRyan Padilha
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devopsDiego Pacheco
 
Introdução a Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a ServiçosIntrodução a Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a ServiçosIgor Takenami
 
WSO2 - Visão Geral de Negócios
WSO2 - Visão Geral de NegóciosWSO2 - Visão Geral de Negócios
WSO2 - Visão Geral de NegóciosEdgar Silva
 
Enterprise Architcture: Service Oriented Architecture Case
Enterprise Architcture: Service Oriented Architecture CaseEnterprise Architcture: Service Oriented Architecture Case
Enterprise Architcture: Service Oriented Architecture CaseWerther Krause
 
APIs Atributos e Tecnologia
APIs Atributos e TecnologiaAPIs Atributos e Tecnologia
APIs Atributos e TecnologiaFábio Rosato
 
TDC 2010 - SharePoint Server 2010
TDC 2010 - SharePoint Server 2010TDC 2010 - SharePoint Server 2010
TDC 2010 - SharePoint Server 2010Hélio Sá Moreira
 
Overview Governança SOA - HP Brazil
Overview Governança SOA - HP BrazilOverview Governança SOA - HP Brazil
Overview Governança SOA - HP BrazilNorberto Enomoto
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeAndré Abe Vicente
 
Introdução ao Mulesoft para prossionais Salesforce
 Introdução ao Mulesoft para prossionais Salesforce Introdução ao Mulesoft para prossionais Salesforce
Introdução ao Mulesoft para prossionais SalesforceRenato de Oliveira
 
– Como implantar transformações organizacionais a partir de uma plataforma BP...
– Como implantar transformações organizacionais a partir de uma plataforma BP...– Como implantar transformações organizacionais a partir de uma plataforma BP...
– Como implantar transformações organizacionais a partir de uma plataforma BP...EloGroup
 
[Café com BPM - Setor Privado] Como implantar transformações organizacionais ...
[Café com BPM - Setor Privado] Como implantar transformações organizacionais ...[Café com BPM - Setor Privado] Como implantar transformações organizacionais ...
[Café com BPM - Setor Privado] Como implantar transformações organizacionais ...EloGroup
 
Como implantar transformações organizacionais a partir de uma plataforma BPMS...
Como implantar transformações organizacionais a partir de uma plataforma BPMS...Como implantar transformações organizacionais a partir de uma plataforma BPMS...
Como implantar transformações organizacionais a partir de uma plataforma BPMS...Lecom Tecnologia
 

Semelhante a Da arquitetura monolítica à orientada a serviços (20)

Desafio de crescer
Desafio de crescerDesafio de crescer
Desafio de crescer
 
A framework for collaborative applications en
A framework for collaborative applications enA framework for collaborative applications en
A framework for collaborative applications en
 
Python em Ambientes Distribuídos - Arquitetura Moderna
Python em Ambientes Distribuídos - Arquitetura ModernaPython em Ambientes Distribuídos - Arquitetura Moderna
Python em Ambientes Distribuídos - Arquitetura Moderna
 
Percepções de uma viagem em dois mundos: Java e Python
Percepções de uma viagem em dois mundos:  Java e PythonPercepções de uma viagem em dois mundos:  Java e Python
Percepções de uma viagem em dois mundos: Java e Python
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devops
 
Aula 2 - Modelos de processos
Aula 2 -  Modelos de processosAula 2 -  Modelos de processos
Aula 2 - Modelos de processos
 
Introdução a Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a ServiçosIntrodução a Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a Serviços
 
Microservices
MicroservicesMicroservices
Microservices
 
WSO2 - Visão Geral de Negócios
WSO2 - Visão Geral de NegóciosWSO2 - Visão Geral de Negócios
WSO2 - Visão Geral de Negócios
 
Enterprise Architcture: Service Oriented Architecture Case
Enterprise Architcture: Service Oriented Architecture CaseEnterprise Architcture: Service Oriented Architecture Case
Enterprise Architcture: Service Oriented Architecture Case
 
APIs Atributos e Tecnologia
APIs Atributos e TecnologiaAPIs Atributos e Tecnologia
APIs Atributos e Tecnologia
 
TOGAF em Ação
TOGAF em AçãoTOGAF em Ação
TOGAF em Ação
 
TDC 2010 - SharePoint Server 2010
TDC 2010 - SharePoint Server 2010TDC 2010 - SharePoint Server 2010
TDC 2010 - SharePoint Server 2010
 
Overview Governança SOA - HP Brazil
Overview Governança SOA - HP BrazilOverview Governança SOA - HP Brazil
Overview Governança SOA - HP Brazil
 
DDD
DDDDDD
DDD
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
 
Introdução ao Mulesoft para prossionais Salesforce
 Introdução ao Mulesoft para prossionais Salesforce Introdução ao Mulesoft para prossionais Salesforce
Introdução ao Mulesoft para prossionais Salesforce
 
– Como implantar transformações organizacionais a partir de uma plataforma BP...
– Como implantar transformações organizacionais a partir de uma plataforma BP...– Como implantar transformações organizacionais a partir de uma plataforma BP...
– Como implantar transformações organizacionais a partir de uma plataforma BP...
 
[Café com BPM - Setor Privado] Como implantar transformações organizacionais ...
[Café com BPM - Setor Privado] Como implantar transformações organizacionais ...[Café com BPM - Setor Privado] Como implantar transformações organizacionais ...
[Café com BPM - Setor Privado] Como implantar transformações organizacionais ...
 
Como implantar transformações organizacionais a partir de uma plataforma BPMS...
Como implantar transformações organizacionais a partir de uma plataforma BPMS...Como implantar transformações organizacionais a partir de uma plataforma BPMS...
Como implantar transformações organizacionais a partir de uma plataforma BPMS...
 

Mais de Ryan Padilha

Startups - O novo paradigma da administração
Startups - O novo paradigma da administraçãoStartups - O novo paradigma da administração
Startups - O novo paradigma da administraçãoRyan Padilha
 
Flask e Docker - rumo a AWS!
Flask e Docker - rumo a AWS!Flask e Docker - rumo a AWS!
Flask e Docker - rumo a AWS!Ryan Padilha
 
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelDesign Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelRyan Padilha
 
Orientação a Objetos no Delphi - Controle de Estoque (III)
Orientação a Objetos no Delphi - Controle de Estoque (III)Orientação a Objetos no Delphi - Controle de Estoque (III)
Orientação a Objetos no Delphi - Controle de Estoque (III)Ryan Padilha
 
Orientação a Objetos no Delphi - Controle de Estoque (II)
Orientação a Objetos no Delphi - Controle de Estoque (II)Orientação a Objetos no Delphi - Controle de Estoque (II)
Orientação a Objetos no Delphi - Controle de Estoque (II)Ryan Padilha
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Ryan Padilha
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKRyan Padilha
 

Mais de Ryan Padilha (7)

Startups - O novo paradigma da administração
Startups - O novo paradigma da administraçãoStartups - O novo paradigma da administração
Startups - O novo paradigma da administração
 
Flask e Docker - rumo a AWS!
Flask e Docker - rumo a AWS!Flask e Docker - rumo a AWS!
Flask e Docker - rumo a AWS!
 
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelDesign Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
 
Orientação a Objetos no Delphi - Controle de Estoque (III)
Orientação a Objetos no Delphi - Controle de Estoque (III)Orientação a Objetos no Delphi - Controle de Estoque (III)
Orientação a Objetos no Delphi - Controle de Estoque (III)
 
Orientação a Objetos no Delphi - Controle de Estoque (II)
Orientação a Objetos no Delphi - Controle de Estoque (II)Orientação a Objetos no Delphi - Controle de Estoque (II)
Orientação a Objetos no Delphi - Controle de Estoque (II)
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
 

Da arquitetura monolítica à orientada a serviços

  • 1. Copyright 2015 Google Inc TechTalk Arquitetura monolítica à orientação a serviços Ryan Padilha (ryan.padilha@gmail.com) Apresentação técnica arquitetura orientada a serviços
  • 2. Copyright 2015 Google Inc Simplesmente apaixonado por tecnologia Fundador e Instrutor do Coding4Fun Cursos Online http://br.linkedin.com/in/ryanpadilha - Movido a desafios! - Graduado em sistema de informação. - Especialista em integração de aplicações. - Autodidata, perseverante, rápido aprendizado e adaptação. - "Inspirar a transformação de conhecimento em software funcional" Ryan Padilha
  • 3. Copyright 2015 Google Inc Agenda Aplicação monolítica Desenho de solução 1 2 Arquitetura orientada a serviços3 • Descritivo • Definição de modelos de aplicação monolítica e prática de deploy. • Os desafios da escalabilidade e alocação de recursos em regras de negócios. • O conceito de arquitetura orientada a serviços e componentização.
  • 4. Copyright 2015 Google Inc Aplicação monolítica • https://martinfowler.com/articles/microservices.html
  • 5. Copyright 2015 Google Inc Aplicação monolítica • Modelo: • Simples de desenvolver • Testar e realizar deploy • Aumento na complexidade do negócio • Custos desnecessários ao escalar - clonagem • Efeito colateral: • Re-deploy da aplicação inteira • Tempo de uptime afetado • Ambiente de desenvolvimento complexo
  • 6. Copyright 2015 Google Inc Escalabilidade • The Scale Cube - http://microservices.io/articles/scalecube.html
  • 7. Copyright 2015 Google Inc Desenho de solução • Modelo: • Conjunto de pequenos serviços • Foco em desenvolvimento de funcionalidades • Tecnologias heterogêneas e poliglotas • Componentização e reuso de regras de negócios • Deploy independente • Escalabilidade apenas em gargalos da aplicação
  • 8. Copyright 2015 Google Inc Desenho de solução
  • 9. Copyright 2015 Google Inc Desenho de solução • Definição: • Funcionalidades co-rrelacionadas agrupadas • Baixo acoplamento e alta coesão • Estudar e delimitar o escopo do serviço • Modelagem orientada a funcionalidade • Definição de blocos em módulos • Chamada a API remotas • API Gateway Pattern - Otimização e agregação • Síncrono: request/response • Assíncrono: request/callback
  • 10. Copyright 2015 Google Inc Desenho de solução • REST: • Mecanismo síncrono • Desacoplamento de interface e modelo de dados • Semântica HTTP • Mensageria: • Mecanismo assíncrono (eventos) • Orientado a coreografia e baixo acoplamento • Publish/Subscribe com Message Broker
  • 11. Copyright 2015 Google Inc Desenho de solução
  • 12. Copyright 2015 Google Inc Arquitetura SOA • Princípios de serviços: 1. São reutilizáveis 2. Compartilham um contrato formal 3. Possuem um baixo acoplamento 4. Abstraem a lógica 5. São capazes de se compor 6. São autônomos 7. Evitam alocação de recursos por longo tempo 8. São capazes de serem descobertos
  • 13. Copyright 2015 Google Inc Arquitetura SOA
  • 14. Copyright 2015 Google Inc Arquitetura SOA
  • 15. Copyright 2015 Google Inc Arquitetura SOA
  • 16. Copyright 2015 Google Inc Meu muito obrigado! “Quando você descobre algo, você se sente como se estivesse apaixonado”. Wozniak