SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
Introdução a Service Mesh com
Istio
Jonh Wendell
Sr. Software Engineer
TDC SP - 20/Jul/2018
Microservices
Microservices - vantagens
● Menor complexidade das aplicações
● Mais fácil de entender e manter; desenvolvimento mais ágil
● Escopo bem definido (por uma API)
● Times independentes
○ Podem evoluir independente dos outros serviços
○ Podem escolher a melhor tecnologia para cada serviço
● Implantações independentes
○ Pode-se facilmente experimentar uma nova versão (Canary)
● Escalabilidade - independência
Microservices - desvantagens
● Sistema distribuído
● Aplicações tem que lidar com chamadas de rede
● Tem que lidar também com falhas (dos outros serviços, rede, etc)
● Banco de dados. Leiam o livro do Yanaga!
● Testes
● etc
Microservices sem service mesh
Microservices com service mesh
Microservices com Istio
Service Mesh é uma camada de infra-estrutura
dedicada a tornar a comunicação serviço-a-serviço
segura, rápida, confiável e configurável. Se você está
criando uma aplicação cloud native, então você
precisa de um service mesh.
Service Mesh
Service Mesh
Service Mesh com Istio
Istio - projeto
● Plataforma para conectar, gerenciar micro-serviços
● Desenvolvida por Google, com ajuda de IBM, Lyft
● Projeto recente, pouco mais de 1 ano, versão 1.0 iminente
● Destaque no cenário micro-serviços / service mesh
● Open source, comunitário, ótima receptividade a novatos
● Istio.io
Istio - parte técnica
● Baseado no modelo de sidecar proxy (Envoy)
● Intercepta todas as chamadas entre os micro-serviços
● Transparente para a aplicação - ela pensa que está se comunicando diretamente
com o outro serviço
● Não há necessidade de mudar/adaptar/reescrever os serviços, que podem ser de
diferentes linguagens de programação (BIG WIN!)
Istio - features
Istio - features
Pilot - gerenciamento de tráfego
Pilot - gerenciamento de tráfego
Pilot - gerenciamento de tráfego
YAML
Pilot - outras features
● Espelhamento de tráfego
● Tratamento de falhas
○ Timeouts
○ Retries (com variação de tempo)
○ Limite na qtd de conexões simultaneas e requests
○ Health check e circuit breaker
● Injeção de falhas
○ Delays
○ Aborts
○ Testam a resiliência dos serviços
Exemplos
Retry
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: ratings
spec:
hosts:
- ratings
http:
- route:
- destination:
host: ratings
subset: v1
retries:
attempts: 3
perTryTimeout: 2s
Exemplos
Fault Injection - Delay
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: ratings
spec:
hosts:
- ratings
http:
- fault:
delay:
percent: 10
fixedDelay: 5s
route:
- destination:
host: ratings
subset: v1
Exemplos
Splitting traffic between versions
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: reviews
spec:
hosts:
- reviews
http:
- route:
- destination:
host: reviews
subset: v1
weight: 75
- destination:
host: reviews
subset: v2
weight: 25
Istio - features
Mixer
Mixer
Mixer
https://istio.io/blog/2017/mixer-spof-myth/
Mixer
Mixer
Mixer
Mixer
Istio - features
Citadel
● Dá a cada serviço uma identidade forte
● mTLS: Adiciona mutual TLS entre os serviços
● Sistema automatizado de geração, distribuição, revogação de certificados
Citadel
Links
● Istio.io
● learn.openshift.com
● developers.redhat.com/blog/2018/03/06/introduction-istio-make
s-mesh-things/
● kiali.org
● @jwendell
● jonh.wendell@redhat.com
Perguntas?
THANK YOU
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHat

Mais conteúdo relacionado

Mais procurados

Achieving DevSecOps Outcomes with Tanzu Advanced - Portuguese
Achieving DevSecOps Outcomes with Tanzu Advanced - PortugueseAchieving DevSecOps Outcomes with Tanzu Advanced - Portuguese
Achieving DevSecOps Outcomes with Tanzu Advanced - PortugueseVMware Tanzu
 
Kafka: Uma introdução para Desenvolvedores e Arquitetos
 Kafka: Uma introdução para Desenvolvedores e Arquitetos Kafka: Uma introdução para Desenvolvedores e Arquitetos
Kafka: Uma introdução para Desenvolvedores e ArquitetosVictor Osorio
 
TDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
TDC Floripa 2016 - Decolando seus micro-serviços na Spring CloudTDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
TDC Floripa 2016 - Decolando seus micro-serviços na Spring CloudRodrigo Cândido da Silva
 
GUJavaSC - Combinando Micro-serviços com Práticas DevOps
GUJavaSC - Combinando Micro-serviços com Práticas DevOpsGUJavaSC - Combinando Micro-serviços com Práticas DevOps
GUJavaSC - Combinando Micro-serviços com Práticas DevOpsRodrigo Cândido da Silva
 
Serverless Framework - Creating serverless applications
Serverless Framework - Creating serverless applicationsServerless Framework - Creating serverless applications
Serverless Framework - Creating serverless applicationsWallison Marra
 
TDC Floripa 2017 - Criando Microservices Reativos com Java
TDC Floripa 2017 - Criando Microservices Reativos com JavaTDC Floripa 2017 - Criando Microservices Reativos com Java
TDC Floripa 2017 - Criando Microservices Reativos com JavaRodrigo Cândido da Silva
 
Pipelines de CI/CD com Azure @ Oktober Cloud
Pipelines de CI/CD com Azure @ Oktober CloudPipelines de CI/CD com Azure @ Oktober Cloud
Pipelines de CI/CD com Azure @ Oktober CloudGabriel Machado
 
Workshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura MicroservicesWorkshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura MicroservicesRodrigo Cândido da Silva
 

Mais procurados (9)

Achieving DevSecOps Outcomes with Tanzu Advanced - Portuguese
Achieving DevSecOps Outcomes with Tanzu Advanced - PortugueseAchieving DevSecOps Outcomes with Tanzu Advanced - Portuguese
Achieving DevSecOps Outcomes with Tanzu Advanced - Portuguese
 
Kafka: Uma introdução para Desenvolvedores e Arquitetos
 Kafka: Uma introdução para Desenvolvedores e Arquitetos Kafka: Uma introdução para Desenvolvedores e Arquitetos
Kafka: Uma introdução para Desenvolvedores e Arquitetos
 
TDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
TDC Floripa 2016 - Decolando seus micro-serviços na Spring CloudTDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
TDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
 
GUJavaSC - Combinando Micro-serviços com Práticas DevOps
GUJavaSC - Combinando Micro-serviços com Práticas DevOpsGUJavaSC - Combinando Micro-serviços com Práticas DevOps
GUJavaSC - Combinando Micro-serviços com Práticas DevOps
 
Serverless Framework - Creating serverless applications
Serverless Framework - Creating serverless applicationsServerless Framework - Creating serverless applications
Serverless Framework - Creating serverless applications
 
TDC Floripa 2017 - Criando Microservices Reativos com Java
TDC Floripa 2017 - Criando Microservices Reativos com JavaTDC Floripa 2017 - Criando Microservices Reativos com Java
TDC Floripa 2017 - Criando Microservices Reativos com Java
 
Integrando infraestruturas híbridas
Integrando infraestruturas híbridas Integrando infraestruturas híbridas
Integrando infraestruturas híbridas
 
Pipelines de CI/CD com Azure @ Oktober Cloud
Pipelines de CI/CD com Azure @ Oktober CloudPipelines de CI/CD com Azure @ Oktober Cloud
Pipelines de CI/CD com Azure @ Oktober Cloud
 
Workshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura MicroservicesWorkshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura Microservices
 

Semelhante a Introdução ao Service Mesh com Istio

Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro ServiçosFernando Ike
 
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de MicroservicesDeep Tech Brasil
 
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...Emmanuel Neri
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de MicroserviçosNorberto 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
 
Palestra cloud-computing
Palestra cloud-computingPalestra cloud-computing
Palestra cloud-computingNaptec
 
Cloud Computing: uma abordagem objetiva sobre o novo ambiente computacional
Cloud Computing: uma abordagem objetiva sobre o novo ambiente computacionalCloud Computing: uma abordagem objetiva sobre o novo ambiente computacional
Cloud Computing: uma abordagem objetiva sobre o novo ambiente computacionalJosé Morelli Neto
 
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
 
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...tdc-globalcode
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Renato Groff
 
Um método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviçosUm método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviçosThiago Pereira
 
Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015Renato Groff
 
Microservices - Canal .NET Dev Weekend
Microservices - Canal .NET Dev WeekendMicroservices - Canal .NET Dev Weekend
Microservices - Canal .NET Dev WeekendRenato Groff
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devopsDiego Pacheco
 
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxAula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxChadidoDiogo1
 

Semelhante a Introdução ao Service Mesh com Istio (20)

Microservices
MicroservicesMicroservices
Microservices
 
Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro Serviços
 
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
 
Microservices
MicroservicesMicroservices
Microservices
 
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de Microserviços
 
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
 
Redes de computador
Redes de computadorRedes de computador
Redes de computador
 
Palestra cloud-computing
Palestra cloud-computingPalestra cloud-computing
Palestra cloud-computing
 
Cloud Computing: uma abordagem objetiva sobre o novo ambiente computacional
Cloud Computing: uma abordagem objetiva sobre o novo ambiente computacionalCloud Computing: uma abordagem objetiva sobre o novo ambiente computacional
Cloud Computing: uma abordagem objetiva sobre o novo ambiente computacional
 
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
 
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016
 
PIF2019 - A17 - Thiago Lombardi - Baumier
PIF2019 - A17 - Thiago Lombardi - BaumierPIF2019 - A17 - Thiago Lombardi - Baumier
PIF2019 - A17 - Thiago Lombardi - Baumier
 
Um método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviçosUm método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviços
 
Microservices
MicroservicesMicroservices
Microservices
 
Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015
 
Microservices - Canal .NET Dev Weekend
Microservices - Canal .NET Dev WeekendMicroservices - Canal .NET Dev Weekend
Microservices - Canal .NET Dev Weekend
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devops
 
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxAula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
 

Introdução ao Service Mesh com Istio