Skip to content

This demonstration features the seamless workflow orchestration with Netflix's Conductor with workers as Spring Boot apps and observability over the orchestration.

Notifications You must be signed in to change notification settings

amithkoujalgi/workflow-orchestration-on-conductor-with-observability

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Demo of Workflow Orchestration with Netflix Conductor with Observability Setup

Java Spring Boot Conductor

Table of Contents

Introduction

This is a project featuring seamless workflow orchestration with Netflix's Conductor framework with Spring Boot apps registered as task workers that execute the tasks of configured workflows. It also provides full observability of the system and workflows.

Design

  flowchart TD
    w[Worker]
    c[Conductor]
    w -->|Registers with| c;
    u -->|Runs workflow| c;
    c -->|Runs task| w;
    p[Prometheus]
    g[Grafana]
    u[User]
    subgraph Conductor Deployment
        direction TB
        c -->|Publishes metrics| p
        p -->|Consumes metrics| g
    end
    g -->|View Dashboard| u;

Loading

Worker

  • This is a microservice that has the code to execute one or more task types.

Conductor

  • This is a service that is responsible for orchestrating the workflows.
  • Registers workers that are capable of running tasks.

Prometheus

  • Metrics collector

Grafana

  • Metrics visualization tool

Prerequisites

Build

make build

Run

Start Conductor

make start-docker

Add workflow

make add-workflow

Start Worker

make start-worker

Trigger a workflow run

make exec-workflow

Trigger a faulty workflow run

make exec-workflow-faulty

With all services up, access:

Description URL
Conductor UI http://localhost:5000
Grafana UI http://localhost:3000
Conductor REST API Playground http://localhost:8080/swagger-ui/index.html
Conductor Prometheus Metrics Endpoint http://localhost:8080/actuator/prometheus

Images

Workflow Definition:

Workflow Definition

Workbench to run Workflows:

Workbench to run Workflows

Listing of Workflow Runs:

Listing of Workflow Runs

Listing of Task Runs:

Listing of Task Runs

Completed Workflow:

Completed Workflow

Dashboard:

Dashboard - part 1

Dashboard - part 1

Contributions

Contributions are welcome!

The dashboard needs a lot more information and the existing ones might also need some updates. Any help would be much appreciated.

References

About

This demonstration features the seamless workflow orchestration with Netflix's Conductor with workers as Spring Boot apps and observability over the orchestration.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published