Skip to main content

What is Domino?

Domino is an open source platform for creating and monitoring advanced data workflows, with:

an intuitive Graphical User Interface that facilitates creating, editing and monitoring any type of workflow, from data processing to machine learning

a standard way of writing and publishing functional Pieces, which follows good practices for data modeling, documentation and distribution

a REST API that controls a running Apache Airflow instance, leveraging state-of-the-art workflow orchestration capabilities.

Data workflows at your fingertips

Creating workflows in the GUI is as simple as dragging and dropping Pieces to the canvas and connecting them. The user can schedule the workflow to run periodically, at a specific date/time, or trigger it manually.

Domino create workflow

The monitoring page shows the status of each workflow task in real time, including the informative logs and visual results for each run.

Domino create workflow

Domino vs Apache Airflow

Every Domino workflow corresponds to an Apache Airflow DAG, and each Piece corresponds to an Airflow task. Domino controls an Airflow instance, which is responsible for executing, scheduling and monitoring the workflows (DAGs).

You can think of Domino as Airflow with superpowers, where users can:

  • create highly complex workflows with simple point-and-click and drag-and-drop operations, in an user-friendly GUI
  • make use of Pieces developed by other people, share and reuse your own Pieces
  • collaborate in groups to edit and monitor workflows
  • experience a cleaner and more intuitive GUI for viewing workflows results, including logs and richer reports with images and tables

Development

The source code of the project is available here.

Domino is a modular and open source software, which allows for contributions from a large spectrum of expertises, from DevOps to frontend developers:

  • Frontend is written in React / Typescript
  • REST API written in Python with FastAPI
  • Worflows management is performed by Apache Airflow
  • GitOps approach to host and version Pieces and workflows
  • Pieces data models are defined with Pydantic
  • Pieces are built and distributed as Docker images, hosted in public repositories such as Github Container Registry
  • Domino runs on Kubernetes, both in the cloud or locally (using Kind)
  • Domino is distributed as a pip installable package and a Helm chart

Resources

Here's a list of the main resources for Domino: