Service Mesh for Java Developers

A presentation at Nashville JUG in September 2023 in Nashville, TN, USA by Viktor Gamov

Slide 1

Slide 1

🕸 Service Mesh for ☕ Java Developers NASHVILLE JUG, SEPTEMBER, 2023 @gamussa | @NashvilleJUG | @thekonginc

Slide 2

Slide 2

https://gamov.dev/kuma4devs

Slide 3

Slide 3

It used to be so simple…

Slide 4

Slide 4

THE CLOUD API COMPANY @gamussa | @NashvilleJUG | @thekonginc

Slide 5

Slide 5

THE CLOUD API COMPANY @gamussa | @NashvilleJUG | @thekonginc

Slide 6

Slide 6

Slide 7

Slide 7

Refactoring to microservices

Slide 8

Slide 8

Viktor GAMOV Principal Developer Advocate | Kong THE CLOUD API COMPANY Twitter X: @gamussa Kong Confidential

Slide 9

Slide 9

Network is a Computer THE CLOUD API COMPANY @gamussa | @NashvilleJUG | @thekonginc

Slide 10

Slide 10

Network is a Computer THE CLOUD API COMPANY @gamussa | @NashvilleJUG | @thekonginc

Slide 11

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

Slide 12

THE CLOUD API COMPANY @gamussa | @NashvilleJUG | @thekonginc

Slide 13

Slide 13

{TCP} MONOLITH THE CLOUD API COMPANY DATABASE @gamussa | @NashvilleJUG | @thekonginc

Slide 14

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

Slide 15

KNOWN NETWORK PROBLEMS MICROSERVICE 1 THE CLOUD API COMPANY @gamussa | @NashvilleJUG | @thekonginc

Slide 16

Slide 16

KNOWN NETWORK PROBLEMS MICROSERVICE 1 Ribbon THE CLOUD API COMPANY @gamussa | @NashvilleJUG | @thekonginc

Slide 17

Slide 17

KNOWN NETWORK PROBLEMS MICROSERVICE 1 Ribbon EUREKA Service Discovery THE CLOUD API COMPANY @gamussa | @NashvilleJUG | @thekonginc

Slide 18

Slide 18

KNOWN NETWORK PROBLEMS MICROSERVICE 1 Ribbon EUREKA Service Discovery THE CLOUD API COMPANY @gamussa | @NashvilleJUG | @thekonginc

Slide 19

Slide 19

KNOWN NETWORK PROBLEMS MICROSERVICE 1 Ribbon EUREKA Service Discovery THE CLOUD API COMPANY RESILIENCE4J @gamussa | @NashvilleJUG | @thekonginc

Slide 20

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

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

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

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

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

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

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

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

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

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

Slide 30

BUILD ONCE, USE EVERYWHERE MICROSERVICE 1 Ribbon RESILIENCE4J METRICS TRACING THE CLOUD API COMPANY @gamussa | @NashvilleJUG | @thekonginc

Slide 31

Slide 31

BUILD ONCE, USE EVERYWHERE MICROSERVICE 1 Ribbon RESILIENCE4J METRICS TRACING THE CLOUD API COMPANY @gamussa | @NashvilleJUG | @thekonginc

Slide 32

Slide 32

BUILD ONCE, USE EVERYWHERE MICROSERVICE 1 MICROSERVICE 1 Ribbon RESILIENCE4J METRICS TRACING THE CLOUD API COMPANY @gamussa | @NashvilleJUG | @thekonginc

Slide 33

Slide 33

BUILD ONCE, USE EVERYWHERE MICROSERVICE 1 MICROSERVICE 1 Ribbon RESILIENCE4J METRICS TRACING THE CLOUD API COMPANY @gamussa | @NashvilleJUG | @thekonginc

Slide 34

Slide 34

HOST / VM / POD HOST / VM / POD {TCP} SERVICE SERVICE localhost THE CLOUD API COMPANY localhost @gamussa | @NashvilleJUG | @thekonginc

Slide 35

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

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

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

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

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

Slide 40

DATA PLANE: CONTROL PLANE: envoyproxy.io kuma.io THE CLOUD API COMPANY @gamussa | @NashvilleJUG | @thekonginc

Slide 41

Slide 41

STOP! Demo time! @gamussa | @NashvilleJUG | @thekonginc

Slide 42

Slide 42

Please, subscribe to my YouTube channel ™ @gamussa | @NashvilleJUG | @thekonginc

Slide 43

Slide 43

Please, subscribe to my YouTube channel ™ https://youtube.com/konginc @gamussa | @NashvilleJUG | @thekonginc