170 karma · joined July 4, 2018
In my opinion Gaia is perfect for programmers which are "forced" to write automation tasks. It allows you to write automation tasks in your preferred programming language and makes it super easy for you to schedule them because Gaia comes with an automatic build feature (just provide the git url of your source code and Gaia does the rest). Additionally, Gaia is super fast, lightweight and open-source.
In my opinion Gaia is perfect for programmers which are "forced" to write automation tasks. It allows you to write automation tasks in your preferred programming language and makes it super easy for you to schedule them because Gaia comes with an automatic build feature (just provide the git url of your source code and Gaia does the rest). Additionally, Gaia is super fast, lightweight and open-source.
In my opinion Gaia is perfect for programmers which are "forced" to write automation tasks. It allows you to write automation tasks in your preferred programming language and makes it super easy for you to schedule them because Gaia comes with an automatic build feature (just provide the git url of your source code and Gaia does the rest). Additionally, Gaia is super fast, lightweight and open-source.
Have a look at the Kubernetes deployment tutorial, this might clear things up for you: https://medium.com/@michelvocks/automatic-kubernetes-deploym...
In my opinion it's comparable with airflow except it's more lightweight and supports basically any programming language and not only python.
We are already working on "agents/build slaves" (we call them worker): https://github.com/gaia-pipeline/gaia/issues/107
Argo is pretty cool but I think it's different. Imagine developing an automation workflow with 20-30 different steps. In Argo you basically have to develop 20-30 different applications, compile them, build a separate docker image and push all these images to a registry.
In my opinion that's too much overhead and a configuration management nightmare as well. Additionally, what if one step needs to share information with another one? What if when this information is not trivial like a binary for example?
I usually compare Gaia with tools like Jenkins and Spinnaker. For example, many people use Jenkins Pipeline (https://jenkins.io/solutions/pipeline/) which allows you to write CI/CD tasks in Groovy. In my opinion, Gaia fulfills this job way better because it doesn't force you to use a specific language. It's also super fast and provides features like the automatic (re)build of your pipelines.
I think we have answered those questions on our github readme page (https://github.com/gaia-pipeline/gaia) but somehow missed that on our webpage. We will work on that!
Edit: Oh and thanks. I will fix the links of the language icons. :-)
We have already defined a "Q&A" section in our github README file (https://github.com/gaia-pipeline/gaia#questions-and-answers-...). Does this briefly answer your question or is still too vague?
To answer your question, a pipeline is a real application which consists of at least one function (we call it job). You can compare it with a Jenkins Pipeline (https://jenkins.io/solutions/pipeline/). Therefore, a pipeline is one flow of automation task which consists of one or more steps.
Actually, gRPC is the only requirement for pipelines. I hope can make this more clear in the future! :-)