Apache Kafka is a fascinating product that solves a problem that almost nobody has.
If the Internet is a series of tubes (RIP Ted Stevens), Apache Kafka is the pipe that connects high-volume applications with their external components, like databases and third-party services. It’s frequently used by companies that operate at the most extreme of scales, like Uber, Netflix, and Airbnb. It was initially developed by engineers within LinkedIn, which is the world’s largest professional networking site.
(If you let me put my nerd hat on for a second, I should say that my explanation was massively simplified. It does other stuff. It’s technically a database itself, helping ensure the fidelity and integrity of data as it moves through the tubes. For small applications, it’s probably overkill. For larger products, it’s really bloody helpful.)
Knowledge of Kafka is a handy skill to have, particularly if you want one of those lavishly compensated startup jobs. Y’know. The ones with stock options and fridges filled with La Croix sparkling water. The ones with beanbags piled up everywhere, like it’s the nap room at a particularly middle-class daycare.
The thing is, it has one small Achilles heel: it’s a bit tedious to install and configure.
That shouldn’t be an issue if you want to build a career around Kafka. Initialization is a big (and inevitable) part of using any tech stack. But if you’re impatient and just want to start experimenting, it’s a bit annoying. With that in mind, you could be forgiven for trying to cut corners.
It’s funny I should mention that. I recently stumbled across Platform.sh, a PaaS app that lets developers create their own application infrastructure in a matter of seconds, simultaneously handling the tedious day-to-day management routines. Platform comes with support for Apache Kafka, and lets developers integrate the framework into their applications with just five lines of code.
Let’s break that down. Three of the five lines are YAML code that creates the Kafka instance. The other two associate the instance with an application.
If you want to just dive in and start hacking shit, this is obviously a hugely compelling product. There are no TAR archives to download, and no dependencies to resolve. There’s no documentation to pore through. Nothing to search on Stack Overflow. The service also removes the usual annoying maintenance tasks. It just works, which is lovely.
Of course, Platform isn’t strictly speaking for experimentation. The cheapest tier costs $50, which is damn pricey for a testbed.
In its defense, it’s got a fairly reasonable pricing structure. Unlike other cloud hosting services that charge based on usage (say, AWS or Salesforce Heroku), Platform charges you a fixed tier and gives you a set amount of RAM and storage, which you can extend based on your own personal needs. And when you’ve finished your oeuvre, you can push it to production without any fuss.
If you’re curious, Platform has a free trial, which you can check out here. Happy hacking!