How to Use Domino for Workflow Management

Mar 2, 2021 | Educational

If you’re looking to build amazing ideas piece by piece, then Domino is the perfect open-source workflow management platform for you. It allows users to effortlessly create, edit, and monitor workflows ranging from data processing to machine learning, all through an intuitive Graphical User Interface (GUI). This article will guide you through the essential steps to get started with Domino.

About Domino

Domino is not just another workflow management system; it’s a powerful platform that allows you to:

  • Utilize an intuitive GUI for creating and monitoring workflows
  • Write and publish reusable functional units known as Pieces
  • Control a running Apache Airflow instance via a robust REST API

Creating workflows is as easy as drag-and-drop; you can schedule them to run automatically or trigger them manually. The monitoring page provides real-time updates on your workflow’s status and logs.

Quick Start Guide

To kick things off, follow the quick start guide available in the documentation.

Install the Domino Python package via pip:

pip install domino-py[cli]

After installation, navigate to an empty directory and run the following command to launch Domino locally:

domino platform run-compose

Once started, visit localhost:3000 to access the Domino frontend.

Understanding the GUI

The Domino frontend is built using React and is designed to streamline workflow creation. Here’s what you can do:

  • Sign Up and Login: Create your account and log in to use Domino.
  • Select or Create Workspaces: You can choose an existing workspace or create a new one.
  • Install Pieces: Install pieces from GitHub repositories into your workspace.
  • Create, Edit, and Configure Workflows: Use the GUI to arrange and connect your Pieces.
  • Monitor Workflows: Keep an eye on the real-time status of your workflows.

The Magic of Pieces

Think of Pieces as small robots on an assembly line. Each robot can perform specific tasks, and when grouped together, they can complete a complex process. Here’s why Pieces are beneficial:

  • Execute any Python code, from lightweight tasks like sending emails to heavy computations
  • Have well-defined data models for inputs and outputs
  • Run in isolated environments using Docker, ensuring reproducibility
  • Packaged in git repositories for easy sharing and installation

Creating your own Pieces is straightforward:

  1. Write your function in Python
  2. Define data types and dependencies
  3. Publish it to a Git repository

Check the Pieces documentation for more details.

Interacting through REST

The backend service operates as a REST API to control the Apache Airflow instance, enabling functionalities such as:

  • Triggering, creating, editing, and deleting workflows
  • Communicating with the Domino Database

The REST service is built with FastAPI to ensure smooth interactions.

Troubleshooting Tips

Here are some common issues you might encounter while using Domino and how to address them:

  • **Issue:** Unable to access the GUI at localhost:3000.
    **Solution:** Ensure Docker is running and try restarting the platform.
  • **Issue:** Error during installation of Domino package.
    **Solution:** Check your Python environment, and ensure you have all required permissions and dependencies.
  • **Issue:** Pieces not executing as expected.
    **Solution:** Verify the correctness of your parameters and code within each Piece.

For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

Conclusion

At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox