Service Mesh for Java Developers

A presentation at Devoxx Poland in June 2022 in Kraków, Poland by Viktor Gamov

Slide 1

Slide 1

🕸 Service Mesh for ☕ Java Developers DEVOXX, KRAKOW, POLAND, 2022 @gamussa | @DevoxxPl | @thekonginc

Slide 2

Slide 2

It used to be so simple…

Slide 3

Slide 3

THE CLOUD CONNECTIVITY COMPANY @gamussa | @DevoxxPl | @thekonginc

Slide 4

Slide 4

Refactoring to microservices

Slide 5

Slide 5

Viktor GAMOV Principal Developer Advocate f THE CLOUD CONNECTIVITY COMPANY @gamussa | @kumamesh | @thekonginc Kong Con idential

Slide 6

Slide 6

THE CLOUD CONNECTIVITY COMPANY @gamussa | @DevoxxPl | @thekonginc

Slide 7

Slide 7

THE CLOUD CONNECTIVITY COMPANY @gamussa | @DevoxxPl | @thekonginc

Slide 8

Slide 8

{TCP} MONOLITH THE CLOUD CONNECTIVITY COMPANY DATABASE @gamussa | @DevoxxPl | @thekonginc

Slide 9

Slide 9

SERVICE SERVICE SERVICE SERVICE SERVICE SERVICE SERVICE SERVICE SERVICE SERVICE SERVICE SERVICE SERVICE SERVICE SERVICE SERVICE SERVICE SERVICE SERVICE SERVICE THE CLOUD CONNECTIVITY COMPANY @gamussa | @DevoxxPl | @thekonginc

Slide 10

Slide 10

FROM CPU TO NETWORK PROCESS NETWORK OBJECT SERVICE INTERFACE API object.doSomething() {TCP} INTERFACE API OBJECT SERVICE THE CLOUD CONNECTIVITY COMPANY @gamussa | @DevoxxPl | @thekonginc NE RK O W T T! S UE Q E R

Slide 11

Slide 11

KNOWN NETWORK PROBLEMS ENCRYPTION IDENTITY TRAFFIC ACL ROUTING VERSIONING DEPLOYMENTS OBSERVABILITY LOGGING TRACING RESILIENCY ZERO-TRUST CHAOS THE CLOUD CONNECTIVITY COMPANY @gamussa | @DevoxxPl | @thekonginc

Slide 12

Slide 12

CODE {ERRORS} {RETRIES} MONOLITH {SECURITY} DATABASE {LOGGING} {TRACING} {ROUTING} {ETC} THE CLOUD CONNECTIVITY COMPANY @gamussa | @DevoxxPl | @thekonginc

Slide 13

Slide 13

M ON OL IT H {E MON OLIT H CO DE {S RRO EC R {R UR S} OU IT Y TI {E NG } TC } } CODE COD E {ERRORS} MONOLITH {SEC {RETRIES} URIT Y} {LOG {SECURITY} GING } {ETC {LOGGING} } {TRACING} E S A B A T DA DATABASE {ROUTING} {ETC} DE O C S} E I TR E R { C} T {E H T I L O N O M THE CLOUD CONNECTIVITY COMPANY @gamussa | @DevoxxPl | @thekonginc DAT ABA SE DA TA BA SE

Slide 14

Slide 14

CODE DUPLICATION AND FRAGMENTATION SERVICE CODE SERVICE CODE SERVICE CODE SERVICE CODE SERVICE CODE SERVICE CODE SERVICE CODE SERVICE CODE SERVICE CODE SERVICE CODE SERVICE CODE SERVICE CODE SERVICE CODE SERVICE CODE SERVICE CODE SERVICE CODE SERVICE CODE SERVICE CODE SERVICE CODE SERVICE CODE THE CLOUD CONNECTIVITY COMPANY @gamussa | @DevoxxPl | @thekonginc

Slide 15

Slide 15

KNOWN NETWORK PROBLEMS API Gateway MICROSERVICE 1 Ribbon EUREKA Service Discovery RESILIENCE4J Centralized Con ig METRICS Jaeger/Otel f THE CLOUD CONNECTIVITY COMPANY TRACING @gamussa | @DevoxxPl | @thekonginc Grafana Prometheus

Slide 16

Slide 16

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

Slide 17

Slide 17

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

Slide 18

Slide 18

SERVICE SERVICE SERVICE SERVICE THE CLOUD CONNECTIVITY COMPANY @gamussa | @DevoxxPl | @thekonginc

Slide 19

Slide 19

HOST / VM / POD HOST / VM / POD {TCP} MONOLITH THE CLOUD CONNECTIVITY COMPANY MONOLITH @gamussa | @DevoxxPl | @thekonginc

Slide 20

Slide 20

HOST SERVICE POD SERVICE VIRTUAL MACHINE SERVICE THE CLOUD CONNECTIVITY COMPANY @gamussa | @DevoxxPl | @thekonginc

Slide 21

Slide 21

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 CONNECTIVITY COMPANY SERVICE SERVICE SERVICE @gamussa | @DevoxxPl | @thekonginc

Slide 22

Slide 22

HOST / VM / POD HOST / VM / POD {TCP} SERVICE SERVICE Proxy configuration statically defined THE CLOUD CONNECTIVITY COMPANY Proxy configuration statically defined @gamussa | @DevoxxPl | @thekonginc

Slide 23

Slide 23

HOST / VM / POD HOST / VM / POD {TCP} SERVICE SERVICE Proxy configuration is being dynamically propagated and applied CONF SERVICE THE CLOUD CONNECTIVITY COMPANY @gamussa | @DevoxxPl | @thekonginc

Slide 24

Slide 24

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 CONNECTIVITY COMPANY @gamussa | @DevoxxPl | @thekonginc

Slide 25

Slide 25

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 CONNECTIVITY COMPANY @gamussa | @DevoxxPl | @thekonginc

Slide 26

Slide 26

CONTROL PLANE THE CLOUD CONNECTIVITY COMPANY @gamussa | @DevoxxPl | @thekonginc

Slide 27

Slide 27

DATACENTER / REGION / BUSINESS BOUNDARY DATACENTER / REGION / BUSINESS BOUNDARY {East-West Traffic} {East-West Traffic} {North-South Traffic} CONTROL PLANE THE CLOUD CONNECTIVITY COMPANY @gamussa | @DevoxxPl | @thekonginc

Slide 28

Slide 28

CONTROL PLANE THE CLOUD CONNECTIVITY COMPANY @gamussa | @DevoxxPl | @thekonginc

Slide 29

Slide 29

Database @gamussa | @DevoxxPl | @thekonginc

Slide 30

Slide 30

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

Slide 31

Slide 31

Join Kong Nation! Links - https://konghq.com/kongbuilders/ - https://youtube.com/konginc - https://konghq.com/ community/ @gamussa | @DevoxxPl | @thekonginc