SlideShare a Scribd company logo
1 of 37
Service Mesh Interface
Brendan Burns – QCon New York – 2019
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
service-mesh-interface/
Presented at QCon New York
www.qconnewyork.com
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
The ServiceMesh Landscape
This PhotobyUnknown Authoris licensedunder CCBY-NC-ND
The problem for users
The problem for users – Adoption timeline
Excitement Adoption Production
Problem for users - Complexity
This PhotobyUnknown Authoris licensedunder CCBY-SA
The problem for the ecosystem
Tools
Ecosystem
Mesh A
Mesh B
Mesh C
The solution? Moar Abstraction!
Tools
Ecosystem
Mesh A
Mesh B
Mesh C
Adapter
Interface
Service Mesh
Interface:
Community
https://smi-spec.io
Service Mesh
Interface:
Goals
Isolate concepts from implementation
Provide the “core concepts” of service
mesh
Release and iterate
Build a community around Service Mesh
as a concept
This isn't a new pattern...
• Open Container Image
• Container Network Interface
• Container Storage Interface
• Storage Volumes
• Ingress
• NetworkPolicy
• ...
Good reasons
for this
approach
USERS NEED CONCEPTS
NOT IMPLEMENTATION
TOOL VENDORS NEED
ABSTRACTION,NOT
SPECIALIZATION
IMPLEMENTORSNEED
ISOLATION FROM USERS
Service
Mesh
Interface –
API
Overview
TrafficSpec TrafficTarget
TrafficSplit TrafficMetrics
Service Mesh Interface: Routes
apiVersion: v1beta1
kind: HTTPRouteGroup
metadata:
name: api-route
matches:
- name: api
pathRegex: /api
methods:
- GET
Service Mesh Interface: Routes
apiVersion: v1beta1
kind: TCPRoute
metadata:
name: my-db-route
Service Mesh Interface: TrafficTarget
kind: TrafficTarget
apiVersion: access.smi-spec.io/v1alpha1
metadata:
name: example-target
destination:
# destination spec here
specs:
# route spec here
sources:
# source spec(s) here
Service Mesh Interface: Destinations
…
destination:
# This selects a set of Pods
kind: ServiceAccount
name: my-api-impl
# This defines the traffic
port: 8080
…
Service Mesh Interface: TrafficTarget
kind: TrafficTarget
apiVersion: access.smi-spec.io/v1alpha1
metadata:
name: example-target
destination:
# destination spec here
specs:
# route spec here
sources:
# source spec(s) here
Service Mesh Interface: Routes
…
# This selects a set of paths
specs:
- kind: HTTPRouteGroup
name: api-route
matches:
- api
…
Service Mesh Interface: TrafficTarget
kind: TrafficTarget
apiVersion: access.smi-spec.io/v1alpha1
metadata:
name: example-target
destination:
# destination spec here
specs:
# route spec here
sources:
# source spec(s) here
Service Mesh Interface: Sources
…
# This identifies the allowed sources
sources:
# This selects a set of Pods
- kind: ServiceAccount
name: my-api-callers
…
Putting it all together…
SMI
TrafficTarget
ServiceAccount:
my-api-impl
Destination
ServiceAccount:
my-api-callers
Sources
SMI
HTTPRouteGroup
https://service:8080/api
Service Mesh Interface: TrafficSplit
kind: TrafficSplit
apiVersion: split.smi-spec.io/v1alpha1
metadata:
name: one-percent-experiment
spec:
backends:
- service: experiment
weight: 1
- service: canary
weight: 10
- service: production
weight: 100
Service Mesh Interface – Traffic Split
SMI
TrafficSplit
my-experiment
experiment
Service
canary
Service
production
Service
Kubernetes Services
my-experiment
Service
Service Mesh Interface - TrafficMetrics
kind: TrafficMetrics
…
resource:
name: my-pod-asdae
kind: Pod
edge:
…
timestamp: 2019-06-26T12:00:00
window: 30s
metrics:
…
Service Mesh Interface - TrafficMetrics
# all in-bound traffic
edge:
direction: to
resource: {}
# all out-bound traffic to Pod foobar
edge:
direction: from
resource:
name: foobar
kind: Pod
Service Mesh Interface - TrafficMetrics
# all in-bound traffic from a Service
edge:
direction: to
resource:
name: my-service
kind: Service
Service Mesh Interface - TrafficMetrics
…
metrics:
- name: p99_response_latency
unit: seconds
value: 987m
- name: p90_response_latency
unit: seconds
value: 250m
…
Service Mesh Interface – TrafficMetrics Overview
Kubernetes
API
Servertraffic.metrics.k8s.io
Traffic Metrics
Server
Prometheus,
etc.
metrics scrape/push
Concerns: Lowest Common Denominators
Service Mesh
Interface:
Approach to
iteration
Service Mesh Interface: Iteration plan.
Start with the
basics
Lots of custom
extensions
Adopt the common
extensions to v+1
Service Mesh
Interface:
State of the
art.
• Consul
• LinkerD
• Istio
Implementations:
• Flagger (WeaveWorks)
• Rio (Rancher)
• ...
Tooling:
Service Mesh
Interface:
Futures
• Come and join us!
• https://smi-spec.io
• https://github.com/deislabs/smi-spec
• https://github.com/deislabs/smi-sdk-go
• https://github.com/weaveworks/flagger/blob/
master/docs/gitbook/tutorials/flagger-smi-
istio.md
• https://github.com/hashicorp/microsoft-smi-
webinar
Questions?
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
service-mesh-interface/

More Related Content

More from C4Media

Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDC4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine LearningC4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at SpeedC4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsC4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsC4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerC4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleC4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeC4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereC4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing ForC4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data EngineeringC4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreC4Media
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsC4Media
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechC4Media
 
Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/awaitC4Media
 
Opportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaOpportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaC4Media
 
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayDatadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayC4Media
 
Are We Really Cloud-Native?
Are We Really Cloud-Native?Are We Really Cloud-Native?
Are We Really Cloud-Native?C4Media
 
CockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL DatabaseCockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL DatabaseC4Media
 
A Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with BrooklinA Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with BrooklinC4Media
 

More from C4Media (20)

Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery Teams
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in Adtech
 
Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/await
 
Opportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaOpportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven Utopia
 
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayDatadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
 
Are We Really Cloud-Native?
Are We Really Cloud-Native?Are We Really Cloud-Native?
Are We Really Cloud-Native?
 
CockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL DatabaseCockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL Database
 
A Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with BrooklinA Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with Brooklin
 

Recently uploaded

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Recently uploaded (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Introduction to SMI (the Service Mesh Interface)

  • 1. Service Mesh Interface Brendan Burns – QCon New York – 2019
  • 2. InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ service-mesh-interface/
  • 3. Presented at QCon New York www.qconnewyork.com Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide
  • 4. The ServiceMesh Landscape This PhotobyUnknown Authoris licensedunder CCBY-NC-ND
  • 6. The problem for users – Adoption timeline Excitement Adoption Production
  • 7. Problem for users - Complexity This PhotobyUnknown Authoris licensedunder CCBY-SA
  • 8. The problem for the ecosystem Tools Ecosystem Mesh A Mesh B Mesh C
  • 9. The solution? Moar Abstraction! Tools Ecosystem Mesh A Mesh B Mesh C Adapter Interface
  • 11. Service Mesh Interface: Goals Isolate concepts from implementation Provide the “core concepts” of service mesh Release and iterate Build a community around Service Mesh as a concept
  • 12. This isn't a new pattern... • Open Container Image • Container Network Interface • Container Storage Interface • Storage Volumes • Ingress • NetworkPolicy • ...
  • 13. Good reasons for this approach USERS NEED CONCEPTS NOT IMPLEMENTATION TOOL VENDORS NEED ABSTRACTION,NOT SPECIALIZATION IMPLEMENTORSNEED ISOLATION FROM USERS
  • 15. Service Mesh Interface: Routes apiVersion: v1beta1 kind: HTTPRouteGroup metadata: name: api-route matches: - name: api pathRegex: /api methods: - GET
  • 16. Service Mesh Interface: Routes apiVersion: v1beta1 kind: TCPRoute metadata: name: my-db-route
  • 17. Service Mesh Interface: TrafficTarget kind: TrafficTarget apiVersion: access.smi-spec.io/v1alpha1 metadata: name: example-target destination: # destination spec here specs: # route spec here sources: # source spec(s) here
  • 18. Service Mesh Interface: Destinations … destination: # This selects a set of Pods kind: ServiceAccount name: my-api-impl # This defines the traffic port: 8080 …
  • 19. Service Mesh Interface: TrafficTarget kind: TrafficTarget apiVersion: access.smi-spec.io/v1alpha1 metadata: name: example-target destination: # destination spec here specs: # route spec here sources: # source spec(s) here
  • 20. Service Mesh Interface: Routes … # This selects a set of paths specs: - kind: HTTPRouteGroup name: api-route matches: - api …
  • 21. Service Mesh Interface: TrafficTarget kind: TrafficTarget apiVersion: access.smi-spec.io/v1alpha1 metadata: name: example-target destination: # destination spec here specs: # route spec here sources: # source spec(s) here
  • 22. Service Mesh Interface: Sources … # This identifies the allowed sources sources: # This selects a set of Pods - kind: ServiceAccount name: my-api-callers …
  • 23. Putting it all together… SMI TrafficTarget ServiceAccount: my-api-impl Destination ServiceAccount: my-api-callers Sources SMI HTTPRouteGroup https://service:8080/api
  • 24. Service Mesh Interface: TrafficSplit kind: TrafficSplit apiVersion: split.smi-spec.io/v1alpha1 metadata: name: one-percent-experiment spec: backends: - service: experiment weight: 1 - service: canary weight: 10 - service: production weight: 100
  • 25. Service Mesh Interface – Traffic Split SMI TrafficSplit my-experiment experiment Service canary Service production Service Kubernetes Services my-experiment Service
  • 26. Service Mesh Interface - TrafficMetrics kind: TrafficMetrics … resource: name: my-pod-asdae kind: Pod edge: … timestamp: 2019-06-26T12:00:00 window: 30s metrics: …
  • 27. Service Mesh Interface - TrafficMetrics # all in-bound traffic edge: direction: to resource: {} # all out-bound traffic to Pod foobar edge: direction: from resource: name: foobar kind: Pod
  • 28. Service Mesh Interface - TrafficMetrics # all in-bound traffic from a Service edge: direction: to resource: name: my-service kind: Service
  • 29. Service Mesh Interface - TrafficMetrics … metrics: - name: p99_response_latency unit: seconds value: 987m - name: p90_response_latency unit: seconds value: 250m …
  • 30. Service Mesh Interface – TrafficMetrics Overview Kubernetes API Servertraffic.metrics.k8s.io Traffic Metrics Server Prometheus, etc. metrics scrape/push
  • 31. Concerns: Lowest Common Denominators
  • 33. Service Mesh Interface: Iteration plan. Start with the basics Lots of custom extensions Adopt the common extensions to v+1
  • 34. Service Mesh Interface: State of the art. • Consul • LinkerD • Istio Implementations: • Flagger (WeaveWorks) • Rio (Rancher) • ... Tooling:
  • 35. Service Mesh Interface: Futures • Come and join us! • https://smi-spec.io • https://github.com/deislabs/smi-spec • https://github.com/deislabs/smi-sdk-go • https://github.com/weaveworks/flagger/blob/ master/docs/gitbook/tutorials/flagger-smi- istio.md • https://github.com/hashicorp/microsoft-smi- webinar
  • 37. Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ service-mesh-interface/