5 rzeczy, które powinieneś wiedzieć o Camunda 8

Platforma Camunda może pochwalić się ustabilizowaną pozycją na rynku. Jej początki sięgają 18 marca 2013 roku, kiedy to po raz pierwszy wydana została jako otwarte oprogramowanie i udostępniona szerokiemu gronu odbiorców. Od tego czasu jej właściciele (niemiecka firma o tej samej nazwie) stale rozwijali platformę, dodając nowe funkcjonalności i ulepszając już istniejące. Obecnie Camunda jest jednym z najpopularniejszych i najczęściej stosowanych narzędzi BPM, z tysiącami użytkowników i setkami wdrożeń na całym świecie. 

5 rzeczy, które powinieneś wiedzieć o Camunda 8

12 kwietnia 2022 r. Camunda ogłosiła przełomowe wieści: wydanie zupełnie nowej wersji platformy, czyli Camundy 8, określonej mianem The Universal Process Orchestrator. Wydawcy platformy postanowili sprostać dzisiejszym wymaganiom biznesowym, w których centrum znajdują się takie aspekty jak wydajność, dostępność i skalowalność rozwiązań software’owych. W nowej wersji Camunda umożliwia zarządzanie różnymi typami procesów biznesowych, w tym procesami przepływu pracy (workflow), procesami decyzyjnymi (decision) oraz procesami zdarzeniowymi (event-driven). Integruje się również z różnymi systemami, dzięki czemu może działać jako narzędzie do zarządzania procesami biznesowymi na wielu poziomach organizacji, niezależnie od rodzaju procesu i używanych technologii. 

Efektem prac nad nową wersją platformy było przede wszystkim zaprojektowanie i wdrożenie całkowicie nowego silnika procesowego, Zeebe (nowoczesne rozwiązanie cloud-native, od samego początku stworzone z myślą o pracy w chmurze).

Camunda 8. Nowe komponenty

Camunda w wersji 8 składa się z kilku rodzajów komponentów.

Komponenty skierowane do użytkownika:

  • Modeler (modelowanie i wdrażanie diagramów procesów BPMN i DMN),
  • Tasklist (zarządzanie pracą ludzką),
  • Operate (monitoring, analiza i rozwiązywanie problemów z uruchomionymi procesami),
  • Optimize (wykorzystywanie danych procesowych do analizy obszarów wymagających poprawy, np. znajdowanie wąskich gardeł w procesach).

Komponenty podstawowe (corowe):

  • Workflow Engine, zasilany przez Zeebe (silnik procesowy, odpowiadający za automatyzację procesów na szeroką skalę),
  • Decision Engine (silnik decyzyjny, pozwalający na automatyzację podejmowania decyzji w ramach procesów biznesowych),
  • Helm charts (zestaw plików służących do zautomatyzowania procesu wdrażania aplikacji w środowisku Kubernetes),
  • Connectors (komponenty oprogramowania umożliwiające integrację różnych systemów, baz danych, aplikacji itp.).

1. Camunda Zeebe – nowy silnik procesowy

Największą różnicą między Camunda 7 a Camunda 8 jest wprowadzenie nowego silnika procesowego o nazwie Zeebe. Silnik został zaprojektowany z myślą o skalowaniu w poziomie (horizontal scaling), co oznacza, że można go łatwo dostosować do rosnących potrzeb i wymagań biznesowych. Umożliwia elastyczną obsługę dużych i skomplikowanych procesów biznesowych, a także zapewnia większą niezawodność i wydajność w środowiskach rozproszonych. 

Do budowy Zeebe wykorzystano architekturę sterowaną zdarzeniami (Event-Driven Architecture / EDA), co oznacza, że procesy biznesowe wykonywane są w oparciu o przepływ zdarzeń, a nie sztywny sekwencyjny proces. Dzięki temu można łatwo dodawać lub usuwać węzły w klastrze, a procesy biznesowe będą automatycznie przypisywane do dostępnych węzłów. Taki elastyczny model skalowania poziomego umożliwia osiągnięcie wysokiej dostępności, wydajności i skalowalności, co jest kluczowe dla złożonych procesów biznesowych.

Architektura Zeebe składa się z trzech głównych elementów:

  • Broker Zeebe — centralny serwer w architekturze Zeebe, który odpowiada za zarządzanie procesami biznesowymi i komunikację z innymi serwerami w klastrze. Może obsłużyć wiele tysięcy procesów biznesowych jednocześnie, dzięki czemu jest skalowalny w poziomie.
  • Worker — serwer aplikacji uruchamiany na maszynach, na których wykonują się zadania procesowe. Workerzy pobierają zadania z brokera Zeebe i wykonują je, a następnie zwracają wynik do brokera.
  • Klient — aplikacja kliencka używana do modelowania, uruchamiania i monitorowania procesów biznesowych. Klienci komunikują się z brokerem Zeebe za pomocą protokołu gRPC, który zapewnia niskie opóźnienia i wysoką wydajność.

Broker Zeebe i Workerzy mogą być uruchamiani w kontenerach Dockera lub jako aplikacje w środowisku chmurowym, co pozwala na łatwe wdrażanie i skalowanie silnika procesowego Zeebe w różnych środowiskach.

2. Camunda Decision Engine – nowy silnik decyzyjny

Decision Engine (silnik decyzyjny) to jedna z najważniejszych nowych funkcjonalności w Camunda 8, która pozwala na integrację silnika procesowego z silnikiem decyzyjnym DMN (Decision Model and Notation). Wprowadzony został jako nowy moduł silnika BPMN oraz zintegrowany z silnikiem DMN 1.3, który pozwala na modelowanie i wykonanie złożonych decyzji biznesowych, opartych na regułach i danych wejściowych, analizowanych w czasie rzeczywistym. 

Decision Engine w Camunda 8 umożliwia automatyczne wywoływanie modeli DMN z poziomu procesów BPMN i przekazywanie im danych wejściowych. W odpowiedzi silnik DMN wybiera najlepsze reguły decyzyjne na podstawie danych wejściowych i zwraca wynik do procesu BPMN. W ten sposób decyzje biznesowe podejmowane są w sposób szybszy, bardziej efektywny i mniej podatny na błędy ludzkie. 

Innym ważnym elementem Decision Engine jest wbudowane narzędzie DMN Simulator, które pozwala na testowanie modeli DMN przed ich wdrożeniem. Umożliwia to symulowanie różnych scenariuszy biznesowych i sprawdzanie, jakie decyzje zostaną podjęte przez silnik DMN, co pozwala na lepsze zrozumienie i optymalizację procesów biznesowych. 

3. Camunda 8 – no database

W poprzednich wersjach Camunda silnik BPMN oparty był na bazie danych, która przechowywała informacje o procesach biznesowych, zadaniach, historii zadań itp. Nowością jest fakt, że Camunda 8 nie wymaga już tradycyjnej relacyjnej bazy danych. W nowej architekturze dane o procesach biznesowych i instancjach procesów przechowywane są w tzw. Event Store, który jest specjalnym repozytorium zdarzeń, zapisywanych w sekwencji czasowej. Event Store przechowuje informacje o wszystkich zmianach, jakie zachodzą w procesach biznesowych, a te zdarzenia wykorzystywane są do tworzenia stanu aktualnego procesu. 

Przejście na architekturę no database pozwala na uzyskanie większej elastyczności i skalowalności, ponieważ nie ma już konieczności utrzymywania tradycyjnej bazy danych i jej optymalizowania. Ponadto, dzięki zastosowaniu Event Store, można łatwo skalować procesy biznesowe w Camunda 8, co umożliwia obsługę większych obciążeń i zwiększenie wydajności. 

Zwiększ wydajność swojej firmy dzięki automatyzacji procesów biznesowych. Napisz do nas

4. Cloud-native deployment

Camunda 8 została zaprojektowana jako rozwiązanie cloud-native, co oznacza, że jest dostosowana do pracy w środowisku chmurowym i wykorzystuje wiele funkcjonalności chmury. Oto kilka cech, które pozwalają na klasyfikowanie Camunda 8 jako cloud-native:

  • Elastyczność. Camunda 8 jest łatwo skalowalna, co oznacza, że może być dostosowana do różnych rozmiarów obciążeń i ilości danych.
  • Bezstanowość. Nowa wersja Camundy nie wymaga przechowywania stanu między żądaniami, co ułatwia jej uruchamianie w kontenerach.
  • Mikrousługi. Platforma składa się z wielu mikrousług, które można uruchamiać niezależnie od siebie (ułatwia to również skalowanie).
  • Architektura oparta na zdarzeniach. Camunda 8 wykorzystuje architekturę opartą na zdarzeniach, co pozwala na integrację z innymi usługami i systemami.
  • Obsługa kontenerów. Platforma została zaprojektowana w taki sposób, aby działać w kontenerach (np. Docker i Kubernetes), co ułatwia jej wdrożenie w środowisku chmurowym.

5. Zmiany w modelu licencyjnym w Camunda 8

W wersji Camunda 8 zaszły istotne zmiany dotyczące modelu licencjonowania. Dotychczas, korzystając z Camundy 7 w wersji Community, mogliśmy korzystać z silnika BPM oraz dostarczonych komponentów (Tasklist, Cockpit, Admin) niezależnie od tego, czy używaliśmy ich w środowisku testowym, czy produkcyjnym. Oczywiście komponenty miały pewne ograniczenia funkcjonalne, które utrudniały wykorzystanie Camundy na produkcji, ale nie uniemożliwiały tego całkowicie.

W wersji 8 Camunda Community wprowadzono zasadę, że dodatkowe komponenty (Task List oraz Operate, które zastąpiły Cockpit i Optimize) mogą być używane tylko i wyłącznie w środowisku nieprodukcyjnym. Zasada dotycząca wykorzystania samego silnika BPM pozostała niezmieniona. Co to oznacza w praktyce?

Niestety, aby używać Camunda 8 Community Edition w środowisku produkcyjnym i korzystać z wysokiej wydajności silnika BPM, musisz zakupić licencję Camunda Enterprise lub poszukać alternatyw dla wymienionych wyżej komponentów.

Przeczytaj też: