The Real Python Podcast

Advantages of Protobuf for Serialization in Python


Listen Later

Would you like a way to send structured serialized data between different platforms and languages? What if the data was self-documenting, could automatically generate Python code, and would validate itself? This week on the show, Liran Haimovitch talks about protocol buffers and communicating with microservices through Remote Procedure Calls (RPC).

Protocol buffers, aka protobuf, are a language-neutral, platform-neutral system for serializing structured data. Liran talks about how they go beyond text-based protocols like JSON, providing the benefits above, along with faster transmissions and a smaller footprint.

Liran shares how his company uses protobuf to communicate between their tools. We also discuss using gRPC to communicate between microservices and scaling infrastructure in either direction.

Course Spotlight: Testing Your Code With pytest

In this video course, you’ll learn how to take your testing to the next level with pytest. You’ll cover intermediate and advanced pytest features such as fixtures, marks, parameters, and plugins. With pytest, you can make your test suites fast, effective, and less painful to maintain.

Topics:

  • 00:00:00 – Introduction
  • 00:01:59 – PyCon US 2022 Talk on protobuf
  • 00:04:46 – PyCon 2019 Talk on Understanding Python’s Debugging Internals
  • 00:05:34 – The Production-First Mindset Podcast
  • 00:07:03 – Protobuf and serialization
  • 00:11:17 – Static vs dynamic serializers
  • 00:13:58 – Text vs binary serializers and metadata
  • 00:21:08 – How long have you been using protobuf?
  • 00:21:40 – What does it look like to set up?
  • 00:24:45 – Video Course Spotlight
  • 00:26:11 – Performance challenges and trade-offs
  • 00:34:29 – Remote procedure calls
  • 00:41:13 – Using RPC for microservices
  • 00:47:21 – Scaling your infrastructure up or down
  • 00:50:35 – Working across different languages
  • 00:54:02 – What is Rookout?
  • 00:55:11 – What are you excited about in the world of Python?
  • 00:55:59 – What do you want to learn next?
  • 00:56:57 – How can people learn more about what you do?
  • 00:57:31 – Thanks and goodbye
  • Show Links:

    • Rookout | Painless Cloud-Native Debugging
    • Liran Haimovitch - Understanding Python’s Debugging Internals - PyCon 2019 - YouTube
    • The Production-First Mindset Podcast
    • Liran Haimovitch: Effective Protobuf: Everything You Wanted To Know, But Never Dared To Ask - PyCon 2022 - YouTube
    • Protocol Buffers  |  Google Developers
    • Frequently Asked Questions - Protocol Buffers  |  Google Developers
    • Thrift protocol stack — Thrift Tutorial 1.0 documentation
    • Python Microservices With gRPC – Real Python
    • gRPC - Modern Open Source High Performance Remote Procedure Call Framework
    • gRPC vs REST: Understanding gRPC, OpenAPI and REST and when to use them in API design | Google Cloud Blog
    • Welcome to PyCon US 2022
    • Rust Programming Language
    • Level up your Python skills with our expert-led courses:

      • Working With JSON in Python
      • Testing Your Code With pytest
      • Deploy Your Python Script on the Web With Flask
      • Support the podcast & join our community of Pythonistas

        ...more
        View all episodesView all episodes
        Download on the App Store

        The Real Python PodcastBy Real Python

        • 4.7
        • 4.7
        • 4.7
        • 4.7
        • 4.7

        4.7

        136 ratings


        More shows like The Real Python Podcast

        View all
        Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

        Software Engineering Radio - the podcast for professional software developers

        272 Listeners

        The Changelog: Software Development, Open Source by Changelog Media

        The Changelog: Software Development, Open Source

        283 Listeners

        Thoughtworks Technology Podcast by Thoughtworks

        Thoughtworks Technology Podcast

        41 Listeners

        Talk Python To Me by Michael Kennedy

        Talk Python To Me

        592 Listeners

        Software Engineering Daily by Software Engineering Daily

        Software Engineering Daily

        624 Listeners

        Soft Skills Engineering by Jamison Dance and Dave Smith

        Soft Skills Engineering

        269 Listeners

        Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

        Super Data Science: ML & AI Podcast with Jon Krohn

        298 Listeners

        Python Bytes by Michael Kennedy and Brian Okken

        Python Bytes

        213 Listeners

        Data Engineering Podcast by Tobias Macey

        Data Engineering Podcast

        142 Listeners

        Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

        Syntax - Tasty Web Development Treats

        982 Listeners

        DataFramed by DataCamp

        DataFramed

        266 Listeners

        Kubernetes Podcast from Google by Abdel Sghiouar, Kaslin Fields

        Kubernetes Podcast from Google

        181 Listeners

        Practical AI by Practical AI LLC

        Practical AI

        189 Listeners

        The Stack Overflow Podcast by The Stack Overflow Podcast

        The Stack Overflow Podcast

        64 Listeners

        The Pragmatic Engineer by Gergely Orosz

        The Pragmatic Engineer

        52 Listeners