My Talk @ Kafka Summit SFO 2019

Monday, Sep 9, 2019 | 3 minute read

Ricardo Ferreira

We are less than one month away from the next edition of the world’s best conference about Apache Kafka known as Kafka Summit, and I would like to detail a bit what is going to be the focus of my talk Being an Apache Kafka Developer Hero in the World of Cloud.

https://kafka-summit.org/sessions/developer-hero-cloud/

As you can read in the description, this talk is all about Confluent Cloud, where I will be showing the first steps to start working with event streaming applications using this awesome Apache Kafka as-a-service product from Confluent. However, the interesting part here is how I am going to do that.

Since a picture is worth a thousand words, I will start explaining this one:

That is right: I will be using the infamous Pac-Man game as a building block to teach how to develop event streaming applications using Confluent Cloud. Attendees of this talk will get to play with the game using their phones since the game will be deployed in a cloud provider. As they play with the game, events will be emitted to Kafka topics in near real-time.

There will be two types of events being emitted:

  • Events about the game containing current score, number of lives and levels;
  • Events about when the user loses a game, usually known as game-over;

To make things even more interesting, I will be creating a fairly complex processing pipeline using KSQL , that will compute aggregated statistics about each user’s game. I will create this pipeline step-by-step so the attendees can get the chance to see how the pipeline evolves from simple Kafka topics to a set of streams that will suffer lots of operations such as rekeying, counting, grouping, joins – and finally becoming a table that will hold the computed statistics from each user’s game.

This table will serve the game’s scoreboard… an always-updating, live, near real-time display that lists all game’s statistics per user, where users will be ordered based on their game’s performance:

This scoreboard will be implemented using Golang, which will act as a microservice that consumes the table created. This showcase a typical event streaming application where microservices will be acting upon the data that is being held-and-computed by Kafka, therefore showing an end-to-end application , far from a simple hello world.

Throughout the 45 minutes of the talk, I will be doing a live coding session with the attendees where I will be executing the following tasks:

  1. Creating a cluster from scratch in Confluent Cloud.
  2. Testing connectivity with a simple producer and consumer.
  3. Cloning the GitHub repo that contains the Pac-Man game.
  4. Walking through the code and explaining the architecture.
  5. Setting up the necessary credentials to deploy the game.
  6. Deploy the game in the cloud provider using Terraform.
  7. Ask attendees to play with the game to generate events.
  8. Build the scoreboard using a pipeline written in KSQL.
  9. Run the Golang consumer to verify data correctness.
  10. Destroying the development KSQL Server created.
  11. Creating a KSQL application on Confluent Cloud.
  12. Re-creating the scoreboard in the KSQL application.

…and of course, I will be answering as many questions attendees may have. To ensure I will have the time to execute all these tasks, I will bebringing near-zero slides for this talk. Therefore, attendees can expect to spend more time with the code part and less time with boring slides.

Looking forward to seeing all of you in shinny San Francisco, though I cannot promise if the weather will be that shinny!

© 2018 - 2026 Ricardo Ferreira

Search is powered by Pagefind. Just hit CTRL+K or CMD+K to start searching.

Powered by Hugo with Dream and Devrel themes.

Open Source

I contribute to LangChain4j, an idiomatic open source Java library for building LLM-powered applications on the JVM. Recent work includes adding native vector search embedding stores so developers can build RAG, recommendation engines, and AI memory systems.

I also ported RedisVL to Go, an open source, AI-native client that brings vector search, semantic caching, LLM memory, semantic routing, rerankers, and an MCP server to the Redis ecosystem for Golang developers.

Speaking

I’ve been speaking at conferences since 2008 and doing it full time as part of my work since 2018. Some of the events I’ve spoken at include AWS re:Invent, Microsoft Ignite, Google Cloud Next, KubeCon, Oracle OpenWorld, QCon, Strange Loop, Kafka Summit, Pulsar Summit, JavaOne, DevNexus, JFokus, JNation, and All Things Open.

Recordings of my talks live on my YouTube channel, and the code I write for talks, demos, and tutorials is on my GitHub.

Who am I?

I work at the intersection of distributed systems, AI, and data infrastructure, turning complex technology into things developers can understand, adopt, and build with.

Lately, that means hands-on AI engineering: building vector search, semantic caching, agent memory, and RAG into the data layer; contributing to LangChain4j and RedisVL for Golang; and figuring out how to make AI agents secure enough to ship.

The AI-native work isn’t a pivot. It draws on the same systems-design foundation I’ve built for 20+ years, moving data fast, at scale, close to compute, watching where systems break; now applied to vectors and agents. I have worked on event streaming with Apache Kafka and Flink at AWS and Confluent; observability at Elastic; as well as RDBMS, NoSQL, and Big Data at Oracle. That foundation is exactly what separates AI demos that work on stage from AI systems that survive production.

Social Links