🕸 Service Mesh for ☕ Java Developers
DEVOXX, KRAKOW, POLAND, 2022 @gamussa | @DevoxxPl | @thekonginc
Slide 2
It used to be so simple…
Slide 3
THE CLOUD CONNECTIVITY COMPANY
@gamussa | @DevoxxPl | @thekonginc
Slide 4
Refactoring to microservices
Slide 5
Viktor GAMOV Principal Developer Advocate
f
THE CLOUD CONNECTIVITY COMPANY
@gamussa | @kumamesh | @thekonginc
Kong Con idential
Slide 6
THE CLOUD CONNECTIVITY COMPANY
@gamussa | @DevoxxPl | @thekonginc
Slide 7
THE CLOUD CONNECTIVITY COMPANY
@gamussa | @DevoxxPl | @thekonginc
Slide 8
{TCP} MONOLITH
THE CLOUD CONNECTIVITY COMPANY
DATABASE
@gamussa | @DevoxxPl | @thekonginc
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
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
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
CODE {ERRORS} {RETRIES}
MONOLITH
{SECURITY}
DATABASE
{LOGGING} {TRACING} {ROUTING} {ETC}
THE CLOUD CONNECTIVITY COMPANY
@gamussa | @DevoxxPl | @thekonginc
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
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
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
BUILD ONCE, USE EVERYWHERE MICROSERVICE 1
MICROSERVICE 1
Ribbon RESILIENCE4J METRICS TRACING
THE CLOUD CONNECTIVITY COMPANY
@gamussa | @DevoxxPl | @thekonginc
Slide 17
HOST / VM / POD
HOST / VM / POD {TCP}
SERVICE
SERVICE
localhost
THE CLOUD CONNECTIVITY COMPANY
localhost
@gamussa | @DevoxxPl | @thekonginc
Slide 18
SERVICE
SERVICE
SERVICE
SERVICE
THE CLOUD CONNECTIVITY COMPANY
@gamussa | @DevoxxPl | @thekonginc
Slide 19
HOST / VM / POD
HOST / VM / POD
{TCP}
MONOLITH
THE CLOUD CONNECTIVITY COMPANY
MONOLITH
@gamussa | @DevoxxPl | @thekonginc
Slide 20
HOST
SERVICE
POD
SERVICE
VIRTUAL MACHINE
SERVICE
THE CLOUD CONNECTIVITY COMPANY
@gamussa | @DevoxxPl | @thekonginc
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
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
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
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
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
CONTROL PLANE
THE CLOUD CONNECTIVITY COMPANY
@gamussa | @DevoxxPl | @thekonginc
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
CONTROL PLANE
THE CLOUD CONNECTIVITY COMPANY
@gamussa | @DevoxxPl | @thekonginc