Podbean logo
  • Discover
  • Podcast Features
    • Podcast Hosting

      Start your podcast with all the features you need.

    • Podbean AI Podbean AI

      AI-Enhanced Audio Quality and Content Generation.

    • Blog to Podcast

      Repurpose your blog into an engaging podcast.

    • Video to Podcast

      Convert YouTube playlists to podcasts, videos to audios.

  • Monetization
    • Ads Marketplace

      Join Ads Marketplace to earn through podcast sponsorships.

    • PodAds

      Manage your ads with dynamic ad insertion capability.

    • Apple Podcasts Subscriptions Integration

      Monetize with Apple Podcasts Subscriptions via Podbean.

    • Live Streaming

      Earn rewards and recurring income from Fan Club membership.

  • Podbean App
    • Podcast Studio

      Easy-to-use audio recorder app.

    • Podcast App

      The best podcast player & podcast app.

  • Help and Support
    • Help Center

      Get the answers and support you need.

    • Podbean Academy

      Resources and guides to launch, grow, and monetize podcast.

    • Podbean Blog

      Stay updated with the latest podcasting tips and trends.

    • What’s New

      Check out our newest and recently released features!

    • Podcasting Smarter

      Podcast interviews, best practices, and helpful tips.

  • Popular Topics
    • How to Start a Podcast

      The step-by-step guide to start your own podcast.

    • How to Start a Live Podcast

      Create the best live podcast and engage your audience.

    • How to Monetize a Podcast

      Tips on making the decision to monetize your podcast.

    • How to Promote Your Podcast

      The best ways to get more eyes and ears on your podcast.

    • Podcast Advertising 101

      Everything you need to know about podcast advertising.

    • Mobile Podcast Recording Guide

      The ultimate guide to recording a podcast on your phone.

    • How to Use Group Recording

      Steps to set up and use group recording in the Podbean app.

  • All Arts Business Comedy Education
  • Fiction Government Health & Fitness History Kids & Family
  • Leisure Music News Religion & Spirituality Science
  • Society & Culture Sports Technology True Crime TV & Film
  • Live
  • How to Start a Podcast
  • How to Start a Live Podcast
  • How to Monetize a podcast
  • How to Promote Your Podcast
  • How to Use Group Recording
  • Log in
  • Start your podcast for free
  • Podcasting
    • Podcast Features
      • Podcast Hosting

        Start your podcast with all the features you need.

      • Podbean AI Podbean AI

        AI-Enhanced Audio Quality and Content Generation.

      • Blog to Podcast

        Repurpose your blog into an engaging podcast.

      • Video to Podcast

        Convert YouTube playlists to podcasts, videos to audios.

    • Monetization
      • Ads Marketplace

        Join Ads Marketplace to earn through podcast sponsorships.

      • PodAds

        Manage your ads with dynamic ad insertion capability.

      • Apple Podcasts Subscriptions Integration

        Monetize with Apple Podcasts Subscriptions via Podbean.

      • Live Streaming

        Earn rewards and recurring income from Fan Club membership.

    • Podbean App
      • Podcast Studio

        Easy-to-use audio recorder app.

      • Podcast App

        The best podcast player & podcast app.

  • Advertisers
  • Enterprise
  • Pricing
  • Resources
    • Help and Support
      • Help Center

        Get the answers and support you need.

      • Podbean Academy

        Resources and guides to launch, grow, and monetize podcast.

      • Podbean Blog

        Stay updated with the latest podcasting tips and trends.

      • What’s New

        Check out our newest and recently released features!

      • Podcasting Smarter

        Podcast interviews, best practices, and helpful tips.

    • Popular Topics
      • How to Start a Podcast

        The step-by-step guide to start your own podcast.

      • How to Start a Live Podcast

        Create the best live podcast and engage your audience.

      • How to Monetize a Podcast

        Tips on making the decision to monetize your podcast.

      • How to Promote Your Podcast

        The best ways to get more eyes and ears on your podcast.

      • Podcast Advertising 101

        Everything you need to know about podcast advertising.

      • Mobile Podcast Recording Guide

        The ultimate guide to recording a podcast on your phone.

      • How to Use Group Recording

        Steps to set up and use group recording in the Podbean app.

  • Discover
  • Log in
    Sign up free
The Swyx Mixtape

The Swyx Mixtape

Technology

[Tech] Separation of Control vs Data Planes - Steve Yegge

[Tech] Separation of Control vs Data Planes - Steve Yegge

2022-12-19
Download Right click and do "save link as"

Listen to Stevey's podcast: https://youtubetranscript.com/?v=Wi8SL-Tot-8&t=1212

Transcript


so let me tell you about service meshes
kind of like the terminology just to get
everybody up to speed because i know
some of you haven't looked at this space
or haven't looked at it recently
you're going to hear two terms control
plane and data plane bandied about a lot
and it's very confusing at first okay
because first of all they are sort of
poorly named and second of all there is
actually a fair amount of overlap
between the two in the in the service
offerings that we have today all right
and in the tech stacks that we have
available so let me walk you through
them all right
so starting at the uh at the service
level so you have a bunch of services
maybe they're on vms maybe they're in
kubernetes maybe they're in nomad or
fargate or whatever right but you've got
services vms or containers and you want
to have them communicate with each other
all right
well having rather than having them all
communicate with each other
which obviously means you're going to
have to build like service discovery
logic into the service itself
so if i have a player service
let's say i have a game server and it
wants to go call the player service and
say is this player real okay if so give
me their give me their information give
me their credentials okay typical
service to service uh you know function
call rpc
all right well you could have the game
server say well i'm going to call the
service registry service to see uh where
the player service lives and then i'll
make a call to the player service right
but now you're building that i'm going
to call the service registry service
which is this other service right that
you would have to build or whatever or
use ncd like grab did or whatever
and then it has to call and get the
address of the player service and then
and then it makes the call and it's like
you've built
routing logic
and discovery logic into your actual
application logic which you do not want
you do not want that okay
so
almost immediately people started moving
to proxies
you have a proxy that's your local proxy
they call it a sidecar proxy in
kubernetes land because it actually runs
in your little cluster as another
service along alongside all of your
other services
and it handles all
network uh ingress and egress for you
so you the idea is that your application
only knows about the sidecar proxy right
so to your application the proxy is the
outside world if if you you know it
knows about the service locations and it
also knows about circuit breakers and
traffic splitting and load balancing and
scaling and everything else that we'll
talk about in a bit
and that proxy becomes the thing that
other people use to talk to your service
as well because your service may be a
cluster right and so people if people
want to send something to the player
service and there's a bunch of instances
of it your proxy is the one to choose
which one maybe maybe it interacts with
an external load balancer or maybe it
does the load balancing itself the proxy
does okay by doing the health checks on
its local service instances yeah
does this model make sense so as soon as
you get this basic model of the of the
sidecar proxy you've got a helper
service that goes along with every
cluster
and it knows about the services in that
cluster and it knows about the outside
world
and your cluster talks to the outside
world through the proxy and the outside
world talks to your cluster through the
proxy okay you can use nginx for that
and that's what dropbox is doing right
but these days people always almost
always use envoy or link or d there are
a couple of other options in addition to
those in nginx but i mean those are the
really popular ones okay
envoy is the the super industrial
strength
does everything swiss army knife amazing
data plane okay by the way those sidecar
proxies i'm going to introduce you now
to the to the second term you hear data
plane the other one being control plane
data planes is just all of your sidecar
proxies in aggregate because if you if
you've got a whole bunch of clusters
right uh or even a whole bunch of
services and you want proxies for each
of them then
that mesh of proxies
that are all talking to each other
to work out the service discovery and
the routing and everything on behalf of
the application services now you've
extracted all of that you know who who's
talking to who what where and how much
and all that you've extracted it into
your
sidecar proxies
that's your data plane
it's because the network data is going
through that and i think it's a terrible
name it should have been called the
network plane or the proxy point proxy
plane would have been an absolute great
name for it right
proxy plane but no they call it data
plane so it's completely confusing
because you'd think the data plane would
be either your application logic or it
would be the data layer behind your
application logic but no
so stupid name really stupid shame on
whoever chose that name really you just
you did a huge disservice to the
industry so if you patent yourself on
the back because you came up with a name
data plane like seriously like punch
yourself in the mouth okay it just it
was a bad name
naming you know naming stuff matters man
you don't want to confuse everybody for
the rest of their lives
whatever but the name is stuck and the
name is the name now and in fact there
are well we've been ahead of ourselves
here but they're even becoming universal
standards now for data plane uh
interfaces
so the data plane i mean like you're
just going to have to learn what data
plane means it means it's the proxy
layer okay the proxies that can uh could
load balance and they can they they
handle the network for you it's software
load balancing they actually in envoy
they actually communicate through a
protocol called a gossip protocol which
is a family protocols where they're sort
of like udp multicast where
everybody just kind of like spits out
the state and consumes the state and it
sort of floods the network
and it's eventually consistent
so that's one thing to know about envoy
is they chose an eventually consistent
model
if you'll recall
i said that etcd and technologies like
it like google's chubby or uh
zookeeper or uh even hashicorp console
they're all they're all key value stores
that are
um transactional highly available and
strongly consistent okay
uh and that actually makes them uh sort
of a pain to operate
uh in practice
all of the ones that i just mentioned
chubby is an interesting one google's
chubby it was probably the first uh mike
burrows i think uh did chubby and if you
haven't heard the name mike burrows
uh you really should know his name
because you know he's easily one of the
the people who had 10 people who've had
the most impact of google right
uh he's you know i don't know he's a de
or whatever
and uh and he he came up with chubby as
far as you know among other things and
chubby is um
chubby is distinguished as
having something like seven nines of
availability it was down for 30 seconds
in 10 years something like that
so um
so yeah and it's because google has a
core competency of operating chubby at
scale
right because it's the it's the central
you know key value service for service
uh discovery and information ...

view more

More Episodes

[Weekend Drop] Remote IDEs and the End of Localhost on the InfoQ podcast
2022-12-04
[Music Friday] Stories ft. Hunter
2022-12-02
[Misc] Eric Schmidt on AI
2022-12-01
[Misc] Guided Metacognition - David McRaney
2022-11-30
[Misc] The James Webb Space Telescope | Heidi Hammel and Nadia Drake
2022-11-29
[Misc] Inside Voice: Lake Bell and the Sexy Baby Voice Phenomenon
2022-11-28
[Music Friday] Fly Me to the Moon - Going Spaceward
2022-11-18
[Business] Haseeb explains FTX
2022-11-16
[Tech] dbt criticism and How dbt Fails
2022-10-27
[Tech] dbt origins (again!) and dbt Semantic Layer - Drew Banin
2022-10-25
[Tech] dbt as a standard - Laurie Voss
2022-10-24
[Weekend Drop] Developer Experience & the Coding Career Handbook with Corey Quinn on Screaming in the Cloud
2022-10-22
[Music Friday] Hits of 2019 - VoicePlay A Cappella
2022-10-21
[Business] The Austin Powers Just Do It Award - Amazon's Bias for Action Culture
2022-10-19
[Tech] Reddit's Two Tables, Amazon's Biblio Records and Title Authority
2022-10-18
[Business] Amazon's move to subscriptions and Prime
2022-10-16
[Weekend Drop] Trading derivatives with VBA and Finance - swyx on the Keycuts podcast
2022-10-15
[Music Friday] Remixes, Interpolations and the Nostalgia Loop - Charlie Harding
2022-10-14
[Tech] GitHub Copilot - Ryan Salva
2022-10-12
[Tech] Stable Diffusion - Emad Mostaque
2022-10-11
  • ←
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • →
012345678910111213141516171819

Get this podcast on your
phone, FREE

Download Podbean app on App Store Download Podbean app on Google Play

Create your
podcast in
minutes

  • Full-featured podcast site
  • Unlimited storage and bandwidth
  • Comprehensive podcast stats
  • Distribute to Apple Podcasts, Spotify, and more
  • Make money with your podcast
Get started

It is Free

  • Podcast Services

    • Podcast Features
    • Pricing
    • Enterprise Solution
    • Private Podcast
    • The Podcast App
    • Live Stream
    • Audio Recorder
    • Remote Recording
    • Podbean AI
  •  
    • Create a Podcast
    • Video Podcast
    • Start Podcasting
    • Start Radio Talk Show
    • Education Podcast
    • Church Podcast
    • Nonprofit Podcast
    • Get Sermons Online
    • Free Audiobooks
  • MONETIZATION & MORE

    • Podcast Advertising
    • Dynamic Ads Insertion
    • Apple Podcasts Subscriptions
    • Switch to Podbean
    • YouTube to Podcast
    • Blog to Podcast
    • Submit Your Podcast
    • Podbean Plugins
    • Developers
  • KNOWLEDGE BASE

    • How to Start a Podcast
    • How to Start a Live Podcast
    • How to Monetize a Podcast
    • How to Promote Your Podcast
    • Mobile Podcast Recording Guide
    • How to Use Group Recording
    • Podcast Advertising 101
  • Support

    • Support Center
    • What’s New
    • Free Webinars
    • Podcast Events
    • Podbean Academy
    • Podbean Amplified Podcast
    • Badges
    • Resources
  • Podbean

    • About Us
    • Podbean Blog
    • Careers
    • Press and Media
    • Green Initiative
    • Affiliate Program
    • Contact Us
  • Privacy Policy
  • Cookie Policy
  • Terms of Use
  • Consent Preferences
  • Copyright © 2015-2025 Podbean.com