O documento apresenta uma palestra sobre a evolução da arquitetura de aplicações, desde monolíticas até microserviços, e a utilização do Kubernetes e Service Mesh para orquestração e comunicação entre microserviços. O palestrante discute a arquitetura do Istio para implementação de Service Mesh e seus componentes como Envoy, Pilot, Mixer e Citadel. É apresentado um comando para instalação do Istio no Kubernetes.
2. Quem é este Pokemon?
Andre Rocha [ andre.rocha@reclameaqui.com.br ]
● C.T.O No Reclame Aqui (Obvio Brasil)
● 18+ anos estudando Desenv. Software
● Bacharel Ciencias da Comp, Mestrado Algoritimos de I.A.
● 4 filhos, 4 gatos, 1 esposa
● Adepto de DevOps desde de o Jenkins com SVN
● Usei Docker em produção sem autorização
● Atropelado pelo Kubernetes a +- 1,5 anos
● Apostei no Mesos e ‘perdi’
45. Arquitetura de serviços no Kubernetes
● Service types:
- Cluster IP
- NodePort
- LeadBalancer
- ExternalName
● Nenhum deles oferece algumas caracteristicas criticas para escalar microserviços:
- Sem circuit Breaker (em nivel de app)
- Sem Fallback
- Suporte apenas para http
- Sem client side balancing
48. Service Mesh
Por que isso importa?
● Reduz sensivelmente os ciclos de desenvolvimento
● Capacita o sistema a escalar com métricas próximas da aplicação
● Suporte a mais protocolos (http e grpc)
● Capacita aplicações com ecosistema ‘pobre’
● Possibilita upgrade transparente
● Habilita modelos de tracing desacoplados
● Habilita modelos de autoscaling por métricas de serviço
● Enforce de politicas de acesso entre serviços
● Autenticação/Autorização entre serviços
● Deixa a Cloud Native Feliz
53. Istio Envoy
● Negocia todas as requisições entre os
serviços
● Negocia TLS
● Suporta Http1/2 e gRPC
● Orquestra dinamica de deployment
● Ativa e inativa regras de Circuit
Breaker
● Fornece metricas para rastreabilidade
e observabilidade
● Implantação via Sidecar
● Trabalha em conjunto com o Pilot
para SD/SR
54. Istio Mixer
● Coleta metricas do ecossistema do
Istio
● Coleta metricas de telemetria dos
serviços
● Coleta metricas de observabilidade
● Aplica regras de QoS
● Suporta Http1/2 e gRPC
● Gerencia enforce de politicas de
acesso
● Fornece inteface de integração via
plugin
55. Istio Pilot
● Fornece o mecanismo de Service
Discovery para os Sidecars (Envoy)
● Orquestra o trafego entre os serviços
para capacitar fluxos de deploy
canario, teste A/B, etc.
● Indica, balanceia e estimula as
politicas de Circuit Breaker
● É o equivalente ao Eureka Server da
Netflix
56. Istio Citadel
● Fornece o mecanismo de
Autenticação/ Autorização entre os
serviços
● Oferece integração com o RBAC para
enfocement baseado em contas de
serviço do cluster