SlideShare a Scribd company logo
QAware 1
Putting Microservices on a diet: with Istio!
Mario-Leander Reimer, QAware GmbH
mario-leander.reimer@qaware.de
Mario-Leander Reimer
Principal Software Architect, QAware GmbH
Mail: mario-leander.reimer@qaware.de
Twitter: @LeanderReimer
Github: https://github.com/lreimer/
Slides: https://speakerdeck.com/lreimer/
22.03.2019
2
Developer && Architect
20+ years of experience
#CloudNativeNerd
Open Source Enthusiast
Speaker && Author
Fork me on Github.
https://github.com/lreimer/microservice-diet-with-istio
4
https://imgur.com/gallery/LGAZEqu
The Early
Code Monkey
The Monolith
loosely coupled stateless
bounded contexts
makeameme.org
Essential Cloud-native Design Principles.
6
Design for Distribution: Containers; microservices; API driven development.
Design for Configuration: One image, multiple environments.
Design for Resiliency: Fault-tolerant and self-healing.
Design for Elasticity: Scales dynamically and reacts to stimuli.
Design for Delivery: Short roundtrips and automated provisioning.
Design for Performance: Responsive; concurrent; resource efficient.
Design for Automation: Automated Dev & Ops tasks.
Design for Diagnosability: Cluster-wide logs, metrics and traces.
Design for Security: Secure Endpoints, API-Gateways, E2E-Encryption
7
Atomic Architecture
Atomic Microservice Blueprint.
8
Concrete Blueprint Incarnation with Spring Cloud Netflix.
9
Some Facts:
58 MB Uberjar
192 Dependencies
3 KB Classes
A polyglot microservice architecture suffers from severe
library bloat and bad maintainability in the long run.
10
Microservices mit Java und Go
Johannes Weigend,
Rotunde, 15:00 – 15:40
Istio is like AOP, but for
microservice communication.
Istio to the Rescue!
12
Pods are the smallest unit of compute in
Kubernetes
Labels are key/value pairs used to identify
Kubernetes resources
Replica Sets ensure that the desired
number of pod replicas are running
Deployments are an abstraction used to
declare and update pods, RCs, …
Services are an abstraction for a logical
collection of pods providing DNS name
Ingress routes traffic from outside the
cluster to services and ports based on URL
patterns and host
Kubernetes Glossary.
13
GoF in the Cloud: Container Orchestration Patterns.
14http://blog.kubernetes.io/2015/06/the-distributed-system-toolkit-patterns.html
1. Sidecar Container:
Extend container behaviour
Log Extraction / Reformating (fluentd, logstash)
Scheduling (cron, quartz)
2. Ambassador Container:
Proxy communication
TLS Tunnel (Stunnel, ghostunnel, Istio)
Circuit Breaking (linkerd, Istio)
Request Monitoring (linkerd, Istio)
3. Adapter Container:
Provide a standardized interface
Monitoring (Prometheus)
Configuration (ConfigMaps, Secrets, …)
Conceptual Istio Architecture and Components.
15
16
Envoy: Sidecar proxy per microservice that handles inbound/outbound traffic within each Pod. Extended
version of Envoy project.
Gateway: Inbound gateway / ingress. Nothing more than a managed Envoy.
Mixer: Policy / precondition checks and telemetry. Highly scalable.
Envoy caches policy checks within the sidecar (level 1) and within envoy instances (level 2), buffers
telemetry data locally and centrally, and can be run in multiple instances.
Mixer includes a flexible plugin model.
https://istio.io/blog/2017/mixer-spof-myth.html
Pilot: Pilot converts high level routing rules that control traffic behavior into Envoy-specific configurations, and
propagates them to the sidecars at runtime.
Watches services and transforms this information in a canonical platform-agnostic model (abstracting away
from k8s, Nomad, Consul etc).
The envoy configuration is then derived from this canonical model. Exposes the Rules API to add traffic
management rules.
Citadel: CA for service-to-service authx and encryption.
Certs are delivered as a secret volume mount. Workload identity is provided in SPIFFE format.
https://istio.io/docs/concepts/security/mutual-tls.html
Demo
Gateway configures a load balancer for
HTTP/TCP traffic, enables ingress traffic into the
service mesh
Virtual Service defines the rules that control
how requests for a service are routed within
the service mesh
Destination Rule configures the set of policies
to be applied to a request after VirtualService
routing has occurred
ServiceVersion aka Subset allows to select a
subset of pods based on labels
Service Entry enables requests to services
outside of the service mesh
Istio Glossary.
18
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: hello-istio-gateway
spec:
selector:
# use istio default controller
istio: ingressgateway
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "hello-istio.cloud"
Example Istio Gateway and VirtualService Definitions.
19
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: hello-istio
spec:
hosts:
- "hello-istio.cloud"
gateways:
- hello-istio-gateway
http:
- match:
- uri:
exact: /api/hello
route:
- destination:
host: hello-istio
port:
number: 8080
Exact URI
Routing
Hello Istio
Demo
Different release patterns can easily be applied.
21
Different release patterns can easily be applied.
22
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: hello-istio
spec:
hosts:
- "hello-istio.cloud"
gateways:
- hello-istio-gateway
http:
- route:
- destination:
host: hello-istio
subset: v1
weight: 70
- destination:
host: hello-istio
subset: v2
weight: 30
Examples for different routing configurations.
23
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: hello-istio
spec:
hosts:
- "hello-istio.cloud"
gateways:
- hello-istio-gateway
http:
- match:
- headers:
user-agent:
regex: ".*Chrome.*"
route:
- destination:
host: hello-istio
subset: v2
- route:
- destination:
host: hello-istio
subset: v1
Weighted
Traffic
Routing
Header
basedTraffic
Routing
Alphabet
Demo
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: alphabet-service
spec:
hosts:
- alphabet-service
http:
- fault:
delay:
fixedDelay: 2s
percent: 50
abort:
httpStatus: 500
percent: 50
route:
- destination:
host: alphabet-service
subset: v1
Examples for fault injection and circuit breaker policy.
25
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: alphabet-service
spec:
host: alphabet-service
trafficPolicy:
connectionPool:
http:
http1MaxPendingRequests: 1
maxRequestsPerConnection: 1
tcp:
maxConnections: 1
outlierDetection:
baseEjectionTime: 5.000s
consecutiveErrors: 1
interval: 1.000s
maxEjectionPercent: 100
subsets:
- name: v1
labels:
version: v1
Circuit
Breaker
Policy
Fault
Injection
Istio has built-in support for service mesh diagnosability.
26
Diagnosability
Triangle
Metrics
LogsTracesService Graph
Not all Istio features are marked Stable yet, but Beta can
already be used in Production.
27
Istio v1.0.6 is deemed production ready.
Core: 3 Stable, 2 Deprecated, 5 Beta, 4 Alpha
Traffic Management: 6 Stable, 4 Alpha
Security and Policy Enforcement: 5 Stable, 2 Beta, 9 Alpha
Telemetry: 6 Stable, 5 Beta
The Service Mesh War has started.
Linkerd and Conduit
Consul Connect
See https://istio.io/about/feature-stages/
QAware 28
Article by Emily Jiang, IBM
https://www.eclipse.org/community/eclipse_newsletter/2018/september/MicroProfile_istio.php
QAware 29
Drop by our booth, have a chat and grab some swag!
Bare Metal K8S Cluster
- Cloud Native Java EE
- Istio Service Mesh Demo
- Diagnosability
5 Node Raspi Swarm
- Cloud Native Go Demo
Mario-Leander Reimer
mario-leander.reimer@qaware.de
@LeanderReimer xing.com/companies/qawaregmbh
linkedin.com/company/qaware-gmbh slideshare.net/qaware
twitter.com/qaware
youtube.com/qawaregmbh
github.com/qaware

More Related Content

PDF
The Big Cloud native FaaS Lebowski
PPTX
More tips and tricks for running containers like a pro - Rancher Online MEetu...
PDF
Your Java Journey into the Serverless World
PPTX
Securing Container Deployments from Build to Ship to Run - August 2017 - Ranc...
PDF
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud with...
PDF
Spring Cloud Kubernetes - Spencer Gibb
PDF
Let’s unbox Rancher 2.0 <v2.0.0>
PDF
Go for Operations
The Big Cloud native FaaS Lebowski
More tips and tricks for running containers like a pro - Rancher Online MEetu...
Your Java Journey into the Serverless World
Securing Container Deployments from Build to Ship to Run - August 2017 - Ranc...
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud with...
Spring Cloud Kubernetes - Spencer Gibb
Let’s unbox Rancher 2.0 <v2.0.0>
Go for Operations

What's hot (20)

PDF
Rancher 2.0 Technical Deep Dive
PPTX
Introducing Kubernetes Clusters in Rancher - February 2016 Online Meetup
PPTX
Implementing Lightweight Kubernetes(K3s) on Raspberry Pi Stack - Sangam Biradar
PPTX
Building a Scalable CI Platform using Docker, Drone and Rancher
PPTX
OpenShift: Devops Made Easy
PDF
Drone CI
PPTX
Java Day Kharkiv - Next-gen engineering with Docker and Kubernetes
PDF
kubernetes operators
PPTX
Introducing Apache Mesos environments in Rancher - June 2016 Online Meetup
PPTX
Going Reactive with Java
PDF
KUBEBOOT - SPRING BOOT DEPLOYMENT ON KUBERNETES
PPTX
Devoxx - The Groovy Ecosystem
PDF
jbang: Unleash the power of Java for shell scripting
PDF
Java EE with NetBeans on OpenShift
PPTX
Storage for containers and cloud-native deployments - Rancher Online Meetup -...
PDF
Observability
PDF
Open Source in the Era of 5G
PPTX
Tips on solving E_TOO_MANY_THINGS_TO_LEARN with Kubernetes
PDF
Gitlab Training with GIT and SourceTree
PPTX
Rancher 2.0 Technical Deep Dive
Introducing Kubernetes Clusters in Rancher - February 2016 Online Meetup
Implementing Lightweight Kubernetes(K3s) on Raspberry Pi Stack - Sangam Biradar
Building a Scalable CI Platform using Docker, Drone and Rancher
OpenShift: Devops Made Easy
Drone CI
Java Day Kharkiv - Next-gen engineering with Docker and Kubernetes
kubernetes operators
Introducing Apache Mesos environments in Rancher - June 2016 Online Meetup
Going Reactive with Java
KUBEBOOT - SPRING BOOT DEPLOYMENT ON KUBERNETES
Devoxx - The Groovy Ecosystem
jbang: Unleash the power of Java for shell scripting
Java EE with NetBeans on OpenShift
Storage for containers and cloud-native deployments - Rancher Online Meetup -...
Observability
Open Source in the Era of 5G
Tips on solving E_TOO_MANY_THINGS_TO_LEARN with Kubernetes
Gitlab Training with GIT and SourceTree
Ad

Similar to Putting Microservices on a Diet: with Istio! (20)

PDF
Putting microservices on a diet with Istio
PDF
Putting microservices on a diet with istio
PDF
Managing Microservices With The Istio Service Mesh on Kubernetes
PDF
Istio Triangle Kubernetes Meetup Aug 2019
PDF
21st Docker Switzerland Meetup - ISTIO
PPTX
Istio a service mesh
PDF
Introduction to istio
PDF
Managing microservices with Istio Service Mesh
PPTX
ISTIO Deep Dive
PPTX
Microservices With Istio Service Mesh
PDF
Service Mesh For Beginner
PPTX
Service Meshes with Istio
PPTX
Kubernetes And Istio and Azure AKS DevOps
PPTX
Javantura v6 - Istio Service Mesh - The magic between your microservices - Ma...
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
PPTX
Building a scalable microservice architecture with envoy, kubernetes and istio
PDF
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
PDF
Istio and Kubernetes Relationship
PPTX
Istio Mesh – Managing Container Deployments at Scale
Putting microservices on a diet with Istio
Putting microservices on a diet with istio
Managing Microservices With The Istio Service Mesh on Kubernetes
Istio Triangle Kubernetes Meetup Aug 2019
21st Docker Switzerland Meetup - ISTIO
Istio a service mesh
Introduction to istio
Managing microservices with Istio Service Mesh
ISTIO Deep Dive
Microservices With Istio Service Mesh
Service Mesh For Beginner
Service Meshes with Istio
Kubernetes And Istio and Azure AKS DevOps
Javantura v6 - Istio Service Mesh - The magic between your microservices - Ma...
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
Building a scalable microservice architecture with envoy, kubernetes and istio
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
Istio and Kubernetes Relationship
Istio Mesh – Managing Container Deployments at Scale
Ad

More from QAware GmbH (20)

PDF
QAware_Mario-Leander_Reimer_Architecting and Building a K8s-based AI Platform...
PDF
Frontends mit Hilfe von KI entwickeln.pdf
PDF
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
PDF
50 Shades of K8s Autoscaling #JavaLand24.pdf
PDF
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
PPTX
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
PDF
Down the Ivory Tower towards Agile Architecture
PDF
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
PDF
Make Developers Fly: Principles for Platform Engineering
PDF
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
PDF
Was kommt nach den SPAs
PDF
Cloud Migration mit KI: der Turbo
PDF
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
PDF
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
PDF
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
PDF
Kubernetes with Cilium in AWS - Experience Report!
PDF
50 Shades of K8s Autoscaling
PDF
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
PDF
Service Mesh Pain & Gain. Experiences from a client project.
PDF
50 Shades of K8s Autoscaling
QAware_Mario-Leander_Reimer_Architecting and Building a K8s-based AI Platform...
Frontends mit Hilfe von KI entwickeln.pdf
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
50 Shades of K8s Autoscaling #JavaLand24.pdf
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Down the Ivory Tower towards Agile Architecture
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
Make Developers Fly: Principles for Platform Engineering
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Was kommt nach den SPAs
Cloud Migration mit KI: der Turbo
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Kubernetes with Cilium in AWS - Experience Report!
50 Shades of K8s Autoscaling
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Service Mesh Pain & Gain. Experiences from a client project.
50 Shades of K8s Autoscaling

Recently uploaded (20)

PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
L1 - Introduction to python Backend.pptx
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
medical staffing services at VALiNTRY
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
System and Network Administration Chapter 2
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Transform Your Business with a Software ERP System
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
VVF-Customer-Presentation2025-Ver1.9.pptx
How Creative Agencies Leverage Project Management Software.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
L1 - Introduction to python Backend.pptx
Odoo Companies in India – Driving Business Transformation.pdf
2025 Textile ERP Trends: SAP, Odoo & Oracle
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Which alternative to Crystal Reports is best for small or large businesses.pdf
medical staffing services at VALiNTRY
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Internet Downloader Manager (IDM) Crack 6.42 Build 41
System and Network Administration Chapter 2
CHAPTER 2 - PM Management and IT Context
Design an Analysis of Algorithms I-SECS-1021-03
Transform Your Business with a Software ERP System
Reimagine Home Health with the Power of Agentic AI​
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Wondershare Filmora 15 Crack With Activation Key [2025

Putting Microservices on a Diet: with Istio!

  • 1. QAware 1 Putting Microservices on a diet: with Istio! Mario-Leander Reimer, QAware GmbH mario-leander.reimer@qaware.de
  • 2. Mario-Leander Reimer Principal Software Architect, QAware GmbH Mail: mario-leander.reimer@qaware.de Twitter: @LeanderReimer Github: https://github.com/lreimer/ Slides: https://speakerdeck.com/lreimer/ 22.03.2019 2 Developer && Architect 20+ years of experience #CloudNativeNerd Open Source Enthusiast Speaker && Author
  • 3. Fork me on Github. https://github.com/lreimer/microservice-diet-with-istio
  • 5. loosely coupled stateless bounded contexts makeameme.org
  • 6. Essential Cloud-native Design Principles. 6 Design for Distribution: Containers; microservices; API driven development. Design for Configuration: One image, multiple environments. Design for Resiliency: Fault-tolerant and self-healing. Design for Elasticity: Scales dynamically and reacts to stimuli. Design for Delivery: Short roundtrips and automated provisioning. Design for Performance: Responsive; concurrent; resource efficient. Design for Automation: Automated Dev & Ops tasks. Design for Diagnosability: Cluster-wide logs, metrics and traces. Design for Security: Secure Endpoints, API-Gateways, E2E-Encryption
  • 9. Concrete Blueprint Incarnation with Spring Cloud Netflix. 9 Some Facts: 58 MB Uberjar 192 Dependencies 3 KB Classes
  • 10. A polyglot microservice architecture suffers from severe library bloat and bad maintainability in the long run. 10 Microservices mit Java und Go Johannes Weigend, Rotunde, 15:00 – 15:40
  • 11. Istio is like AOP, but for microservice communication.
  • 12. Istio to the Rescue! 12
  • 13. Pods are the smallest unit of compute in Kubernetes Labels are key/value pairs used to identify Kubernetes resources Replica Sets ensure that the desired number of pod replicas are running Deployments are an abstraction used to declare and update pods, RCs, … Services are an abstraction for a logical collection of pods providing DNS name Ingress routes traffic from outside the cluster to services and ports based on URL patterns and host Kubernetes Glossary. 13
  • 14. GoF in the Cloud: Container Orchestration Patterns. 14http://blog.kubernetes.io/2015/06/the-distributed-system-toolkit-patterns.html 1. Sidecar Container: Extend container behaviour Log Extraction / Reformating (fluentd, logstash) Scheduling (cron, quartz) 2. Ambassador Container: Proxy communication TLS Tunnel (Stunnel, ghostunnel, Istio) Circuit Breaking (linkerd, Istio) Request Monitoring (linkerd, Istio) 3. Adapter Container: Provide a standardized interface Monitoring (Prometheus) Configuration (ConfigMaps, Secrets, …)
  • 15. Conceptual Istio Architecture and Components. 15
  • 16. 16 Envoy: Sidecar proxy per microservice that handles inbound/outbound traffic within each Pod. Extended version of Envoy project. Gateway: Inbound gateway / ingress. Nothing more than a managed Envoy. Mixer: Policy / precondition checks and telemetry. Highly scalable. Envoy caches policy checks within the sidecar (level 1) and within envoy instances (level 2), buffers telemetry data locally and centrally, and can be run in multiple instances. Mixer includes a flexible plugin model. https://istio.io/blog/2017/mixer-spof-myth.html Pilot: Pilot converts high level routing rules that control traffic behavior into Envoy-specific configurations, and propagates them to the sidecars at runtime. Watches services and transforms this information in a canonical platform-agnostic model (abstracting away from k8s, Nomad, Consul etc). The envoy configuration is then derived from this canonical model. Exposes the Rules API to add traffic management rules. Citadel: CA for service-to-service authx and encryption. Certs are delivered as a secret volume mount. Workload identity is provided in SPIFFE format. https://istio.io/docs/concepts/security/mutual-tls.html
  • 17. Demo
  • 18. Gateway configures a load balancer for HTTP/TCP traffic, enables ingress traffic into the service mesh Virtual Service defines the rules that control how requests for a service are routed within the service mesh Destination Rule configures the set of policies to be applied to a request after VirtualService routing has occurred ServiceVersion aka Subset allows to select a subset of pods based on labels Service Entry enables requests to services outside of the service mesh Istio Glossary. 18
  • 19. apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: hello-istio-gateway spec: selector: # use istio default controller istio: ingressgateway servers: - port: number: 80 name: http protocol: HTTP hosts: - "hello-istio.cloud" Example Istio Gateway and VirtualService Definitions. 19 apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: hello-istio spec: hosts: - "hello-istio.cloud" gateways: - hello-istio-gateway http: - match: - uri: exact: /api/hello route: - destination: host: hello-istio port: number: 8080 Exact URI Routing
  • 21. Different release patterns can easily be applied. 21
  • 22. Different release patterns can easily be applied. 22
  • 23. apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: hello-istio spec: hosts: - "hello-istio.cloud" gateways: - hello-istio-gateway http: - route: - destination: host: hello-istio subset: v1 weight: 70 - destination: host: hello-istio subset: v2 weight: 30 Examples for different routing configurations. 23 apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: hello-istio spec: hosts: - "hello-istio.cloud" gateways: - hello-istio-gateway http: - match: - headers: user-agent: regex: ".*Chrome.*" route: - destination: host: hello-istio subset: v2 - route: - destination: host: hello-istio subset: v1 Weighted Traffic Routing Header basedTraffic Routing
  • 25. apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: alphabet-service spec: hosts: - alphabet-service http: - fault: delay: fixedDelay: 2s percent: 50 abort: httpStatus: 500 percent: 50 route: - destination: host: alphabet-service subset: v1 Examples for fault injection and circuit breaker policy. 25 apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata: name: alphabet-service spec: host: alphabet-service trafficPolicy: connectionPool: http: http1MaxPendingRequests: 1 maxRequestsPerConnection: 1 tcp: maxConnections: 1 outlierDetection: baseEjectionTime: 5.000s consecutiveErrors: 1 interval: 1.000s maxEjectionPercent: 100 subsets: - name: v1 labels: version: v1 Circuit Breaker Policy Fault Injection
  • 26. Istio has built-in support for service mesh diagnosability. 26 Diagnosability Triangle Metrics LogsTracesService Graph
  • 27. Not all Istio features are marked Stable yet, but Beta can already be used in Production. 27 Istio v1.0.6 is deemed production ready. Core: 3 Stable, 2 Deprecated, 5 Beta, 4 Alpha Traffic Management: 6 Stable, 4 Alpha Security and Policy Enforcement: 5 Stable, 2 Beta, 9 Alpha Telemetry: 6 Stable, 5 Beta The Service Mesh War has started. Linkerd and Conduit Consul Connect See https://istio.io/about/feature-stages/
  • 28. QAware 28 Article by Emily Jiang, IBM https://www.eclipse.org/community/eclipse_newsletter/2018/september/MicroProfile_istio.php
  • 29. QAware 29 Drop by our booth, have a chat and grab some swag! Bare Metal K8S Cluster - Cloud Native Java EE - Istio Service Mesh Demo - Diagnosability 5 Node Raspi Swarm - Cloud Native Go Demo