Zeebe: Workflow Reinvented for Microservices and the Cloud (From Idea To Production Readiness)

Last Wednesday, July 17, we announced the first production ready release of Zeebe, Camunda’s new cloud-native workflow engine for microservices orchestration. Zeebe is a new code base, written from scratch, putting forward a completely new way of architecting workflow engines for microservices and distributed systems.

This blog post is a quick overview of why and how we did that.

Why we created Zeebe

About 6 years ago, Camunda entered the workflow space with a new approach to BPM. While our approach was very successful, it was foreseeable that something big was coming that would transform the tech landscape: microservices and distributed systems.

To meet an ever-growing need to define new business models and disrupt existing ones, companies must scale software development. If software is eating the world, then microservices and distributed systems are the forks and knives of that digital transformation.

It was clear to me that this migration to microservices architectures could only succeed if we figured out the right way of implementing workflows and business processes in this new distributed reality. However, this was such a radical change that it was not going to be sufficient to simply re-apply existing solutions to new problems. Something fundamentally new was needed and that came to be Zeebe.

(For a more in-depth overview, Read Mike’s post: Workflows Are Everywhere.)

How Zeebe is different

Zeebe puts one thing front and center, and then everything else naturally follows from there: Events!

In distributed microservices architectures, events are the new first class citizens. Events make it possible to record and publish state changes in one domain (microservice) such that other domains (microservices) can subscribe and react to them. This simple yet powerful principle decouples microservices from each other and introduces scalability and reproducibility. However, a problem that was not yet solved well is how to coordinate many (tens to hundreds) of actions implemented by different microservices to achieve a specific outcome. Or in other words: how to implement complex workflows. As the complexity grows, it becomes increasingly important to have visibility into such flows

And Zeebe provides exactly this – the ability to execute, manage, and monitor workflows that span across microservices and need to be scaled massively in the cloud.

Zeebe interprets workflow on top of event streams. Event streams flow into Zeebe (it is very easy to subscribe to external events from a workflow) and event streams flow out of Zeebe (as it processes workflows, it exports a complete event log into external systems). Given this event-driven way of interacting with the external world, it is only logical that Zeebe builds on top of stream processing internally, instead of a database. This simple fact is what makes Zeebe unique and completely different from any other workflow engine out there that we are aware of. It is at the core of Zeebe’s cloud native architecture, enabling it to scale horizontally, be fault tolerant through replication, and integrate natively into microservices architectures.

It only took me about 2 years to figure out how to do that, and then it only took some of the smartest people I know 2 more years to build it for real. And now, it is finally here! : )

If this has piqued your interest, you can read about the architecture in much more detail in Bernd’s excellent posts:

  • Title slide that reads "Why Camunda 8"

    Why R-KOM Chose Camunda Platform 8

    In this blog series, we highlight the customers who have chosen to utilize Camunda Platform 8 and explore the challenges those companies are attempting to overcome using process orchestration. For the latest installment of Why Camunda 8, we spoke with R-KOM, a telecommunications company based in Regensburg, Germany. When R-KOM was founded in 1997, its shareholders pooled their telecommunications infrastructure, which had evolved over decades with utility networks for water, electricity, and gas. Initially, R-KOM’s services were limited to business and the public sector, but now it has developed further in line with demand. Over the years, the company’s high-performance infrastructure and a broad range of products have grown. Today, R-KOM has a number of city networks in Eastern Bavaria...

    Read more
  • Title slide that reads "Why Camunda 8"

    Why Gruner + Jahr Chose Camunda 8

    In this new blog series, we explore the reasons why customers are migrating to Camunda 8. For our first installment of Why Camunda 8, we talked to Gruner + Jahr, one of the largest premium magazine publishers in Europe. G+J includes such established (German) print and digital brands as STERN, GEO, BRIGITTE, ESSEN & TRINKEN, and SCHÖNER WOHNEN, as well as younger brands such as CHEFKOCH, BARBARA, BEEF, 11FREUNDE. In addition to the numerous print and digital media offerings, G+J offers products and licenses such as the SCHÖNER WOHNEN collection. The digital business contributes more than half of revenues and is exhibiting continued strong growth. Indeed, the company’s digital products lead the rankings in all publishing segments, from news through...

    Read more
  • Camunda Platform 8.1.0-alpha3 Released

    We’re excited to announce the release of Camunda Platform 8.1.0-alpha3. If you’d like to get started with Camunda Platform 8.1.0-alpha3 right away, you can sign up for a free trial now. Create Process Instance Starting at User-Defined Elements An often requested feature is now available as a preview with Camunda Platform 8.1.0-alpha3: create a process instance starting at user-defined elements. When creating a process instance through the CreateProcessInstance RPC, the process instance is started at the default none start event. For testing purposes, you may want to start at one (or multiple) of the other elements. This feature is now available through both the CreateProcessInstance RPC and the CreateProcessInstanceWithResult RPC. It is available for use in the Zeebe Java client...

    Read more

Ready to get started?

Still have questions?