Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ArqConf Cordoba 2019 - Franco Giovanolli - Weaving The Service Mesh

ArqConf
April 25, 2019

ArqConf Cordoba 2019 - Franco Giovanolli - Weaving The Service Mesh

Daremos una introducción a Istio sobre Kubernetes, explicando como trabaja un "Service Mesh", la tecnologías de detrás de este y como usarlo para simplificar la transición hacia arquitecturas orientadas a microservicios.

Tendremos como caso de estudio, la implementación en el Ministerio de Finanzas de la Provincia de Cordoba.
Coordinador de IT en el Ministerio de Finanzas de la Provincia de Córdoba. entusiasta de tecnologías innovadoras. Pienso, luego insisto

ArqConf

April 25, 2019
Tweet

More Decks by ArqConf

Other Decks in Technology

Transcript

  1. #!/bin/agenda >> whoami && history >> for svc in monolithic;

    do micro($svc); done >> ./pipe_ci_cd.sh >> kubernetes || service_mesh == istio >> kubectl apply -f istio-magic.yml
  2. >> whoami && history +50% Trafico Web +30% Pagos electrónicos

    >2 millones de Cedulones CRECIMIENTO INTERANUAL
  3. >> for svc in monolithic; do micro($svc); done So many

    instances... Version & Environments Conflicts Deployment Resource Isolation & Utilization Resiliency Networking, Port Conflicts
  4. >> kubernetes || service_mesh == istio Beyond Deployment • Load

    Balancing • Fault Tolerance • Observability & Insight • Monitoring & Tracing • Circuit Breaking
  5. >> kubernetes || service_mesh == istio Popular Open Source Tools

    ❏ Eureka - Service Registry ❏ Ribbon - Client Side LB ❏ Hystrix - Circuit Breaker ❏ Zipkin - Distributed Tracing ❏ Prometheus - Monitoring ❏ Grafana - Data Visualization
  6. >> kubernetes || service_mesh == istio This is easy when...

    Single stack Framework w/ Spring Boot
  7. >> kubernetes || service_mesh == istio This becomes more difficult...

    Multiple stack Multiple frameworks Polyglot Legacy
  8. >> kubernetes || service_mesh == istio At the end of

    the day... Let Microservice A talk to Microservice B!
  9. >> kubernetes || service_mesh == istio What is a Service

    Mesh? A service mesh is a configurable infrastructure layer for services. Allows service developers to offload the the network communication work and focus more on the business logic.
  10. >> kubernetes || service_mesh == istio Microservices A SERVICE MESH

    Microservices C Microservices B Microservices D Microservices F Microservices E Proxy Proxy Proxy Proxy Proxy Proxy
  11. >> kubernetes || service_mesh == istio What is Istio? A

    Open Source platform to manage service interactions across containers and VM-based workloads. With key contributions from Google, IBM, Lyft and others Multi-environment and multi-platform, but Kubernetes first
  12. >> kubernetes || service_mesh == istio The Idea of Istio

    ★ Visibility ★ Resiliency ★ Traffic Control ★ Security
  13. >> kubernetes || service_mesh == istio Istio’s Architecture Istio needs

    to intercept all the network communication to and from every service. Envoy as Sidecar Proxy Logically split into two planes: The Data Plane and The Control Plane.
  14. >> kubernetes || service_mesh == istio envoy Dynamic service discovery

    Load balancing TLS termination HTTP/2 gRPC proxying Circuit breakers Health checks Traffic split Traffic mirroring Retries Fault injection