🕸 Service Mesh for ☕ Java Developers NASHVILLE JUG, SEPTEMBER, 2023 @gamussa | @NashvilleJUG | @thekonginc
Slide 2
https://gamov.dev/kuma4devs
Slide 3
It used to be so simple…
Slide 4
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 5
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 6
Slide 7
Refactoring to microservices
Slide 8
Viktor GAMOV Principal Developer Advocate | Kong
THE CLOUD API COMPANY
Twitter X: @gamussa
Kong Confidential
Slide 9
Network is a Computer
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 10
Network is a Computer
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 11
FROM CPU TO NETWORK RK O W ET
N
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
R
T! S UE EQ
Slide 12
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 13
{TCP} MONOLITH
THE CLOUD API COMPANY
DATABASE
@gamussa | @NashvilleJUG | @thekonginc
Slide 14
KNOWN NETWORK PROBLEMS ENCRYPTION
IDENTITY
TRAFFIC ACL
ROUTING
VERSIONING
DEPLOYMENTS
OBSERVABILITY
LOGGING
TRACING
RESILIENCY
ZERO-TRUST
CHAOS
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 15
KNOWN NETWORK PROBLEMS MICROSERVICE 1
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 16
KNOWN NETWORK PROBLEMS MICROSERVICE 1 Ribbon
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 17
KNOWN NETWORK PROBLEMS MICROSERVICE 1 Ribbon EUREKA Service Discovery
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 18
KNOWN NETWORK PROBLEMS MICROSERVICE 1 Ribbon EUREKA Service Discovery
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 19
KNOWN NETWORK PROBLEMS MICROSERVICE 1 Ribbon EUREKA Service Discovery
THE CLOUD API COMPANY
RESILIENCE4J
@gamussa | @NashvilleJUG | @thekonginc
Slide 20
KNOWN NETWORK PROBLEMS MICROSERVICE 1 Ribbon EUREKA Service Discovery
RESILIENCE4J
Centralized Con ig
f
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 21
KNOWN NETWORK PROBLEMS MICROSERVICE 1 Ribbon EUREKA Service Discovery
RESILIENCE4J
Centralized Con ig
f
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 22
KNOWN NETWORK PROBLEMS MICROSERVICE 1 Ribbon EUREKA Service Discovery
RESILIENCE4J
Centralized Con ig
METRICS
Grafana
Prometheus
f
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 23
KNOWN NETWORK PROBLEMS MICROSERVICE 1 Ribbon EUREKA Service Discovery
RESILIENCE4J
Centralized Con ig
METRICS
Grafana
Prometheus
f
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 24
KNOWN NETWORK PROBLEMS MICROSERVICE 1 Ribbon EUREKA Service Discovery
RESILIENCE4J
Centralized Con ig
METRICS
Grafana
Prometheus
f
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 25
KNOWN NETWORK PROBLEMS MICROSERVICE 1 Ribbon EUREKA Service Discovery
RESILIENCE4J
Centralized Con ig
METRICS
Jaeger/Otel
f
THE CLOUD API COMPANY
TRACING
@gamussa | @NashvilleJUG | @thekonginc
Grafana
Prometheus
Slide 26
KNOWN NETWORK PROBLEMS MICROSERVICE 1 Ribbon EUREKA Service Discovery
RESILIENCE4J
Centralized Con ig
METRICS
Jaeger/Otel
f
THE CLOUD API COMPANY
TRACING
@gamussa | @NashvilleJUG | @thekonginc
Grafana
Prometheus
Slide 27
KNOWN NETWORK PROBLEMS API Gateway
MICROSERVICE 1 Ribbon
EUREKA Service Discovery
RESILIENCE4J
Centralized Con ig
METRICS
Jaeger/Otel
f
THE CLOUD API COMPANY
TRACING
@gamussa | @NashvilleJUG | @thekonginc
Grafana
Prometheus
Slide 28
KNOWN NETWORK PROBLEMS API Gateway
MICROSERVICE 1 Ribbon
EUREKA Service Discovery
RESILIENCE4J
Centralized Con ig
METRICS
Jaeger/Otel
f
THE CLOUD API COMPANY
TRACING
@gamussa | @NashvilleJUG | @thekonginc
Grafana
Prometheus
Slide 29
KNOWN NETWORK PROBLEMS API Gateway
MICROSERVICE 1 Ribbon
EUREKA Service Discovery
RESILIENCE4J
Centralized Con ig
METRICS
Jaeger/Otel
f
THE CLOUD API COMPANY
TRACING
@gamussa | @NashvilleJUG | @thekonginc
Grafana
Prometheus
Slide 30
BUILD ONCE, USE EVERYWHERE MICROSERVICE 1 Ribbon RESILIENCE4J METRICS TRACING
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 31
BUILD ONCE, USE EVERYWHERE MICROSERVICE 1 Ribbon RESILIENCE4J METRICS TRACING
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 32
BUILD ONCE, USE EVERYWHERE MICROSERVICE 1
MICROSERVICE 1
Ribbon RESILIENCE4J METRICS TRACING
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 33
BUILD ONCE, USE EVERYWHERE MICROSERVICE 1
MICROSERVICE 1
Ribbon RESILIENCE4J METRICS TRACING
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 34
HOST / VM / POD
HOST / VM / POD {TCP}
SERVICE
SERVICE
localhost
THE CLOUD API COMPANY
localhost
@gamussa | @NashvilleJUG | @thekonginc
Slide 35
ONE INSTANCE OF PROXY ON EVERY REPLICA OF EVERY SERVICE
HOST / VM / POD HOST / VM / POD HOST / VM / POD
HOST / VM / POD HOST / VM / POD HOST / VM / POD
SERVICE SERVICE SERVICE
THE CLOUD API COMPANY
SERVICE SERVICE SERVICE
@gamussa | @NashvilleJUG | @thekonginc
Slide 36
HOST / VM / POD
HOST / VM / POD {TCP}
SERVICE
SERVICE
Proxy configuration statically defined
THE CLOUD API COMPANY
Proxy configuration statically defined
@gamussa | @NashvilleJUG | @thekonginc
Slide 37
HOST / VM / POD
HOST / VM / POD {TCP}
SERVICE
SERVICE
Proxy configuration is being dynamically propagated and applied
CONF SERVICE
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 38
HOST / VM / POD
HOST / VM / POD DATA PLANE
DATA PLANE
{TCP}
SERVICE
SERVICE
Proxy configuration is being dynamically propagated and applied
CONTROL PLANE
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 39
SERVICE MESH HOST / VM / POD
HOST / VM / POD DATA PLANE
DATA PLANE
{TCP}
SERVICE
SERVICE
Proxy configuration is being dynamically propagated and applied
CONTROL PLANE
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc
Slide 40
DATA PLANE: CONTROL PLANE:
envoyproxy.io kuma.io
THE CLOUD API COMPANY
@gamussa | @NashvilleJUG | @thekonginc