Microsserviços
+ Service Mesh
Olá!
Eu sou Fransber
Especialista de TI há 17 anos trabalhando
na área. Hoje @ Localiza Hertz.
Você pode me achar em @fransber
2
1.
Microsserviços
Resolver todos os Problemas?
Microsserviços
4
MonolitoMonólito
O caminho até o
Microsserviços
6
1 2 3 4 5
“Microsserviços é uma maneira particular de
desenvolver aplicações de maneira que cada
módulo do software é um serviço
independente.
7
Retirado de um artigo que apareceu originalmente no
website do Martin Fowler.
Microsserviços
● Publicação Independente
● Otimizado para Substituição
● Direcionado a produtos de
negócio
● Focado em API
8
Microsserviços
● Governança descentralizada
● Gestão de dados
descentralizado
● Infraestrutura como Codigo
(infrastructure as code)
● A prova de falhas
9
10
https://www.nginx.com/blog/refactoring-a-monolith-
into-microservices/
Microsserviços
11
Microsserviços
https://www.nginx.com/blog/refactoring-a-monolith-
into-microservices/
12
Microsserviços
https://www.nginx.com/blog/refactoring-a-monolith-
into-microservices/
2.
Service Mesh
É uma rede de microsserviços.
13
14
https://bit.ly/istio-intro
15
https://bit.ly/istio-intro
16
https://bit.ly/istio-intro
And tables to
compare data
18https://www.nginx.com/blog/what-is-a-service-mesh/
Componentes do
Service Mesh
Container orchestration
framework
Com o volume de containers na
aplicação a gestão deve ser
automatizada.
Services and instances
Uma instância nessa visão pode
ser um grupo de pequenas
instâncias “pods” dentro da
instância.
Sidecar proxy
É uma intância carona a intância
principal que é gerenciada pelo
framwork de orquestração.
19
Service discovery
Para encontrar instâncias ativas
e saudáveis, funciona como um
DNS.
Load balancing
Provê um balanciamento de
carga de Camada 7 (rede) mais
sofisticado.
Encryption
A comunicação entre os pods
deve ser segura e confiável.
Authentication and
authorization
É possivel gerenciar a
comunicação interna e
externa dos pods enviado
requisições válida.
Componentes do
Service Mesh
Support for the circuit
breaker pattern
Ele da suporte a
implmentação do padrão
para gerantir que só
existam instâncias
saudáveis no caminho.
20
21
Temos mais opções no mercado?
Opções?
22
Istio.io é uma
opção mantida por
grandes corporações.
E ai?
Service
Mesh
com
Istio.io
23
1.
Monitoramento
25
https://bit.ly/istio-intro
26http://bit.ly/istio-intro
DEMOWhoa! Code!!!
27
https://www.katacoda.com/courses/istio/deploy-istio-on-kubernet
Service Mesh
com
Istio.io
28
Exemplo:
29
Obrigado!
Perguntas?
● @fransber
● fransber.assuncao@localiza.com
● Temos VAGAS!
● https://jobs.kenoby.com/localiza
30

Microservicos + Service Mesh

Notas do Editor

  • #5 Devemos implementar microserviços em tudo? Mencionar o StackOverflow que é um monolito
  • #6 Se você tem um grande monólito Dificuldade de gerir, implantar, manter... Se você dividir isso mesmo problemas e mais!
  • #7 A pratica base de Dev
  • #8 única responsabilidade[ aberto/fechado substituição de Liskov segregação de Interface[ inversão de dependência Baixo acoplamento, Alta Coesão agnóstico de tecnologia não é um serviço que tem um número pequeno de linhas de código ou que faz ‘micro tarefas’ não tem de ser sempre programado do zero.
  • #9 Deployment Independence - updates to an individual microservice have no negative impact to any other component of the system. Optimized for Replacement 2. Organized around business capabilities 3. Products not Projects 4. API Focused 5. Smart endpoints and dumb pipes 6. Decentralized Governance 7. Decentralized Data Management 8. Infrastructure Automation (infrastructure as code) 9. Design for failure 10. Evolutionary Design
  • #11 Stop Digging
  • #12 Split Frontend and Backend Presentation layer  Components that handle HTTP requests and implement either a (REST) API or an HTML‑based web UI. Business logic layer  Data‑access layer 
  • #13  A good approach is to start with a few modules that are easy to extract. Domain Model pattern  Estrategia de “Ir pelas beiradas” até tudo estar ok. Reduz risco
  • #15 https://www.katacoda.com/courses/istio/deploy-istio-on-kubernetes
  • #19 The control plane in a service mesh distributes configuration across the sidecar proxies in the data plane Service Mesh È uma rede de microsserviÁos que oferece, de forma consistente: seguranÁa, service discovery, application tracing, monitoring e toler‚ncia a falhas, sem a necessidade de um recurso compartilhado como, por exemplo, um API Gateway.
  • #20 Orquestração Instancias SideCar Discovery Balancing Cripto
  • #21 Blz, temos que implementar tudo isso?
  • #22 Micrisoft Service Fabric HashCorp - Cosul Netflix OSS Solo.io Bouyant
  • #24 Pilot - Responsible for configuring the Envoy and Mixer at runtime. Proxy / Envoy - Sidecar proxies per microservice to handle ingress/egress rich layer-7 routing, circuit breakers Mixer - rate limits, quotas, authentication, request tracing and Citadel / Istio CA -
  • #29 Pilot - Responsible for configuring the Envoy and Mixer at runtime. Proxy / Envoy - Sidecar proxies per microservice to handle ingress/egress traffic between services in the cluster and from a service to external services. The proxies form a secure microservice mesh providing a rich set of functions like discovery, rich layer-7 routing, circuit breakers, policy enforcement and telemetry recording/reporting functions. Mixer - Create a portability layer on top of infrastructure backends. Enforce policies such as ACLs, rate limits, quotas, authentication, request tracing and telemetry collection at an infrastructure level. Citadel / Istio CA - Secures service to service communication over TLS. Providing a key management system to automate key and certificate generation, distribution, rotation, and revocation. Ingress/Egress - Configure path based routing for inbound and outbound external traffic. Control Plane API - Underlying Orchestrator such as Kubernetes or Hashicorp Nomad.
  • #30 Mostrar o exemplo