Last week, we released the latest version of Event Endpoint Management in IBM Cloud Pak for Integration 2021.2.1. It allows organisations to share and manage access to their Kafka topics. In this post, I want to share a run-through of how it all works.
I’ll start with a high level summary overview, then a walkthrough demo video, and finally share some links to related reading if you’d like more detail.
Overview
click for a larger version of the diagram – numbers in the diagram are described below
Kafka topic owner
This is someone who has a Kafka topic, and is running an application or system that is producing a stream of events to that topic.
They think this stream of events might be useful to other developers in their organisation, so they describe it (using AsyncAPI) and publish this to a catalog where it can be discovered and managed.
- creates a Kafka topic and an application that produces events to it
- describes and documents their Kafka topic, and the events that are being produced to it
- publishes the description of their Kafka topic
- pushes the Kafka cluster security info to the Event Gateway service so it can manage access to the topic for the topic owner
App developer
This is someone who is building an application that could benefit from a stream of events.
They are able to discover the event sources that have been shared in their organisation, and get access to them through a self-service Developer Portal.
- creates credentials for use in their application
- registers new application credentials
- updates the Event Gateway service with the new application credentials
- creates or configures an application with guidance from the Portal
- application connects to the Event Gateway service
- application connection routed securely to the Kafka brokers
Demo
Here is a demo of how all of this works.
I’ve split this demo into three sections:
- Admin – installing and setting up Event Endpoint Management
- Kafka topic owner – describing a Kafka topic and publishing it so that it can be used by other developers
- App developer – discovers a Kafka topic and creates credentials to use to access it
Admin
Kafka topic owner
App developer
Further info
- What is Event Endpoint Management?
– a post about how event endpoint management relates to API management - A Kafka Developer’s Guide to AsyncAPI
– description of how to use the AsyncAPI standard to describe Kafka messages - Event Endpoint Management documentation
– official documentation from Cloud Pak for Integration - Why you should document your Kafka topics
– a post about some of the benefits of publishing AsyncAPI documents of your Kafka topics - Why we should manage streams of events
– a post about why event endpoints are equivalent to APIs
Tags: apachekafka, asyncapi, kafka