After nearly two decades working with software engineering and solution architecture, in 2018 I decided to earn my living working full-time as a developer advocate. However, unofficially I’ve been blogging, creating demos, and speaking at conferences since 2004. Some of the events I’ve spoken at include JavaOne, JFokus, JNation, QCon, Google Cloud Next, Kafka Summit, Pulsar Summit, and many Big Data conferences. You can find where I’ll speak next here.
Recordings of my talks can be found on my YouTube channel, where you’re welcome to subscribe to get the latest of my work — such as workshops, demos, and tutorials that I create. In fact, you may want to check my GitHub for the code I write to all of this.
If you need to reach out, you can email me at riferrei@riferrei.com or just start a conversation on Telegram.
Every technology has that key concept that people struggle to understand. With databases, is which join clause to use for fetching data from multiple tables. Containers are tricky when you have to pick a storage type given some persistence requirements. With Apache Kafka, the winner is how many partitions to set for a topic. Why this is important? You may ask. Well, sizing Kafka partitions wrongly affects many aspects of the system, such as storage, parallelism, and durability. Worse, it may also affect how much load Kafka can handle. Hence why often the decision about how many partitions to set for a topic is handled by Ops teams, as we see this to be only an infrastructure matter. In reality, this is an architectural design decision that affects even the amount of code you write. This session will peel off the concept of partitions and explain it from the perspective of the Kafka cluster and its clients. It will explain the formula people should use to decide how many partitions to set for a topic, and how to spot a poor decision when they see one.
Is Using KoP (Kafka-On-Pulsar) a Good Idea? | Pulsar Summit San Francisco 2022 | August 2022 |
---|---|---|
Do It Yourself: Programmable Metrics using OpenTelemetry | Berlin Buzzwords 2022 | June 2022 |
Distributed Tracing: The good, The Bad, and the Ugly | Open Source North 2022 | May 2022 |
The Subtle Art of Giving Code Walkthrough Talks | DevRelCon 2021 | November 2021 |
What is Distributed Tracing, and Why Should you Care About it? | All Things Open | October 2021 |
Take me Down to the Paradise City Where the Metric is Green and Traces are Pretty | SRECon 2021 | October 2021 |
Writing Custom Sink Connectors for Pulsar I/O | Pulsar Summit Europe 2021 | October 2021 |
Elasticsearch for Gophers | Elastic Livestream | August 2021 |
Down to the Rabbit Hole with Pulsar I/O | Pulsar Summit NA 2021 | June 2021 |
Hidden Secrets about Instrumenting JVMs for OpenTelemetry | JNation 2021 | June 2021 |
Building Observable Streaming Systems with OpenTelemetry | Berlin Buzzwords | June 2021 |
OpenTelemetry for Dummies: Instrumenting Go Apps | GopherCon Europe | May 2021 |