SlideShare a Scribd company logo
Hello ISTIO!
Service Mesh and Microservices
Jooho Lee
Who am I?
Jooho Lee
Senior Technical Account Manager in Toronto Red Hat
OpenShift User Group Administrator in Facebook
Ansible User Group Administrator in Facebook
Routing & Load Balancing
Service Discovery
Failures, Timeouts and Retries
Monitoring, Metrics and Tracing
Logging
Back Pressure and Shadowing
A/B Testing
Rate Limiting
Authentication and Authorization
Security
Access Control
Circuit Breaking
Feature Lists
Similar to something?
Netflix OSS
● A set of frameworks to solve microservice problems at scale
○ Hystrix, Zuul, Eureka, Zipkin, Ribbon, Atlas
● Only Java support
➔ Different frameworks for different languages
◆ Spring, Node, Go?
➔ Inconsistent
➔ Built right into the apps
For Polyglot Programming?
Hello ISTIO!
https://istio.io
Main Components
● Envoy
○ Deployed as a sidecar to intercept all inbound and outbound traffic, Istio uses the many
features of Envoy Proxy in a transparent, agnostic way
● Mixer
○ Mixer acts on request attributes from each envoy. This allows for advanced access control,
usage and telemetry
● Pilot
○ Pilot abstracts and controls. Using your defined rules around traffic management, routing
and resiliency, it converts and sends the config to the Envoy proxies
● Citadel
○ Key and cert management for secure service to service and end user authentication.
Control Plane -ISTIO-SYSTEM
Egress Gateway Ingress Gateway
Sidecar-Injector Statsd-Prom-BridgeCleanup-Secrets
CitadelGalleyPilot Policy Telemetry
Mixer
Grafana
Grafana-post
TracingPrometheus Service Graph
Flow
Egress GatewayIngress Gateway
CitadelGalleyPilot Policy Telemetry
Mixer Control Plane
RouterClient
Envoy Envoy
Chat Client Chat Server
CDN
….
kind: Deployment
….
template:
metadata:
annotations:
sidecar.istio.io/inject: "true"
labels:
…..
Auto Inject is available
Show me the sidecar!
The I to O of ISTIO
Show me some cool things!
● Install ISTIO!!
● Demo 1 - Base Deployment (Get Ready)
● Demo 2 - Smart Canaries - Routing Based on Headers
● Demo 3 - Smart Canaries - Egress Traffic
● Demo 4 - Smart Canaries - Canary Deployment
● Demo 5 - Service Resiliency - Load Balancing
● Demo 6 - Service Resiliency - Pod Ejection
● Demo 7 - Service Resiliency - Timeout
● Demo 8 - Chaos Testing - Retry + Fault Inject
● Demo 9 - Service Resiliency - Circuit Breaker
● Demo 10 - Monitoring - Tracing, Metrics
Demo 1 - Base Deployment
API-Server (Auth)
Server
Client(ETC)
Client(Android)
Client(Apple)
Redis
CDN
Please Connect
⇒chat-client.apps.toronto.openshiftworkshop.com
Next
● Allow Egress(CDN) from chat server
API-Server (Auth)
Server
Client(ETC)
Client(Android)
Client(Apple)
Check
● Refresh page
○ Check the log on top left
● Go to chat room
○ Refresh page
■ Messages gone
Redis
CDN
Demo 2 - Smart Canaries, Routing on Headers
chat-client.apps.toronto.openshiftworkshop.com
Next
- Deploy V2 Chat Server
API-Server (Auth)
Server
Client(ETC)
Client(Android)
Client(Apple)
Check
● Refresh page
○ Red Hat Logo is shown
Redis
CDN
Demo 3 - Smart Canaries, Egress Traffic
chat-client.apps.toronto.openshiftworkshop.com
Check
● Login → Chat Room
○ Check Server Version
○ 90/10 Distribution
○ All messages remained
API-Server (Auth)
Server (v2)
Client(ETC)
Client(Android)
Client(Apple)
Server (v1)
Redis
Next
● Rollback virtual service of chat-server
to initial state
● Scale Out Server v2 to 3
● Load Balancing
Demo 4 - Smart Canaries, Canary Deployment
chat-client.apps.toronto.openshiftworkshop.com
Check
● ¼ users -> v1(25%)
● ¾ users ->v2 (75%)
● Add Destination Rule (LB: RANDOM)
○ Randomly pick v1 and v2
API-Server (Auth)
Server (v2)
Client(ETC)
Client(Android)
Client(Apple)
Server (v1)
Redis
Next
● Scale Down Server v2 to 1
● Scale Out API-Server to 2
● Occur 503 on one of API Server
Server (v2)
Server (v2)
Demo 5 - Service Resiliency & Load Balancing
chat-client.apps.toronto.openshiftworkshop.com
Check
● POD Ejection
○ The problematic pod will be
ejected from service
Server (v2)Client(ETC)
Client(Android)
Client(Apple)
Server (v1)
Redis
Next
● Long Tasks(5sec)
● Set 1s timeout from chat server to auth
API-Server (Auth) API-Server (Auth)503
Demo 6 - Service Resiliency, Pod Ejection
chat-client.apps.toronto.openshiftworkshop.com
Check
● Response time has to be
under 1 secs
Server (v2)
Client(ETC)
Client(Android)
Client(Apple)
Server (v1)
Redis
Next
● Scale Down API Server to 1
● Give fault inject (Server → Auth)
● Set retry policy (Server → Auth)
API-Server (Auth) API-Server (Auth)
Timeout
Long Task
Demo 7 - Service Resiliency, Timeouts
chat-client.apps.toronto.openshiftworkshop.com
Check
● No 503 errors
Server (v2)
Client(ETC)
Client(Android)
Client(Apple)
Server (v1)
Redis
Next
● Give fault inject (Server → Auth)
● Set retry policy (Server → Auth)
API-Server (Auth)
503 Fault InjectionRetry
Demo 8 - Chaos Testing, Retry, Fault Injection
chat-client.apps.toronto.openshiftworkshop.com
Check
● 503 errors if there are many
requests by circuit breaker
Server (v2)Client(ETC)
Client(Android)
Client(Apple)
Server (v1)
Redis
Next
● Metrics
● Tracing
API-Server (Auth)
503
Demo 9 - Service Resiliency, Circuit Breaker
chat-client.apps.toronto.openshiftworkshop.com
Demo 10 - Monitoring and Tracing
http://prometheus-istio-system.apps.toronto.openshiftworkshop.com
Demo 10 - Monitoring and Metrics
http://grafana-istio-system.apps.toronto.openshiftworkshop.com
Demo:
● https://github.com/Jooho/jhouse_openshift/demos/Hello_ISTIO
Training:
● https://learn.openshift.com/servicemesh
Sample Applications
● https://istio.io/docs/examples/bookinfo/
● https://github.com/redhat-developer-demos
References
QnA

More Related Content

PPTX
Docker, Atomic Host and Kubernetes.
PDF
MuleSoft Manchester Meetup #3 slides 31st March 2020
PDF
DockerCon US 2016 - Extending Docker With APIs, Drivers, and Plugins
PDF
Docker in production service discovery with consul - road to opscon 2015
PPTX
Docker Service Registration and Discovery
PDF
Monitoring Containers at New Relic by Sean Kane
PDF
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
PDF
Atmosphere 2018: Yury Tsarev - TEST DRIVEN INFRASTRUCTURE FOR HIGHLY PERFORMI...
Docker, Atomic Host and Kubernetes.
MuleSoft Manchester Meetup #3 slides 31st March 2020
DockerCon US 2016 - Extending Docker With APIs, Drivers, and Plugins
Docker in production service discovery with consul - road to opscon 2015
Docker Service Registration and Discovery
Monitoring Containers at New Relic by Sean Kane
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
Atmosphere 2018: Yury Tsarev - TEST DRIVEN INFRASTRUCTURE FOR HIGHLY PERFORMI...

What's hot (20)

PDF
How we scale DroneCi on demand
PPTX
Microservices with docker swarm and consul
PDF
Service discovery in Docker environments
PDF
Service discovery like a pro (presented at reversimX)
PPTX
Openstack Overview
PPTX
Kubernetes101 - Pune Kubernetes Meetup 6
PPTX
Dockerizing Windows Server Applications by Ender Barillas and Taylor Brown
PDF
Fabric8 - Being devOps doesn't suck anymore
PDF
Microservices, Kubernetes and Istio - A Great Fit!
PDF
Kubernetes Ingress 101
PDF
Container Runtimes: Comparing and Contrasting Today's Engines
PDF
Workshop Consul .- Service Discovery & Failure Detection
PDF
Kubernetes "Ubernetes" Cluster Federation by Quinton Hoole (Google, Inc) Huaw...
PDF
Rancher 2.0 Technical Deep Dive
PPTX
Manchester MuleSoft Meetup #6 - Runtime Fabric with Mulesoft
PDF
runC: The little engine that could (run Docker containers) by Docker Captain ...
PDF
Scaling docker with kubernetes
PDF
Developing Java based microservices ready for the world of containers
PDF
Kubernetes deep dive - - Huawei 2015-10
PDF
Kubernetes intro public - kubernetes user group 4-21-2015
How we scale DroneCi on demand
Microservices with docker swarm and consul
Service discovery in Docker environments
Service discovery like a pro (presented at reversimX)
Openstack Overview
Kubernetes101 - Pune Kubernetes Meetup 6
Dockerizing Windows Server Applications by Ender Barillas and Taylor Brown
Fabric8 - Being devOps doesn't suck anymore
Microservices, Kubernetes and Istio - A Great Fit!
Kubernetes Ingress 101
Container Runtimes: Comparing and Contrasting Today's Engines
Workshop Consul .- Service Discovery & Failure Detection
Kubernetes "Ubernetes" Cluster Federation by Quinton Hoole (Google, Inc) Huaw...
Rancher 2.0 Technical Deep Dive
Manchester MuleSoft Meetup #6 - Runtime Fabric with Mulesoft
runC: The little engine that could (run Docker containers) by Docker Captain ...
Scaling docker with kubernetes
Developing Java based microservices ready for the world of containers
Kubernetes deep dive - - Huawei 2015-10
Kubernetes intro public - kubernetes user group 4-21-2015
Ad

Similar to Hello istio (20)

PDF
21st Docker Switzerland Meetup - ISTIO
PDF
Introduction to Istio Service Mesh
PDF
Managing microservices with Istio Service Mesh
PDF
Istio Triangle Kubernetes Meetup Aug 2019
PDF
Managing Microservices With The Istio Service Mesh on Kubernetes
PPTX
ISTIO Deep Dive
PDF
Securing Microservices with Istio
PDF
Introduction to Istio on Kubernetes
PDF
Introduction-to-Service-Mesh-with-Istio-and-Kiali-OSS-Japan-July-2019.pdf
PDF
Introduction-to-Service-Mesh-with-Istio-and-Kiali-OSS-Japan-July-2019.pdf
PDF
Stop reinventing the wheel with Istio by Mete Atamel (Google)
PDF
Application Rollout - Istio
PDF
Service Mesh @Lara Camp Myanmar - 02 Sep,2023
PPTX
Kubernetes Istio Miami meetup
PPTX
Microservices With Istio Service Mesh
PDF
Microservice: the phanot menace. Istio Service Mesh: the new hope. JEEConf 2019
PDF
How to Make Istio Work with Your App
PDF
How to Make Istio Work with Your App
PDF
Service Mesh in Practice
PDF
Service Mesh - kilometer 30 in a microservice marathon
21st Docker Switzerland Meetup - ISTIO
Introduction to Istio Service Mesh
Managing microservices with Istio Service Mesh
Istio Triangle Kubernetes Meetup Aug 2019
Managing Microservices With The Istio Service Mesh on Kubernetes
ISTIO Deep Dive
Securing Microservices with Istio
Introduction to Istio on Kubernetes
Introduction-to-Service-Mesh-with-Istio-and-Kiali-OSS-Japan-July-2019.pdf
Introduction-to-Service-Mesh-with-Istio-and-Kiali-OSS-Japan-July-2019.pdf
Stop reinventing the wheel with Istio by Mete Atamel (Google)
Application Rollout - Istio
Service Mesh @Lara Camp Myanmar - 02 Sep,2023
Kubernetes Istio Miami meetup
Microservices With Istio Service Mesh
Microservice: the phanot menace. Istio Service Mesh: the new hope. JEEConf 2019
How to Make Istio Work with Your App
How to Make Istio Work with Your App
Service Mesh in Practice
Service Mesh - kilometer 30 in a microservice marathon
Ad

More from Jooho Lee (7)

PDF
Quay 3.3 installation
PPTX
OpenShift4 Installation by UPI on kvm
PDF
OpenSCAP Overview(security scanning for docker image and container)
PDF
OpenSCAP Overview(security scanning for docker image and container)
PPTX
Tcp summary
ODP
Practical byteman sample 20131128
PPTX
Consistent hashing
Quay 3.3 installation
OpenShift4 Installation by UPI on kvm
OpenSCAP Overview(security scanning for docker image and container)
OpenSCAP Overview(security scanning for docker image and container)
Tcp summary
Practical byteman sample 20131128
Consistent hashing

Recently uploaded (20)

PPTX
Tech Workshop Escape Room Tech Workshop
PDF
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
PDF
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
PPTX
Introduction to Windows Operating System
PPTX
Cybersecurity: Protecting the Digital World
PDF
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
PDF
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
PPTX
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
PDF
Salesforce Agentforce AI Implementation.pdf
PPTX
Custom Software Development Services.pptx.pptx
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PPTX
Patient Appointment Booking in Odoo with online payment
PDF
Topaz Photo AI Crack New Download (Latest 2025)
PDF
Autodesk AutoCAD Crack Free Download 2025
PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PDF
How Tridens DevSecOps Ensures Compliance, Security, and Agility
PDF
Time Tracking Features That Teams and Organizations Actually Need
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PDF
Types of Token_ From Utility to Security.pdf
Tech Workshop Escape Room Tech Workshop
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
Introduction to Windows Operating System
Cybersecurity: Protecting the Digital World
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
Salesforce Agentforce AI Implementation.pdf
Custom Software Development Services.pptx.pptx
Why Generative AI is the Future of Content, Code & Creativity?
Monitoring Stack: Grafana, Loki & Promtail
Patient Appointment Booking in Odoo with online payment
Topaz Photo AI Crack New Download (Latest 2025)
Autodesk AutoCAD Crack Free Download 2025
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
How Tridens DevSecOps Ensures Compliance, Security, and Agility
Time Tracking Features That Teams and Organizations Actually Need
Advanced SystemCare Ultimate Crack + Portable (2025)
Types of Token_ From Utility to Security.pdf

Hello istio

  • 1. Hello ISTIO! Service Mesh and Microservices Jooho Lee
  • 2. Who am I? Jooho Lee Senior Technical Account Manager in Toronto Red Hat OpenShift User Group Administrator in Facebook Ansible User Group Administrator in Facebook
  • 3. Routing & Load Balancing Service Discovery Failures, Timeouts and Retries Monitoring, Metrics and Tracing Logging Back Pressure and Shadowing A/B Testing Rate Limiting Authentication and Authorization Security Access Control Circuit Breaking Feature Lists
  • 5. Netflix OSS ● A set of frameworks to solve microservice problems at scale ○ Hystrix, Zuul, Eureka, Zipkin, Ribbon, Atlas ● Only Java support ➔ Different frameworks for different languages ◆ Spring, Node, Go? ➔ Inconsistent ➔ Built right into the apps For Polyglot Programming?
  • 7. Main Components ● Envoy ○ Deployed as a sidecar to intercept all inbound and outbound traffic, Istio uses the many features of Envoy Proxy in a transparent, agnostic way ● Mixer ○ Mixer acts on request attributes from each envoy. This allows for advanced access control, usage and telemetry ● Pilot ○ Pilot abstracts and controls. Using your defined rules around traffic management, routing and resiliency, it converts and sends the config to the Envoy proxies ● Citadel ○ Key and cert management for secure service to service and end user authentication.
  • 8. Control Plane -ISTIO-SYSTEM Egress Gateway Ingress Gateway Sidecar-Injector Statsd-Prom-BridgeCleanup-Secrets CitadelGalleyPilot Policy Telemetry Mixer Grafana Grafana-post TracingPrometheus Service Graph
  • 9. Flow Egress GatewayIngress Gateway CitadelGalleyPilot Policy Telemetry Mixer Control Plane RouterClient Envoy Envoy Chat Client Chat Server CDN
  • 11. Show me the sidecar!
  • 12. The I to O of ISTIO Show me some cool things! ● Install ISTIO!! ● Demo 1 - Base Deployment (Get Ready) ● Demo 2 - Smart Canaries - Routing Based on Headers ● Demo 3 - Smart Canaries - Egress Traffic ● Demo 4 - Smart Canaries - Canary Deployment ● Demo 5 - Service Resiliency - Load Balancing ● Demo 6 - Service Resiliency - Pod Ejection ● Demo 7 - Service Resiliency - Timeout ● Demo 8 - Chaos Testing - Retry + Fault Inject ● Demo 9 - Service Resiliency - Circuit Breaker ● Demo 10 - Monitoring - Tracing, Metrics
  • 13. Demo 1 - Base Deployment API-Server (Auth) Server Client(ETC) Client(Android) Client(Apple) Redis CDN Please Connect ⇒chat-client.apps.toronto.openshiftworkshop.com
  • 14. Next ● Allow Egress(CDN) from chat server API-Server (Auth) Server Client(ETC) Client(Android) Client(Apple) Check ● Refresh page ○ Check the log on top left ● Go to chat room ○ Refresh page ■ Messages gone Redis CDN Demo 2 - Smart Canaries, Routing on Headers chat-client.apps.toronto.openshiftworkshop.com
  • 15. Next - Deploy V2 Chat Server API-Server (Auth) Server Client(ETC) Client(Android) Client(Apple) Check ● Refresh page ○ Red Hat Logo is shown Redis CDN Demo 3 - Smart Canaries, Egress Traffic chat-client.apps.toronto.openshiftworkshop.com
  • 16. Check ● Login → Chat Room ○ Check Server Version ○ 90/10 Distribution ○ All messages remained API-Server (Auth) Server (v2) Client(ETC) Client(Android) Client(Apple) Server (v1) Redis Next ● Rollback virtual service of chat-server to initial state ● Scale Out Server v2 to 3 ● Load Balancing Demo 4 - Smart Canaries, Canary Deployment chat-client.apps.toronto.openshiftworkshop.com
  • 17. Check ● ¼ users -> v1(25%) ● ¾ users ->v2 (75%) ● Add Destination Rule (LB: RANDOM) ○ Randomly pick v1 and v2 API-Server (Auth) Server (v2) Client(ETC) Client(Android) Client(Apple) Server (v1) Redis Next ● Scale Down Server v2 to 1 ● Scale Out API-Server to 2 ● Occur 503 on one of API Server Server (v2) Server (v2) Demo 5 - Service Resiliency & Load Balancing chat-client.apps.toronto.openshiftworkshop.com
  • 18. Check ● POD Ejection ○ The problematic pod will be ejected from service Server (v2)Client(ETC) Client(Android) Client(Apple) Server (v1) Redis Next ● Long Tasks(5sec) ● Set 1s timeout from chat server to auth API-Server (Auth) API-Server (Auth)503 Demo 6 - Service Resiliency, Pod Ejection chat-client.apps.toronto.openshiftworkshop.com
  • 19. Check ● Response time has to be under 1 secs Server (v2) Client(ETC) Client(Android) Client(Apple) Server (v1) Redis Next ● Scale Down API Server to 1 ● Give fault inject (Server → Auth) ● Set retry policy (Server → Auth) API-Server (Auth) API-Server (Auth) Timeout Long Task Demo 7 - Service Resiliency, Timeouts chat-client.apps.toronto.openshiftworkshop.com
  • 20. Check ● No 503 errors Server (v2) Client(ETC) Client(Android) Client(Apple) Server (v1) Redis Next ● Give fault inject (Server → Auth) ● Set retry policy (Server → Auth) API-Server (Auth) 503 Fault InjectionRetry Demo 8 - Chaos Testing, Retry, Fault Injection chat-client.apps.toronto.openshiftworkshop.com
  • 21. Check ● 503 errors if there are many requests by circuit breaker Server (v2)Client(ETC) Client(Android) Client(Apple) Server (v1) Redis Next ● Metrics ● Tracing API-Server (Auth) 503 Demo 9 - Service Resiliency, Circuit Breaker chat-client.apps.toronto.openshiftworkshop.com
  • 22. Demo 10 - Monitoring and Tracing http://prometheus-istio-system.apps.toronto.openshiftworkshop.com
  • 23. Demo 10 - Monitoring and Metrics http://grafana-istio-system.apps.toronto.openshiftworkshop.com
  • 24. Demo: ● https://github.com/Jooho/jhouse_openshift/demos/Hello_ISTIO Training: ● https://learn.openshift.com/servicemesh Sample Applications ● https://istio.io/docs/examples/bookinfo/ ● https://github.com/redhat-developer-demos References
  • 25. QnA