Skip to content

Introducing the Knative Eventing

Background

With Knative Serving, we have a powerful tool which can take our containerized code and deploy it with relative ease. With Knative Eventing, you gain a few new super powers 🚀 that allow you to build Event-Driven Applications.

What are Event Driven Applications?

Event-driven applications are designed to react to events as they occur, and then deal with them using some event-handling procedure. Producing "events" to detect and consuming events with an "event-handling procedure" is precisely what Knative Eventing enables.

Knative Eventing acts as the "glue" between the disparate parts of your architecture and allows you to easily communicate between those parts in a fault-tolerant way. Some examples include:

  1. Creating and responding to Kubernetes API events
  2. Creating an image processing pipeline
  3. Facilitating AI workloads at the edge in large-scale, drone-powered sustainable agriculture projects.

As you can see by the examples above, Knative Eventing implementations can range from the dead simple to extremely complex, the concepts you'll learn will be a great starting point to accomplish either.

CloudEvents

Knative Eventing uses CloudEvents send information back and forth between your Services and these components.

What are CloudEvents?

For our purposes, the only thing you need to know about CloudEvents are:

  1. CloudEvents follow the CloudEvents 1.0 Specification, with required and optional attributes.
  2. CloudEvents can be "emitted" by almost anything and can be transported to anywhere in your deployment.
  3. CloudEvents can carry some attributes (things like id, source, type, etc) as well as data payloads (JSON, plaintext, reference to data that lives elsewhere, etc).

To find out more about CloudEvents, check out the CloudEvents website!