Factorial plan
A JSONL row defines one controlled workload.
Security mode, broker count, message size, acknowledgement mode and throughput target are explicit, creating a reproducible experiment identity.
Case study 03 · Performance research
A dissertation-scale experiment built to measure the performance cost of Kafka security with repeatable evidence.
01 / Problem
Teams often discuss the performance overhead of TLS and mutual TLS in broad terms. My dissertation needed a controlled way to compare that overhead across Kafka security modes and workload configurations.
The challenge was as much operational as statistical: long-running experiments had to survive interruptions, preserve raw evidence and remain comparable across three- and five-broker environments.
Under controlled workloads, how much throughput and latency does transport security add to Apache Kafka?
02 / Architecture
Terraform provisions EC2 brokers and a benchmark client. Deployment scripts render plaintext, TLS or mTLS configurations. JSONL plans drive resumable producer and consumer campaigns, while telemetry and raw logs flow into analysis-ready exports.
03 / Walkthrough
Factorial plan
Security mode, broker count, message size, acknowledgement mode and throughput target are explicit, creating a reproducible experiment identity.
Terraform / Bash
Provisioning and deployment scripts configure the Kafka nodes, certificates, listeners and benchmark client before readiness is checked.
Resumable runner
Started, completed and failure records preserve progress. A failed attempt can be investigated and rerun without discarding completed work.
Python analysis
Raw benchmark output and telemetry become structured metrics, paired effects, bootstrap intervals, CSV tables and dissertation-ready plots.
04 / Decisions
Direct broker access was necessary to control listener configuration, certificates and security-mode comparability.
Machine-readable factorial rows make the campaign inspectable and prevent parameters from drifting between modes.
Long cloud campaigns fail. Resumable execution protects both time and spend while retaining failure history.
The repository contains the result evidence, not only the scripts and headline claims, so the analysis can be challenged.
05 / Results
06 / Reflection
The most valuable engineering lesson was that a credible benchmark needs operational recovery, traceable configuration and careful claims. Next, I would package the analysis as a browsable results explorer and automate cost-aware environment teardown.