1 of 41

Istio 101

Mesh for Microservices

2 of 41

Prerequisite

  • Kubernetes 101 experience
  • YAML

3 of 41

Monolith Applications

Great to begin with

Customer

Preferences

Recommendation

Customer Service

4 of 41

Hard to upgrade

Customer

Preferences

Recommendation

Customer Service�V1

5 of 41

Decrease velocity

Customer

Preferences

Recommendation

Customer Service

V1

Customer

Preferences

Recommendation

Customer Service

V2

Every 3 weeks or 1 month

6 of 41

Stack limitations

Bookinfo application

Customer

Reviews

Ratings

Customer

Preferences

Recommendation

Customer Service

7 of 41

How to solve

Monolith Application

problems?

8 of 41

Small Applications (AKA microservices)

Customer Service

Customer

Preferences

Recommendation

Process

9 of 41

Easy Upgrades

Customer Service

Customer v1

Preferences v3

Recommendation v2

10 of 41

Better velocity & team agility

Customer Service

Customer

Preferences

Recommendation

11 of 41

Polyglot stack

Customer Service

Customer

Preferences

Recommendation

12 of 41

Small Applications (AKA microservices)

13 of 41

Service Discovery (connect)

Customer

Preferences

Recommendation

http:// X

14 of 41

Service Discovery (connect)

Customer

Preferences

Recommendation

http:// X

Recommendation

http:// Y

15 of 41

Service Discovery (connect)

16 of 41

Load balancing

Customer

Customer

17 of 41

Load balancing

Customer

Customer

Preferences

Preferences

18 of 41

Monitoring & Observability

Bookinfo�App

Bookinfo�App

Customer Service

3 X

Customer

Preferences

Recommendation

Customer

Preferences

Recommendation

Customer

Preferences

Recommendation

10 X

19 of 41

Network resiliency and latencies

Customer

Preferences

Recommendation

20 of 41

Security

Bookinfo�App

Bookinfo�App

Customer Service

Customer

Preferences

Recommendation

21 of 41

Service Challenges

Putting it all together

22 of 41

Solution?

23 of 41

Kubernetes

  • Deploy and rollout many services
  • Service discovery and Load balancing

24 of 41

Who solves other Challenges?

Canary deployment, ACL, Quotas

Monitoring and Observability

Network Resiliency

Security

25 of 41

DIY Way

POD

Customer

Load balancer

Service discovery

TLS

Circuit Breaker

Metrics, Traces

26 of 41

Better way!

POD

Customer

Application�Container

Sidecar Proxy

Load balancing

Service discovery

TLS

Circuit Breaker

Metrics, Traces

27 of 41

POD

Customer�

Sidecar Proxy

POD

Preference�

Sidecar Proxy

28 of 41

Need something more?

POD

Product Info�

Sidecar Proxy

POD

Reviews�

Sidecar Proxy

Control Interfaces for sidecar

Services discover information

Configure route rules, policies

Collect metrics data

29 of 41

30 of 41

Istio - Connect, manage, Secure

  • Control plane
  • Service and Cluster abstraction
  • Rich policy driven ops (IFTTT for services)
  • Polyglot

31 of 41

Show me some

Demo

32 of 41

Customer Service Application

Pod

Container

Customer

Proxy Sidecar

Pod

Container

Preferences

Proxy Sidecar

Pod

Pod

Container

Recommend

Proxy Sidecar

33 of 41

Dark Launch Deployment

Pod

Container

Customer

Proxy Sidecar

Pod

Container

Preference

Proxy Sidecar

100%

Pod

Container

RecommendV1

Proxy Sidecar

Pod

Container

RecommendV2

Proxy Sidecar

mirror

Pod

Container

Preferences

Proxy Sidecar

34 of 41

Canary Deployment

Pod

Container

Customer

Proxy Sidecar

Pod

Container

Preference

Proxy Sidecar

90%

Pod

Container

RecommendV1

Proxy Sidecar

Pod

Container

RecommendV2

Proxy Sidecar

10%

Pod

Container

Preferences

Proxy Sidecar

35 of 41

Canary Deployment

Pod

Container

Customer

Proxy Sidecar

Pod

Container

Preference

Proxy Sidecar

All user agent

Pod

Container

RecommendV1

Proxy Sidecar

Pod

Container

RecommendV2

Proxy Sidecar

iPhone user agent

Pod

Container

Preferences

Proxy Sidecar

36 of 41

Istio Components

37 of 41

Istio Architecture

Pod

Container

Runtime

Service B

Pod

Container

Runtime

Service C

Envoy Sidecar

HTTP1.1, HTTP2, gRPC, TCP w/TLS

HTTP1.1, HTTP2, gRPC, TCP w/TLS

HTTP1.1, HTTP2, gRPC, TCP w/TLS

Istio Pilot

Istio Mixer

Istio Auth (Citadel)

istioctl, API, config

Quota, Telemetry�Rate Limiting, ACL

CA, SPIFFE

Data Plane

Control Plane

Pod

Container

Customer

Envoy Sidecar

Runtime

Preferences

Recommend

38 of 41

Istio Pilot - Envoy

Pod

Container

Runtime

Customer

Pod

Container

Runtime

Service B

Pod

Container

Runtime

Service C

Istio Pilot

istioctl

Data Plane

Control Plane

K

8

s

.

.

.

.

Service Discovery Route Config �

Preferences

Recommend

39 of 41

Istio Mixer - Envoy

Pod

Container

Runtime

Customer

Pod

Container

Runtime

Service B

Pod

Container

Runtime

Service C

Istio Mixer

Data Plane

Control Plane

P

R

Telemetry�Traces�

Policy �Checks

.

.

.

.

Preferences

Recommend

40 of 41

41 of 41

We are open for questions

Savita Ashture

Sr. Software Engineer @ RedHat�Contributing to KNative project

Hrishikesh Shinde

Sr. Software Engineer @ RedHat�Contributing to TektonCD project