Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Commit Your Code 2026 - Data Contracts in Event...

Commit Your Code 2026 - Data Contracts in Event-Driven Systems

From Guesswork to Governance: Bringing API Discipline to Data Streaming

Plano, Texas - September 3, 2026

So you’re committed to this path of data streaming with Apache Kafka. But, here’s a question: would you build a REST API and make users guess the request and response formats? Doing so opens a Pandora’s Box…

- What’s the domain model?
- Name the operation… POST? GET? PUT? PATCH?
- What does this error code even mean?
- Is the documentation (if it even exists) accurate and relevant?

Imagine the complex, repetitive logic every consuming system would need to implement to make sense of it all. In a distributed, asynchronous system, these problems are magnified. Apache Kafka's flexibility - messages as simple bytes - is a huge strength, but it's also a major risk. While your event streams likely consist of some structured data (maybe JSON strings), enforcing structure, managing evolution, and basic validations aren’t a hard requirement. This leaves consumer applications to perform this preprocessing of every event - even if that event has no business value.

In this session, we'll define data contracts and how to enforce them at the source - the applications that produce events. We’ll cover the practice of using a schema registry - supporting popular serialization formats like Apache Avro and Google Protobuf - to design events in the terminology of our business domain. Because data structures change over time, let’s discuss safe schema evolution practices. Then we’ll utilize these contracts with schema registry-aware producer and consumer code. We’ll end our time by looking at how smart CI/CD pipelines and build-time checks can add an extra layer of defense against the costly problem of poison data. It’s time to stop guessing and start governing.

Join us to learn how to move validation upstream and transform your event streams into high-quality, discoverable data products. You’ll walk away with a practical blueprint for enforcing schema integrity and automating evolution - ensuring your data streams are a trusted asset.

https://www.commityourcode.com/sessions/from-guesswork-to-governance-bringing-api-discipline-to-data-streaming-j3x7tyxu0r5ipbyaq3

Avatar for Sandon Jacobs

Sandon Jacobs

September 03, 2026

More Decks by Sandon Jacobs

Other Decks in Technology

Transcript

  1. Domain language, not just shape… te a t s t

    n rre Cu r e e n i g En speak k o o l a t I got … p u s i h t What actua lly happe ned How t he org talks about it Selfdocum enti ng
  2. Role of the registry Be THE source of TRUTH Decouple

    schema from code deployment Manage Versioning Enforce Compatibility
  3. Compatibility Modes ✦ Backward ✦ ✦ ✦ If BACKWARD_TRANSITIVE, then

    v1 events, as well v3 v2 v1 BACKWARD_TRANSITIVE Forward ✦ ✦ ✦ v3 consumer can process v2 events v2 consumers can process v3 events If FORWARD TRANSITIVE, then v1 consumers can process v3 events, as well v2 v3 v1 FORWARD_TRANSITIVE Full ✦ ✦ ✦ v3 consumer can process v2 events v1 v2 consumer can process v3 events If FULL_TRANSITIVE, then same rules apply to v1, as well v1 v1 v2 v2 V3 v3 v3 v1 FULL_TRANSITIVE v2 v2 v3
  4. How this all works… Schema Registry Replicate/share schemas Register schema(s)

    Schema Registry Fetch schema Deserialize and Process event Get schema Validate schema ID Send to Kafka v1 v1 Get schema ID
  5. See it in action… • Register v1 of our schema

    • Produce and Consume v1 events • Evolve to v2, with a “breaking change” • Consumer app uses v2 schema, by default • But, consumer can process v1 events