Developers, build your AI workflows and Applications in record time; deploy at scale with serverless technology; self-host, install on any cloud and HPC or use our hosted platform; Open source, low code.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
·
Talk with the devs
WARNING: We use GitLab for our development, if you want to see the whole application code see https://gitlab.com/ryax-tech/ryax/
RYAX is the new open-source Hybrid workflow orchestrator to optimize your AI workflows and applications. Create AI workflows and orchestrate them over hybrid infrastructure (multi-HPC and multi-Cloud)
Ryax is composed of multiple micro-services and tools. To learn more about the internal architecture, see the documentation. The main components are:
User interfaces
Micro-services
- studio: Handles the edition of workflows.
- runner: A trigger or an action run? It handles it.
- authorization: Answer to the question: "do you have the rights to do so?".
- repository: Scan git repositories to find actions.
- action-builder: Builds actions and triggers.
Ryax Actions
- default-actions: Useful open-source actions and triggers.
- hpc-actions: Actions dedicated to HPC use case.
Others
- common-helm-charts: Set of common templates for Ryax services library charts
- action-wrappers: Nix based building tool for Ryax actions that inject the Ryax a wrapper.
Main technologies used by Ryax
The code: Python, dependency-injector, SQLalchemy, GRPC.
Around the code: Nix, poetry, ruff, mypy.
Deploying Ryax: Kubernetes, Terraform, Helm.
All you need to install Ryax is a Kubernetes cluster. Supported versions are:
- kubernetes > 1.19
Hardware:
- At least 2 CPU core
- 4GB or memory
- 40GB of disk available
Note that depending on the Actions that you run on your cluster you might need more resources.
We recommend this option if you wish to test our product with a minimal amount of configuration steps, and if you have enough RAM (~3GB) and disk (20GB) available.
/!\ Warning: Do not use this setup in production! /!\ Warning: To make it easier for you to access the cluster from your browser, we expose the ports 80 (http) and 443 (https) on your local machine. Make sure these aren't already used!
Copy the docker-compose.yml file form this repository and run:
docker-compose up -d
Wait for the installation to finish by checking for the install container state with:
docker logs $(basename $PWD)-install-ryax-1 -f
Be patient, this may take some minutes depending on your internet connection.
Once its done you can access to your cluster with: http://localhost/app/login
Default credentials are:
- user:
user1
- password:
pass1
To uninstall your cluster, stop it with:
docker-compose down -v
This is the standard and recommended approach. It works on most managed Kubernetes, like AWS EKS, Azure AKS, GCP GKE.
For more details on the configuration, see our documentation.
A more complete roadmap will be published soon.
- Create workflows
- Support actions and triggers made in python
- User and project management
- HTTP API automatic creation (with OpenAPI interactive UI!)
- Manage credentials for the integrations with shared variables
- Support actions made in Javascript(Nodejs) and C#
- Offloading of demanding actions to an HPC cluster
- Multi Kubernetes cluster support
- Workflows can run across multiple sites
- Spark Application support
- Jupyter Notebook support with GPU enabled
- Support all kind of parallel application
- Backend as a Service with on-demand with dedicated database, object store, message broker...
- Support any container based services
- Ryax in Ryax!
If you want to say thank you and/or support the active development of Ryax:
- Add a GitHub Star to the project.
- Talk about the project on your favorite social network.
- Write a review or tutorial on Medium, Dev.to or personal blog.
- Share some triggers and actions with the community.
- Fix bugs and implement features to our code.