Get your teamself-sufficienton the platformswe deliver.

We have spent years building streaming and data platforms for customers. These courses are how we train our own engineers on them, and your team learns the same way, on live infrastructure from the first minute.

Nothing to install.

Partition 0Offset 0Partition 1Offset 0Partition 2Offset 0

Each order goes to a partition picked by its key. A consumer reads them in order and keeps its offset.

Labs

A real environment,
ready in seconds.

Each lab opens in the browser with the tools, files and steps already set up. Students connect their own Databricks workspace or Kafka brokers, and their files are still there when they come back.

  • Bring your own account
  • Nothing to install
  • Files saved between sessions
Lab workspaceNot connectedStepsCreate the orders tableLoad 1,000 ordersQuery them backFilesorders.csvorders.py$ python orders.py createConnecting to your accountCreated table orders.Step 1 complete.Connect your own accountDatabricks workspace or Kafka brokersAccess keyConnectSetting up your labTools and librariesLab filesResources in your accountLab stopped for the nightYour files are saved.

Interactive visualizations

Break things on purpose.

Each course has models that students can change and break. Here a student turns off a server and watches another take over, then lowers the number of copies and sees what the next failure does.

  • Trigger failures on demand
  • Watch the system recover
  • Change a setting, see the effect
Server 1Part ACopyPart BCopyPart CCopyRunningStoppedStopStartServer 2Part ACopyPart BCopyPart CCopyRunningStoppedStopStartServer 3Part ACopyPart BCopyPart CCopyRunningStoppedStopStartPrimaryPrimaryPrimaryCopies of the data3Every part of the data is kept on all three servers.

Mentoring

A mentor at
every step.

In a live class the instructor leads the slides, draws on them and can step into a student's terminal. Students on their own get a narrated course, with a voice, a pointer and a Show me button.

  • Slides synced to the room
  • Drawing on any slide
  • Hands-on help in your lab
MentorIn Tom's labWhere the data goesSourceStreamTableOrders per minute$ python load.pyerror: orders.csv not found$ cd data && python ../load.pyLoaded 1,200 ordersNextTom raised a handAshaWhere the data goesSourceStreamTableOrders per minute$ python load.pyerror: orders.csv not found$ cd data && python ../load.pyLoaded 1,200 ordersTomMentor is hereWhere the data goesSourceStreamTableOrders per minute$ python load.pyerror: orders.csv not found$ cd data && python ../load.pyLoaded 1,200 orders

AI assistant

Help that knows
where you are stuck.

The assistant reads the code in the editor, the error in the terminal, and the lab step the student is on. It explains what went wrong in plain words and points at the exact line to change.

  • Reads your code and your error
  • Knows the current lab step
  • Points at the line to change
producer.py1from confluent_kafka import Producer23producer = Producer({45})67producer.produce("orders", b"order-1")8producer.flush() "bootstrap.servers": "broker1:9029", "bootstrap.servers": "broker1:9092",$ python producer.pyConnect to broker1:9029 failed:connection refusedConnected to 3 brokers. Sent 1 order.AssistantWhy can't it connect?Reading producer.py, the error,and lab step 2Line 4 uses port 9029.Your brokers listenon 9092.Connected. On to step 3.

Course catalog

The courses we offer

More courses are on the way.

Browse all courses

Start learning in the next minute.

Pick a course, open the first lab, and the environment is running before you finish reading step one.

Live nowKafkaDatabricks