Testing is one of the hardest parts of building reliable distributed systems. Kafka has long had a set of system tests that cover distributed operation but this is an area that is simply never good enough.
At Confluent and Cloudera we’ve both been working on improving the testing capabilities for Kafka.
An area of particular importance is compatibility. Companies that want to build reliable data real-time data flow and processing around Kafka need to be able to do so without fear of incompatibilities that could arise release to release or between versions of Kafka from different vendors.
We’re announcing today a project with the folks at Cloudera and the rest of the open source community to develop high quality tests to certify API and protocol compatibility between versions and distributions.
We’ll be doing this as part of the normal Apache development process, much as we do any other Kafka development.
We think ensuring this kind of compatibility is one of the key aspects of building a healthy ecosystem of systems, applications, and processing frameworks, that is the core of our stream data platform goal.