The Service Mesh Its About the Traffic Oliver Gould @olix0r Oliver - - PowerPoint PPT Presentation

the service mesh
SMART_READER_LITE
LIVE PREVIEW

The Service Mesh Its About the Traffic Oliver Gould @olix0r Oliver - - PowerPoint PPT Presentation

The Service Mesh Its About the Traffic Oliver Gould @olix0r Oliver Gould Photo Goes Here Linkerd Lead; Buoyant CTO @olix0r @olix0r @olix0r Nov 9, 2016 QConSF Agenda Why Does Linkerd Exist? The Trough of Service Mesh


slide-1
SLIDE 1

The Service Mesh

It’s About the Traffic

Oliver Gould @olix0r

slide-2
SLIDE 2

Oliver Gould

Photo Goes Here

Linkerd Lead; Buoyant CTO

@olix0r @olix0r @olix0r

slide-3
SLIDE 3

Nov 9, 2016

QConSF

slide-4
SLIDE 4

Agenda

Why Does Linkerd Exist? ฀฀ The Trough of Service Mesh Disillusionment ฀฀ ♂ It’s All About the Traffic! ฀฀

slide-5
SLIDE 5
slide-6
SLIDE 6

2/2016 1/2017 9/2018 2013

slide-7
SLIDE 7

Control Plane

  • Discovery

○ ZooKeeper

  • Telemetry

○ Zipkin ○ Viz... Timelines Finagle (Library) Users Finagle (Library)

slide-8
SLIDE 8
slide-9
SLIDE 9
slide-10
SLIDE 10

Service Mesh

A C B

slide-11
SLIDE 11

Service Mesh: Data Plane

A C B

Proxy Proxy Proxy

slide-12
SLIDE 12

Service Mesh: Control Plane

A C B

Proxy Proxy Proxy

Control Plane

slide-13
SLIDE 13

An Abridged History of Linkerd

  • 2016: Linkerd 0.1.0
  • Twitter-style Operability for Microservices
  • Scala (JVM) + Finagle
  • Extremely Powerful and Configurable
slide-14
SLIDE 14

An Abridged History of Linkerd

  • JVM sidecar too heavy for some users
  • Difficult to configure

○ High barrier to entry ○ Many different configurations to support

slide-15
SLIDE 15

How?

💫 Zero-config “just works”: If you have a functioning K8s app, drop in Linkerd without configuring anything. 💫 Fast and small: proxies should introduce the bare minimum perf and resource cost 💫 Understandable: no magic Data plane: linkerd2-proxy. Written in Rust. <10MB RSS, <1ms p99. (!!!!) Control plane: linkerd2. Written in Go. Includes small Prometheus (6 hour window), Grafana, etc.

slide-16
SLIDE 16

Linkerd 2.x architecture

slide-17
SLIDE 17
slide-18
SLIDE 18

Strong Typing

slide-19
SLIDE 19

No GC: RAII

Resource Acquisition Is Initialization

slide-20
SLIDE 20

What does Linkerd do?

👎 Visibility: Automatic golden metrics: success rates, latencies, throughput 👎 Reliability: Load balancing, retries, timeouts, circuit breaking, deadlines 👎 Security: Transparent mTLS, cert validation, policy Goal: Move visibility, reliability, and security primitives into the infrastructure layer, out of the application layer.

slide-21
SLIDE 21

Linkerd: Observability

  • Rich traffic metrics

○ Request rate, Success rate, latency ○ Across many dimensions

  • Request inspection
slide-22
SLIDE 22

Linkerd: Reliability

  • Latency aware load balancing
  • Retries
  • Timeouts
slide-23
SLIDE 23

Linkerd: Security

  • Mutual, cryptographic identity

○ Bootstraps via Kubernetes ServiceAccounts ○ Transparent ○ On by default

slide-24
SLIDE 24

An open source service mesh and CNCF project. 🔦 24+ months in production 🔦 3,000+ Slack channel members 🔦 10,000+ GitHub stars 🔦 100+ contributors 🔦 Near-weekly edge releases

slide-25
SLIDE 25

The Trough of Service Mesh Disillusionment

slide-26
SLIDE 26

Jeremykemp at English Wikipedia

slide-27
SLIDE 27

What Can Go Wrong?

1. Can’t even get it working… 2. Trying to do too many things at once... 3. It’s always the mesh’s fault!

slide-28
SLIDE 28

It’s All About the Traffic!

slide-29
SLIDE 29
slide-30
SLIDE 30

The Service Mesh Interface

slide-31
SLIDE 31
slide-32
SLIDE 32

Roadmap

As of 2.3: 🗻 Telemetry, retries, timeouts, auto-inject, mTLS on by default. All zero config. 2.4 🗻 Traffic shifting (blue-green, canaries), install split. Mid term: 🗻 Policy, mesh expansion, distributed tracing, lots lots more.

slide-33
SLIDE 33
slide-34
SLIDE 34

F R O M Y O U R F R I E N D S A T

Join our community!

@linkerd github.com/linkerd slack.linkerd.io