Media streaming company Netflix has released the code of its orchestration engine for microservices called Conductor. The new offering lets businesses easily manage long running processes on microservices and defines execution flow using a JSON DSL-based blueprint.
Conductor was originally designed for internal use at Netflix. The company claims that the tool has so far helped orchestrate over 2.6 million process flows that include simple linear workflows as well as some long-standing complex dynamic workflows.
“We are open sourcing Conductor to the wider community hoping to learn from others with similar needs and enhance its capabilities,” the Netflix team writes in a blog post.
Netflix’ Conductor provides control and visibility within interactions for services in addition to their orchestration. There is also a state machine service called Decider to work with a distributed queue for managing different tasks.
Decider brings the workflow blueprint and the current state of the workflow under one roof and identifies the next state and schedules tasks. It also updates the status of the workflow.
The tasks through Decider communicate using an API layer. Conductor includes some by default system tasks such as decision, fork, join and sub workflows. Further, HTTP tasks are also supported to enable direct calls to REST services.
Netflix is aiming to expand Conductor with support for AWS Lambda compute service. There are also plans to offer tighter integration with container orchestration frameworks, logging execution data for each task and the ability to create and manage the workflow blueprints directly from the UI.