Skip to main content

Overview

What is Nussknacker

Nussknacker is a visual tool to define and run real-time decisioning algorithms in event streaming / fast data architectures.

In all IT systems, no matter the domain, decisions are made all the time. Which offer should a customer get? Who should receive a marketing message? Does this device need servicing? Is this a fraud?

Algorithms for making such decisions can be implemented in the code. Especially if high performance or integration of data from many different sources is needed. But those algorithms often change: we have a new product we want to promote or we learn that some strange activity is not really a fraud. That requires changes in the code that would have to be made by developers.

Instead, such decision algorithms can be run by Nussknacker, where business experts can define and change them, without the need to trouble IT.

Nussknacker makes those decisions by processing event streams, providing horizontal scalability and high availability. It fits various use cases in microservice, event driven architectures.

Why Nussknacker

An essential part of Nussknacker is a visual design tool for decision algorithms. It allows not-so-technical users – analysts or business people – to define decision logic in an imperative, easy to follow and understand way. Once authored, with a click of a button, scenarios are deployed for execution. And can be changed and redeployed anytime there’s a need.

Nussknacker can be used with its own, lightweight, Kubernetes-based engine. It provides scalability and high availability, while being straightforward to set up and maintain. However, in advanced streaming use cases, when aggregations are needed, Nussknacker can execute decision scenarios on Flink – one of the most advanced platforms for stream processing. More detailed engines comparison can be found here.

Nussknacker was built to be part of event driven architectures. It uses Kafka as its primary interface: input streams of data and output streams of decisions. And since input streams are often not enough, Nussknacker can enrich them with data from databases and OpenAPI endpoints.

Scenario authoring

Scenario authoring with Nussknacker