Slide 1

Slide 1 text

Service Mesh Interface

Slide 2

Slide 2 text

Lachlan Evenson @LachlanEvenson • Program Manager in Azure Container Compute • Our team is responsible for building and supporting upstream open source projects • Kubernetes 1.16 release lead • CNCF Ambassador • Loves learning new languages • We’re Hiring!

Slide 3

Slide 3 text

Policy Routing Telemetry Smart endpoints, dumb pipes This has worked for the past 25 years But with so many endpoints today, how do you manage @LachlanEvenson

Slide 4

Slide 4 text

Service Mesh technology Smarter pipes @LachlanEvenson

Slide 5

Slide 5 text

…and more @LachlanEvenson

Slide 6

Slide 6 text

Service Mesh Interface (SMI) for Kubernetes In partnership with @LachlanEvenson

Slide 7

Slide 7 text

Service Mesh Interface (SMI) for Kubernetes A Kubernetes interface that provides traffic routing, traffic telemetry, and traffic policy Apps Tooling Ecosystem Standardized Standard interface for service mesh on Kubernetes Simplified Basic feature set to address most common scenarios Extensible Support for new features as they become widely available …and more Service Mesh Interface @LachlanEvenson

Slide 8

Slide 8 text

What SMI Covers Service Mesh Interface is a specification that covers the most common service mesh capabilities Traffic policy apply policies like identity and transport encryption across services Traffic telemetry capture key metrics like error rate and latency between services Traffic management shift traffic between different services Kubernetes Native The SMI is specified as a collection of Kubernetes Custom Resource Definitions (CRD) and Extension API Servers. Provider Agnostic The goal of the SMI API is to provide a common, portable set of service mesh APIs which a Kubernetes user can use in a provider agnostic manner. @LachlanEvenson

Slide 9

Slide 9 text

This isn’t a new concept If the SMI concept sounds familiar, that’s because it is Apps Tooling Ecosystem Ingress @LachlanEvenson

Slide 10

Slide 10 text

How is SMI implemented? @LachlanEvenson Adapter Adapter Native

Slide 11

Slide 11 text

Meet the APIs @LachlanEvenson Traffic management shift traffic between different services

Slide 12

Slide 12 text

Meet the APIs @LachlanEvenson Traffic telemetry capture key metrics like error rate and latency between services

Slide 13

Slide 13 text

Meet the APIs @LachlanEvenson Traffic policy apply policies like identity and transport encryption across services

Slide 14

Slide 14 text

Demo

Slide 15

Slide 15 text

Traffic Access Traffic Metrics Traffic Split Service Mesh Hub

Slide 16

Slide 16 text

SMI – Traffic Split

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

SMI – Traffic Metrics

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

SMI – Traffic Access

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

SMI – Service Mesh Hub

Slide 23

Slide 23 text

ServiceMeshHub.io Dashboard • Supports the SMI Spec • Unified dashboard for service meshes • Run the Hub on any cluster • Simplifies mesh installation and auto- discovers existing meshes

Slide 24

Slide 24 text

ServiceMeshHub.io Extensions • Browse and install from a catalog of 3rd party software to extend your service mesh • Or build a custom extension for your environment (SDK coming soon) Or build your own!

Slide 25

Slide 25 text

So, why SMI? Because it’s faster, simpler, and friendlier Get started quickly Simpler is better Ecosystem friendly

Slide 26

Slide 26 text

Stabilize current APIs API integrations into Linkerd, Consul and Istio Provide Istio adapters for all SMI APIs Develop more APIs based on community feedback The future of SMI @LachlanEvenson

Slide 27

Slide 27 text

smi-spec.io

Slide 28

Slide 28 text

Links • https://github.com/deislabs/smi-spec • https://docs.flagger.app/usage/linkerd-progressive-delivery • https://docs.flagger.app/tutorials/flagger-smi-istio • https://github.com/deislabs/smi-adapter-istio • https://github.com/deislabs/smi-metrics • http://servicemeshhub.io/meshes/ @LachlanEvenson