6 ms·
I like this. Go "har har har yaml" all you like, but this reads a damn lot better than AWS step functions and seems way more powerful. There are a number of ta
by orf 6y ago
I like this. Go "har har har yaml" all you like, but this reads a damn lot better than AWS step functions and seems way more powerful.
There are a number of tasks that benefit from something like this, and there are a huge number of advantages from being able to encode steps in domain specific languages such as YAML and have them execute with truly "no code".
- baq 6y agoyaml is not a language. it's a serialization format. this thing here is a language that serializes into yaml. there are zero benefits of using it except perhaps 'it is yaml so i don't have to compile my configuration'. note that xml with xslt would have handle it better.
- gnulinux 6y agoWell, you don't have to write a parser. The parser is already written for you (yaml parser). But I have no idea why that'd be an advantage, especially for Google, they surely know how to write a parser...
- orf 6y ago> there are zero benefits of using it There are many, many benefits from having steps defined in a restrictive, tightly-controlled language that doesn't require sandboxing. There are also many benefits to not using XML and XSLT, not least of all user experience.
- osmarks 6y agoThis is not "no code". This is code, imperative code even, in a really bizarre format.
- orf 6y agoYou're not wrong, but there is always going to be code involved when instructing a machine to perform some actions. By "no code" (and the reason it was in quotes) was that it's almost no superfluous code at all. No libraries to bundle, functions to define, bundles to upload, etc. "I want to call an API, and if it's a Tuesday and the response contains 'foo' trigger another API" seems pretty simple with this. That's not to say it wasn't "simple" before, but there was definitely _more code_.
- osmarks 6y agoYou could get much the same effect with an actual programming language and some conveniently pre-loaded libraries/APIs.
- orf 6y agoYep, that's pretty much a lambda. But then you need to sandbox the execution because really it can do anything, which adds overhead at scale. And is it really that much better? I think not.
- osmarks 6y agoIf you want to do anything nontrivial, yes, probably. This hacked-together YAML syntax seems very irritating to write more complex programs in. And it probably needs sandboxing of its own to some extent, as it looks like it can do infinite loops.