Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental...

23
Understanding your microservice applications January 22nd, 2020 Istio / Service Mesh Maliat Manzur [email protected] Steve Tran [email protected] 1 1

Transcript of Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental...

Page 1: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Understanding your microservice applicationsJanuary 22nd, 2020

Istio / Service Mesh

Maliat Manzur [email protected] Tran [email protected]

11

Page 2: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Who do we have in the room today

tinyurl.com/msaroles

Istio and Microservices

22

Page 3: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Agenda

● How Istio Service Mesh fits into the context of microservices● Which metrics provide insight into a microservices application● How to use Istio to expose platform and application level metrics

Istio and Microservices

33

Page 4: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

What is Istio / Service Mesh

Istio and Microservices

44

- Dedicated, infrastructure layer that connects your services together

Page 5: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Istio and MicroservicesImagine an application

● Hipster Shop● 12 different microservices

○ With dependencies on others

Istio and Microservices

55

Page 6: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Istio and Microservices

Metricsmonitoring vs observing

Why do we need them?● Real time performance● Reduce troubleshooting time● Proactively find issues● Alerting● Baselines

66

Page 7: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Istio and Microservices

Which metrics provide insight into a microservices application?

77

Page 8: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Istio and Microservices

USE Method

Utilization Saturation Errors

88

Page 9: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Istio and Microservices

4 Golden Signals

Time to service requests

Latency

Failure rateErrors

Utilization of resources

Saturation

Payload over time

Traffic

99

Page 10: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Istio and Microservices

Collecting Metrics without IstioPretty simple with small number of services

Pitfalls…

Developers responsibility | Implementation is inconsistent | Too many options1010

Page 11: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Istio and Microservices

Collecting Metrics with Istio

○ Requests per second ○ Request type○ Response time○ etc.1111

Page 12: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Istio and Microservices

Bigger Picture

12

Page 13: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Istio and Microservices

Istio Architecture

1313

Page 14: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Istio and Microservices

Types of Metrics

1414

Page 15: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Service-level Metrics

Response Code

200

500

400

Request Protocol

HTTP

TCP gRPC

SourceDesti- nation

IP

Host

Istio and Microservices

1515

Page 16: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Custom Metrics

Istio and Microservices

Instance

Handler

Rule

Identify the metrics

Ties the instance and handler

Formatter for datastore1616

Page 17: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Istio and Microservices

Control Plane Metrics

Grafana Dashboard of Pilot Component

1717

Page 18: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Istio and Microservices

OpenShift Service Mesh vs Istio

Supportability: Install with the OpenShift ServiceMesh Operator

Security: Reduce cluster-scope privileges in control plane

Control: Opt-in model for automatic sidecar injection

Maintainability: Replace BoringSSL with OpenSSL

https://docs.openshift.com/container-platform/4.2/service_mesh/service_mesh_arch/ossm-vs-community.htmlOSSM 1.0 = Istio 1.1.11OSSM 1.0.4 = Istio 1.1.17

1818

Page 19: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Istio and Microservices

Demo

● Hipster Shop

● Kiali Mesh Visualization

● Grafana Dashboards

● Prometheus

● OCP Console

1919

Page 20: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Istio and Microservices

Try it yourself

https://github.com/GoogleCloudPlatform/microservices-demo

2020

Page 21: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Istio and Microservices

21

Questions?

Page 22: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

linkedin.com/company/red-hat

youtube.com/user/RedHatVideos

facebook.com/redhatinc

twitter.com/RedHat

Red Hat is the world’s leading provider of enterprise

open source software solutions. Award-winning support,

training, and consulting services make Red Hat a trusted

adviser to the Fortune 500.

Thank you

Istio and Microservices

2222

Page 23: Istio / Service Mesh - events.redhat.com · Istio and Microservices Distributed Traces supplemental slide Follow a request as it moves from one service to another Where is it getting

Istio and Microservices

Distributed Tracessupplemental slide

● Follow a request as it moves from one service to another○ Where is it getting stuck?○ Where is the latency?

● Would the excessive tracing data slow down everything? ○ Full control over the amount of trace data being generated

● Istio creates the “spans” for you by automatically injecting headers

2323