-
-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Discuss ways to improve usability of Orquestra #35
Comments
@timfong888 Thank you for your input here. The design decision on moving the publish from the task spec into the task transition spec has to do with the fact that a lot of the output of an action execution differs depending on the final state (i.e. the output of an action execution that succeeded differs than that of failure). We didn't want to do something black and white as publish vs publish-on-error. Therefore, we move the publish to the task transition where users can define the publish based on transition condition. We are open to address the DX that you expressed here. There's a similar issue opened at StackStorm/orquesta#116. We haven't come up with a solution for it yet. If you have some inspiration on redesign you can share, please feel free to do so. The amount of "lift" depends on the solution for addressing the DX here. I think you're spot on with 4. This is a challenge for the project. I'll let the rest of the team comment on 4. |
@m4dcoder had already posted before on how this should be done in orquesta. And it stems from a different approach to branching/splitting and task transitioning. So, basically what was suggested (and what I am doing now migrating from Mistral to Orquesta) is:
I think you can even drop |
Thanks @m4dcoder -- I don't have an explicit recommendation -- I know state-machine management is hard and have seen it done using imperative languages that look nice for inspiration. Happy to share those repos if interested. I'm primarily doing ground work in DX: want to talk to people about their experience and they would want to see. And my litmus test so far has been, how easy is it for me to write a tutorial for a newbie. @emptywee : I think that migration of Mistral syntax will solve much of it. There may not need to be much more needed potentially. But after looking at how other tech finds adoption, I go back to the Rails metaphor which came up at the last Kubecon: regardless of one's opinion of RoR, its adoption is the lesson I draw from. They managed a fine line of "automagik" along with syntactic sugar based on Ruby -- and while there are drawbacks in terms of over-abstraction, the adoption value is my key takeaway, and simplicity is not mutually exclusive to power and access to what goes on under the hood. So thanks everyone! |
@timfong888 Yeah, I am always looking for inspiration to improve design. Please share those repos. On your example, I want to clarify that using current version of Orquesta, you can simplify as such to what @emptywee suggested (cleaner version below). It may not be obvious, but the WF definition is flexible enough to define a new task that doesn't involve executing an action and can be used for branching purposes. In the example below, if the first task succeeded, proceed with publishing the variables and then transition to another task which will evaluate the values and route accordingly.
|
Hi, I had the following surface as I am digging deeper into the overall DX.
While it is just so far one opinion, it's a good example of something I've noted as well. While I agree we should not be using Mistral, the point isn't returning to Mistral, it is the comparative verbosity in Orquestra:
Mistral:
Orquesta:
I am concerned about this impacting adoption, as well as introducing brittleness into the workflow creation process.
I would like to open the discussion around:
With regards to (4): I am evaluating the LF creating a course specifically around IT Automation/DevSecOps based on Stack Storm. However, while looking through existing code, I am increasingly concerned with the path to "hello world", first commit (ideally packs), and Proof of Concept.
I believe the adoption to a set of developers will be greatly impacted by their initial DX. We need to get that flywheel right.
Related to this would be a discussion on what are the design principles as true north for development and who are those personas.
The text was updated successfully, but these errors were encountered: