Microservices
the phantom menace
istio service mesh
the new hope
About me
Sergii Bishyr
Software engineer at Lohika
@BishyrS
seriybg@gmail.com
2
Agenda
• Challenges of Microservices
• Service Mesh
• Istio
• Demo
• Summary
3
Why Microservices?
• It’s a tend
• Make change less expensive
• Use right tool for the right task
• Scalability
• etc.
4
Why Microservices?
• It’s a tend
• Make change less expensive
• Use right tool for the right task
• Scalability
• etc.
5
Complexity it
introduces!
Microservices
6
Microservices
7
Service to Service communication
8
Service to Service communication
9
Service to Service communication
10
Service to Service communication
11
Service to Service communication
12
Service to Service communication
13
Service Discovery
14
Service Discovery
15
Service
Registry
Service Discovery
16
Service
Registry
Service Discovery
17
Service
Registry
Service Discovery
18
Service
Registry
Service Discovery
19
Service
Registry
Service Discovery
20
Service
Registry
Service Discovery
21
Service
Registry
Fault Handling
22
Fault Handling
23
Fault Handling
24
Fault Handling
25
Service A Service B
Fault Handling
26
Service A Service B
Fault Handling
Timeout
27
Service A Service B
Fault Handling
Timeout
Retry
28
Service A Service B
Fault Handling
29
Service A Service B
Fault Handling
30
Service A Service B
Fault Handling
31
Service A Service B
Fault Handling
32
Service A Service B
Circuit Breaker
33
Service A Service B
Testing
34
Testing
35
Testing
36
Testing
37
Testing
38
Chaos engineering
39
Chaos engineering
40
Chaos engineering
41
Release testing
42
Service A Service B v1
Release testing
43
Service A
Service B v1
Service B v2
Blue-Green Deployment
44
Service A
Service B v1
Service B v2
GREEN
BLUE
Blue-Green Deployment
45
TESTS
Service A
Service B v1
Service B v2
GREEN
BLUE
Blue-Green Deployment
46
Service A
Service B v1
Service B v2
GREEN
BLUE
Canary Deployment
47
Service A
Service B v1
Service B v2
Canary Deployment
48
Service A
Service B v1
Service B v2
Canary Deployment
49
Service A
Service B v1
Service B v2
Security
50
Security: Encryption
51
HTTPS
Security: Encryption
52
HTTPS
Security: Encryption
53
HTTPS
Certificate
Authority
Security: Encryption
54
HTTPS
Certificate
Authority
Security: Encryption
55
HTTPS
Certificate
Authority
Security: Identity
56
Service A Service B
Security: Identity
57
Service A Service B
Who are you?
Security: Identity
Auth
Service
58
Service A Service B
Security: Identity
Auth
Service
59
Service A Service B
Security: Identity
Auth
Service
60
Service A Service B
Security: Identity
Auth
Service
61
Service A Service B
Security: Identity
Auth
Service
62
Service A Service B
Hello C-3P0
Security: Identity
Auth
Service
63
Service A Service B
Security: Identity
Auth
Service
64
Service A Service B
Security: Identity
Auth
Service
65
Service A Service B
Security: Identity
Auth
Service
66
Service A Service B
Hello C-3P0
Troubleshooting
67
Troubleshooting
68
Troubleshooting
69
Troubleshooting
70
Troubleshooting
71
?
?
?
?
? ? ?
???
Distributed Tracing, Log Aggregation,
Monitoring
72
Let’s do this!
29
Client Library
74
Service
Discovery
Circuit
breaker
Tracing,
Metrics
etc.
Client Library
75
Service
Discovery
Circuit
breaker
Tracing,
Metrics
etc.
Client Library
76
Service
Discovery
Circuit breaker
Tracing,
Metrics
etc.
Polyglot architectures
77
Client Library
78
Sidecar Pattern
79
Sidecar Pattern
80
Sidecar Pattern
81
Service Mesh
82
Control Plane
Service Mesh
83
Control Plane
Configs
Service Mesh
84
Control Plane
Configs
ThoughtWorks Technology Radar
thoughtworks.com/radar/techniques/service-mesh 85
Meet Istio
istio.io
86
Istio Control Plane
Pilot Mixer Citadel
Configs Telemetry,
Policy checks
TLS certs
87
Istio Proxy
88
Istio
89
Pilot
Configs
ThoughtWorks Technology Radar
thoughtworks.com/radar/platforms/istio 90
Advanced routing
91
Service A
Service B v1
Advanced routing
92
Service A
Service B v1
Service B v2
Advanced routing
93
Service A
Service B v1
Service B v2
Advanced routing
94
Service A
Service B v1
Service B v2
Traffic mirroring
95
Service A
Service B v1
Traffic mirroring
96
Service A
Service B v1
Service B v2
Traffic mirroring
97
Service A
Service B v1
Service B v2
Resilience
Timeout: 1m, Retries: 5
98
Service A Service B
Resilience
Timeout: 1m, Retries: 5
Timeout: 15s, Retries: 3
99
Service A Service B
Fault injection
100
Fault injection
101
Fault injection
102
Circuit breaker
max connections
max pending requests
max requests
consecutive errors
103
Tracing, Logging, Metrics
Service Service Service
Istio Mixer
104
Tracing, Logging, Metrics
Service Service Service
Istio Mixer
Tracing
Metrics
Logging
etc.
105
Tracing, Logging, Metrics
Service Service Service
Istio Mixer
106
Security: mTLS
107
Istio Citadel
Security: mTLS
108
Istio Citadel
Security: mTLS
109
Istio Citadel
Security: mTLS
110
Istio Citadel
Security: JWT verification
Service
Identity
provider
111
Istio Key Concepts
112
The Cluster
SERVICE
SERVICE
SERVICEVIRTUAL
SERVICE
DESTINATION
RULE
GATEWAY SERVICE
ENTRY
POLICIES
Not so long time ago, in a company
far far away…
(DEMO TIME)
github.com/SeriyBg/starwars-istio 113
114github.com/SeriyBg/starwars-istio
demo.javadayistio.com
115
Summary
● Focus on business logic
● Freedom to choose any technology stack
● Observability out of the box
● Solve most of the microservices problems
(but not all of them)
Choose wisely.
You are responsible for your application!
Resources
• Official Istio blog
istio.io/blog
• “Istio in Action” by Christian Posta
manning.com/books/istio-in-action
• Christian Posta’s blog
blog.christianposta.com/tags/#istio
• Red Hat Developers blog
developers.redhat.com/topics/service-mesh
116
Thank You!
@BishyrS
seriybg@gmail.com
Any questions do you have?
117

Microservices:
 The phantom menace
. Istio Service Mesh: 
the new hope