Copyright 2015 Google Inc
Ryan Padilha (ryan.padilha@gmail.com)
Arquitetura, Ecossistema e Desafios
Apresentação técnica arquitetura orientada a serviços
TechTalk
Microservices
Copyright 2015 Google Inc
Simply in love with technology.
JavaEE expert, SOA specialist and technical writer.
Experience of 13+ years in solution design and development software.
Working on Software Architecture, DevOps Culture and Cloud Computing.
http://ryanpadilha.com.br
http://br.linkedin.com/in/ryanpadilha
Ryan Padilha
Copyright 2015 Google Inc
Agenda
Introdução
Estilo Arquitetural
1
2
Ecossistema e Desafios3
• Descritivo
• Definição de estilo arquitetural baseado em computação distribuída.
• Os desafios da escalabilidade e alocação de recursos em regras de negócios.
• A cultura de DevOps com automatização por infra-estrutura como código.
Linhas de Pesquisa4
Copyright 2015 Google Inc
Introdução
• Webservices - TCC na Graduação de SI, ano de 2008.
• Arquitetura de Sistemas em XML - Proposta de IC na Graduação, ano de 2008.
Copyright 2015 Google Inc
Introdução
Copyright 2015 Google Inc
Introdução
• Princípios de serviços em SOA:
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
• “APIs are the missing link for SOA success” - WSO2
Copyright 2015 Google Inc
Estilo Arquitetural
• Afinal o que define o termo Microservices ‘14 ?
• É um estilo arquitetural
• Conjunto de pequenos serviços (componentes)
• Execução em processo individual
• Mecanismo leve de comunicação através de API de recursos HTTP
• Desenvolvimento baseado em capacidades de negócios
• Deploy independente automatizado
• Gerenciamento centralizado mínimo
• Projetado para ser resiliente e design evolutivo
• Tecnologias heterogêneas e armazenamento poliglota
• https://martinfowler.com/articles/microservices.html
Copyright 2015 Google Inc
Otimismo ?
Copyright 2015 Google Inc
Estilo Arquitetural
• Pré-requisitos
• Rápido provisionamento: ambientes em cloud computing
• Monitoramento básico: detecção rápida de problemas graves
• Deployment instantâneo: forte pipeline de implantação com profile
• Implante o primeiro, mantenha-o saudável e aprenda com ele!
• DevOps - Mudança organizacional, a operação deve fazer parte do código!
Copyright 2015 Google Inc
Estilo Arquitetural
• Pros
• Estrutura modular com fronteiras bem definidas
• Serviços autônomos menores com deploys contínuos
• Ecossistema de tecnologias heterogêneas
• Cons
• Concepção de sistemas distribuídos são mais complexos
• Gerenciamento de consistência difícil
• Redistribuição regular de serviços em ambientes distribuídos
Copyright 2015 Google Inc
Estilo Arquitetural
Copyright 2015 Google Inc
Estilo Arquitetural
• Bounded context modules
• Database per Service
• API Gateway
• Circuit break
• Access Token
• Health check API
• Application Metrics
• Message Broker (RPI)
• http://microservices.io/patterns/microservices.html
Copyright 2015 Google Inc
Ecossistema e Desafios
• Comece com o monolítico e defina bem as fronteiras dos módulos
• Monitoramento em tempo real, verificando elementos da arquitetura
• Latência em chamada a API remotas
• Perfeita combinação entre mecanismo síncrono e assíncrono
• Entrega contínua com provisionamento e implantação automatizado
• Modelo de maturidade em equipes de produtos
• Times orientados pelo conceito “you build, you run it”
• Aprenda a manter o ecossistema no ar e acelere
• Consequências graves para a operação no ecossistema
• O mecanismo de autenticação e autorização à recursos levado a sério
Copyright 2015 Google Inc
Ecossistema e Desafios
• https://martinfowler.com/bliki/MonolithFirst.html - Strangler Pattern
Copyright 2015 Google Inc
Ecossistema e Desafios
Copyright 2015 Google Inc
Ecossistema e Desafios
Copyright 2015 Google Inc
Linhas de Pesquisa - Futuro :D
Referência: https://xebialabs.com/periodic-table-of-devops-tools/
Copyright 2015 Google Inc
Meu muito obrigado!
“Quando você descobre algo,
você se sente como se estivesse
apaixonado”. Wozniak
Copyright 2015 Google Inc
Referências
• https://martinfowler.com/articles/microservices.html
• http://microservices.io/index.html
• Building Microservices, Sam Newman
• Microservices for Java Developers, Christian Posta.
• Migrating to Microservices Databases, Edson Yanaga
• Reactive Microservices Architecture, Jonas Bonér
• Microservices from Theory to Practice, IBM Redbooks
• InfoQ eMag: Microservices, Issue 16
• Architectural Styles and the Design of Network-based Software
Architectures, Roy Fielding

Microservices - Arquitetura, Ecossistema e Desafios

  • 1.
    Copyright 2015 GoogleInc Ryan Padilha (ryan.padilha@gmail.com) Arquitetura, Ecossistema e Desafios Apresentação técnica arquitetura orientada a serviços TechTalk Microservices
  • 2.
    Copyright 2015 GoogleInc Simply in love with technology. JavaEE expert, SOA specialist and technical writer. Experience of 13+ years in solution design and development software. Working on Software Architecture, DevOps Culture and Cloud Computing. http://ryanpadilha.com.br http://br.linkedin.com/in/ryanpadilha Ryan Padilha
  • 3.
    Copyright 2015 GoogleInc Agenda Introdução Estilo Arquitetural 1 2 Ecossistema e Desafios3 • Descritivo • Definição de estilo arquitetural baseado em computação distribuída. • Os desafios da escalabilidade e alocação de recursos em regras de negócios. • A cultura de DevOps com automatização por infra-estrutura como código. Linhas de Pesquisa4
  • 4.
    Copyright 2015 GoogleInc Introdução • Webservices - TCC na Graduação de SI, ano de 2008. • Arquitetura de Sistemas em XML - Proposta de IC na Graduação, ano de 2008.
  • 5.
    Copyright 2015 GoogleInc Introdução
  • 6.
    Copyright 2015 GoogleInc Introdução • Princípios de serviços em SOA: 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 • “APIs are the missing link for SOA success” - WSO2
  • 7.
    Copyright 2015 GoogleInc Estilo Arquitetural • Afinal o que define o termo Microservices ‘14 ? • É um estilo arquitetural • Conjunto de pequenos serviços (componentes) • Execução em processo individual • Mecanismo leve de comunicação através de API de recursos HTTP • Desenvolvimento baseado em capacidades de negócios • Deploy independente automatizado • Gerenciamento centralizado mínimo • Projetado para ser resiliente e design evolutivo • Tecnologias heterogêneas e armazenamento poliglota • https://martinfowler.com/articles/microservices.html
  • 8.
    Copyright 2015 GoogleInc Otimismo ?
  • 9.
    Copyright 2015 GoogleInc Estilo Arquitetural • Pré-requisitos • Rápido provisionamento: ambientes em cloud computing • Monitoramento básico: detecção rápida de problemas graves • Deployment instantâneo: forte pipeline de implantação com profile • Implante o primeiro, mantenha-o saudável e aprenda com ele! • DevOps - Mudança organizacional, a operação deve fazer parte do código!
  • 10.
    Copyright 2015 GoogleInc Estilo Arquitetural • Pros • Estrutura modular com fronteiras bem definidas • Serviços autônomos menores com deploys contínuos • Ecossistema de tecnologias heterogêneas • Cons • Concepção de sistemas distribuídos são mais complexos • Gerenciamento de consistência difícil • Redistribuição regular de serviços em ambientes distribuídos
  • 11.
    Copyright 2015 GoogleInc Estilo Arquitetural
  • 12.
    Copyright 2015 GoogleInc Estilo Arquitetural • Bounded context modules • Database per Service • API Gateway • Circuit break • Access Token • Health check API • Application Metrics • Message Broker (RPI) • http://microservices.io/patterns/microservices.html
  • 13.
    Copyright 2015 GoogleInc Ecossistema e Desafios • Comece com o monolítico e defina bem as fronteiras dos módulos • Monitoramento em tempo real, verificando elementos da arquitetura • Latência em chamada a API remotas • Perfeita combinação entre mecanismo síncrono e assíncrono • Entrega contínua com provisionamento e implantação automatizado • Modelo de maturidade em equipes de produtos • Times orientados pelo conceito “you build, you run it” • Aprenda a manter o ecossistema no ar e acelere • Consequências graves para a operação no ecossistema • O mecanismo de autenticação e autorização à recursos levado a sério
  • 14.
    Copyright 2015 GoogleInc Ecossistema e Desafios • https://martinfowler.com/bliki/MonolithFirst.html - Strangler Pattern
  • 15.
    Copyright 2015 GoogleInc Ecossistema e Desafios
  • 16.
    Copyright 2015 GoogleInc Ecossistema e Desafios
  • 17.
    Copyright 2015 GoogleInc Linhas de Pesquisa - Futuro :D Referência: https://xebialabs.com/periodic-table-of-devops-tools/
  • 18.
    Copyright 2015 GoogleInc Meu muito obrigado! “Quando você descobre algo, você se sente como se estivesse apaixonado”. Wozniak
  • 19.
    Copyright 2015 GoogleInc Referências • https://martinfowler.com/articles/microservices.html • http://microservices.io/index.html • Building Microservices, Sam Newman • Microservices for Java Developers, Christian Posta. • Migrating to Microservices Databases, Edson Yanaga • Reactive Microservices Architecture, Jonas Bonér • Microservices from Theory to Practice, IBM Redbooks • InfoQ eMag: Microservices, Issue 16 • Architectural Styles and the Design of Network-based Software Architectures, Roy Fielding