Would you build a REST API and make users guess the request and response formats?
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?
Yet that's exactly what many data streaming deployments do.
Apache Kafka's flexible, unopinionated serialization is a huge strength, but it's also a potential risk. Even if your event streams carry structured data, enforcing that structure, managing its evolution, and validating its contents aren't hard requirements. This leaves consumer applications preprocessing every event - even ones with no business value.
Designing structured events with a schema (Apache Avro and Google Protobuf) models your business domain and promotes safe evolution practices. Schema-aware serializers enforce event structure before it's written to the stream, while consumers leverage those shared schemas to deserialize on the other end. Build-time validation catches schema problems before code ever reaches review - one last line of defense against poison data. Through all of it, the goal is the same: treat your Kafka topics with the same rigor you'd apply to any API contract - because that's exactly what they are.
Join us to learn how to move validation upstream - transforming your event streams into data consumers can actually trust, with a practical blueprint for schema integrity and automated evolution.