[HN Gopher] Show HN: Free hosted open-source alternative to Zapi...
       ___________________________________________________________________
        
       Show HN: Free hosted open-source alternative to Zapier/Airflow
        
       Author : newcrobuzon
       Score  : 234 points
       Date   : 2020-09-08 12:26 UTC (10 hours ago)
        
 (HTM) web link (cloud.titanoboa.io)
 (TXT) w3m dump (cloud.titanoboa.io)
        
       | j45 wrote:
       | Being a JVM friendly tool, it would be great to unlock other JVM
       | syntaxes to allow scripting in any lanugage.. Jython for Python,
       | Quercus for PHP, JRuby for Ruby, etc.
        
         | newcrobuzon wrote:
         | yes, I am considering this and it should not be _that_ hard
         | (also Kotlin, Nashorn javascript...), but at this stage
         | Titanoboa is just a one-man-show - so patience, I might get
         | there ;)
        
           | j45 wrote:
           | For sure. Being a one man army has it's perks and challenges.
           | I hope this project has a community form around it.
           | 
           | The JVM is more underrated/unknown than it should be in the
           | startup space, tools like what you're making make it far more
           | accessible.
        
           | ramon wrote:
           | newcrobuzon you're a genius my friend someone should give you
           | an award I loved your idea and how you approached it it's
           | fantastic for developers. I'm a root Java dev and I have to
           | say you did fantastic work to make developers life easier,
           | you didn't take any approach you made your own this is
           | awesome. If you get Javascript working I feel like I'm
           | getting back into AppJet days! This is fantastic stuff. If
           | you show me how I can help get the javascript stuff going I
           | would be glad to help you in this initative since I have
           | adopted NodeJS recently like you said, being a one man army
           | you have to be efficient and JS makes me more efficient.
        
           | mdaniel wrote:
           | FWIW, I would have to check all the ones listed but if
           | they're sane scripting languages on the jvm then they'll
           | implement the JSR-223 interface allowing one to pick them at
           | runtime without a huge amount of drama: https://jcp.org/about
           | Java/communityprocess/final/jsr223/inde...
        
       | ramon wrote:
       | I liked the video demo really nice and I would say this should be
       | called not low-code or no-code but rather aPaaS which is
       | Application Platform as a Service.
       | 
       | So the title should be "Host your own aPaaS" instead.
        
       | PascalW wrote:
       | Nice work!
       | 
       | How does it compare to n8n? [0]
       | 
       | n8n is the closest OSS alternative to Zapier I've seen so far.
       | 
       | [0] https://n8n.io/
        
         | lulzx wrote:
         | It's license (fair code) sucks.
        
           | j1elo wrote:
           | Why exactly? I myself have been researching the options that
           | exist to write open source software but at the same time
           | prevent industrial leeches from benefiting from it (aka.
           | avoiding Amazon playing an Elasticsearch move EDIT - or was
           | it Mongo?).
           | 
           | So far I've stumbled upon using dual AGPL + commercial for
           | those who don't like the copyleft; using something like
           | Mongo's SSPL; MariaDB's BSL; and now, Commons Clause.
           | 
           | On the surface (I didn't yet study carefully the intricacies
           | of all options) all these look to me as a great way to
           | publish code and contribute to the whole of our common
           | knowledge, while at the same time being able to maybe make a
           | living from it, something for which it's important to prevent
           | some bad actors from bundling it and profiting from it on
           | your behalf. Otherwise that code wouldn't really exist at all
           | to start with...
           | 
           | I might write an Ask HN becaude this topic is complex.
        
           | newcrobuzon wrote:
           | That is a fair criticism, I am aware of the AGPL license
           | shortcomings.
           | 
           | I just picked up the more restrictive license at the
           | beginning - being a sole funder and not working on this full
           | time etc. I simply did not want somebody (e.g. a big company
           | with a big team) grabbing my code along the way and running
           | away with it.
           | 
           | Since now Titanoboa got to the shape I envisioned it to be in
           | I am starting to focus more on adoption, so yes I am
           | definitely thinking about switching to less restrictive
           | license since it will probably help.
           | 
           | Also at the beginning I was not aware how badly AGPL is
           | perceived (I always thought if it was good for Mongo it could
           | work for me, but I may have been wrong).
        
             | [deleted]
        
             | cstuder wrote:
             | You misunderstood, it's not you who's being criticized.
             | 
             | n8n used to write "open source" on their webpage while
             | publishing the product with a proprietary license. A lot of
             | discussions ensued.
             | 
             | https://github.com/n8n-io/n8n/issues/40
        
               | newcrobuzon wrote:
               | Oh really? Wasn't aware of that. Thanks for the link!
        
         | newcrobuzon wrote:
         | A bit similar, but on JVM. The main focus of Titanoboa is
         | however as follows:
         | 
         | - make rapid prototyping of new steps possible during runtime,
         | without any need to restart/redeploy
         | 
         | - focus on distributed processing, where in master-less
         | Titanoboa cluster you can have pretty much any number of nodes
        
       | jchook wrote:
       | @newcrobuzon you have some kind of comment string output at the
       | top of your html body tag. Looks like something you do not want
       | exposed.
       | 
       | Congratulations on reaching public beta and for submitting to HN!
       | Looks very promising!
        
         | newcrobuzon wrote:
         | Thanks! If it is the recapcha string then it is just an old
         | public string for local testing.
         | 
         | But I would upvote you 100x or send you a medal or something if
         | I could, this is really super nice of you letting me know!
        
       | ForHackernews wrote:
       | How does this compare to Prefect? https://medium.com/the-prefect-
       | blog/why-not-airflow-4cfa4232...
        
         | newcrobuzon wrote:
         | To be honest Prefect just got on my radar last week, so I will
         | need to look at it more closely, I was not aware of them till
         | then.
         | 
         | Obviously this is for JVM, plus I am not sure how Prefect
         | addresses following two points I mainly focus on:
         | 
         | - make rapid prototyping of new steps possible during runtime,
         | without any need to restart/redeploy
         | 
         | - focus on distributed processing, where in master-less
         | Titanoboa cluster you can have pretty much any number of nodes
        
           | ramon wrote:
           | Prefect is like an hour just to put up the kubernetes
           | environment required for it. The way you have it you can just
           | do a simple docker run and start coding this is the
           | comparison and you're coding on the web no need to steup
           | VSCode or nothing it's fast.
        
       | bambam24 wrote:
       | I stop watching it when he said "here I can add any Maven
       | dependency"
        
         | newcrobuzon wrote:
         | Well yes, this is for JVM, so maven ecosystem, sorry.
         | 
         | I have been contemplating also doing a clone on node.js
         | (titanoboa is written in clojure so it would just be a move
         | from clojure to clojurescript), but I did hear that the npm
         | ecosystem is a bit uninviting too...
         | 
         | What dependencies tools would you like to see?
        
       | sixhobbits wrote:
       | I've used Zapier a fair amount and I wrote an article about
       | Airflow so I have a fairly good understanding of that too.
       | 
       | I would never really consider them alternatives though? To me
       | Zapier is a low/no code tool that offers a bazillion integrations
       | and Airflow is a workflow orchestration tool.
       | 
       | So comparing to both of them confuses me and I guess choosing one
       | would give you a more nieche audience but one that you can
       | connect better to as well.
        
         | mrweasel wrote:
         | There's also a problem with describing your product as "an
         | alternative to". I don't know what Zapier and Airflow is, but
         | now I want to find out, which pushes me towards the
         | competition, rather than just explaining what your product does
         | and have me view the competition as the alternative.
        
         | newcrobuzon wrote:
         | This is a very good point.
         | 
         | My current line of thinking is: _A workflow is a workflow is a
         | workflow_. Titanoboa is built the way that pretty much
         | everything it shuffles is data - and either it can be big
         | (Airflow) or the steps can have side effects (iPaaS /Zapier).
         | 
         | The "no code" is achievable since adding more predefined steps
         | is not that hard (there's not that many at the moment though) -
         | see for instance
         | https://github.com/mikub/titanoboa/wiki/Getting-Started-with...
         | - you dont code, you just fill in properties, so it is very
         | straightforward, pretty much like Zappier.
         | 
         | My aim in the iPaaS space is more at the enterprise level,
         | where the predefined steps won't do anymore and you have to
         | custom develop them anyway - so in that are I think Titanoboa
         | shines since you really can rapidly prototype steps on the fly,
         | a bit like Repl.it and Zapier together...
         | 
         | I agree that it might be good to pick one audience, at this
         | stage I am just experimenting if somehow I can market to both
         | and don't mess up and confuse both groups.
        
           | j45 wrote:
           | Keep converging and building.
           | 
           | I have been experimenting with combinations of huggin,
           | camunda, airflow and others to try and achieve an integrated
           | workflow/state/process management.
           | 
           | There exists a gap in the enterprise space between all these
           | tools.. and it has been further exacerbated by the disruption
           | introduced to many industries by covid. There is a real
           | opportunity for small and medium businesses to be able to
           | access tooling that is beyond what a base line Zap, etc can
           | accomplish.
           | 
           | Would be happy to connect offline.
        
             | newcrobuzon wrote:
             | Thanks! Will reach out when the traffic subsides :) Or feel
             | free to shoot me an email, my email address is on the web
             | page.
        
         | lewisjoe wrote:
         | Very true. We really should stop overloading the term
         | _Workflow_ in software.
         | 
         | As of now these are the broad categories that abuse the term
         | workflow.
         | 
         | 1. State Machines
         | 
         | For example in Jira a bug/ticket moves through different states
         | to reach a final stage. This type of state-machines can be
         | found in a lot of different softwares - most CMS/bug-
         | trackers/CRMs where the entity is different
         | (document/bug/lead).
         | 
         | The motive of these systems who call themselves as workflow
         | engines - is to provide a structure to an otherwise ad-hoc
         | movement of entities so that a lead/manager is able to ensure a
         | process and collect statistics.
         | 
         | 2. Automations
         | 
         | For example "apple workflow" app or Zapier or Zoho Flow. These
         | softwares define a sequence of steps that are triggered when an
         | event occurs in the system.
         | 
         | The motive of these systems are to enable automation and
         | integrations between different software components with zero
         | code (thus, no-code).
         | 
         | 3. Process Designers (Bad term but can't think of anything
         | better at the moment)
         | 
         | For example Airflow/Camunda. These systems are not necessarily
         | low-code but they mostly deal with arranging individual
         | components of code such that a process can be assembled as
         | quickly as possible. These systems usually are accompanied by a
         | visual designer like what Zapier has, but the intentions are
         | mostly to ease out the process, than being a complete no-code
         | tool to create automations. However, their marketing tries to
         | sell themselves as no-code platform for business folks.
         | 
         | The motive is not yet very clear to me but from my initial
         | intuition they can be used to initiate some data-processing
         | pipeline, I guess? If anybody can throw more clarity, please
         | leave a reply.
         | 
         | Now as you can see, much like how a "Process" can mean many
         | things in many different context, the term "Workflow" can mean
         | a lot depending on the context. Any software that calls itself
         | the ultimate workflow solution is just a lie. It's like calling
         | something an "ultimate process engine" - doesn't make sense.
        
           | zacwest wrote:
           | I'd like you to listen to this file, which is your first
           | 'headline' read by `say`:
           | https://www.dropbox.com/s/fanpqs8lv2d9nvl/say.m4a?dl=0 Now
           | imagine yourself in the shoes of a vision-impaired person
           | relying on a technology like VoiceOver. Do you understand how
           | unbelievably frustrating that is?
        
             | lewisjoe wrote:
             | Thanks for pointing this out. Never knew this would break
             | screen readers. Sorry. I'm changing the font right now.
        
             | samstave wrote:
             | > __ _Now imagine yourself in the shoes of a vision-
             | impaired person relying on a technology like VoiceOver_ __
             | 
             | ---
             | 
             | Yeah - thats "frustrating" for like what, 'dozens'? As
             | opposed to just the other problems in the world that dwarf
             | this?
             | 
             | Now imagine you are a % of the population of the globe who
             | actually requires this to be a thought.
             | 
             | Yeah - personally, i see this as a statistical straw-man.
             | 
             | Sure, why dont you imagine yourself as a gay queer trans
             | java programmer from ohio that moved to silicon valley for
             | more acceptance and is going to try to make it in FAANG
             | based on the fact that youre gay queer trans as opposed to
             | say, your ability and then blame people on the hostility of
             | the environment to you because you choose to only wear
             | naturally harvested wool and eat kale.
             | 
             | Yeah, nobody gives a shit.
             | 
             | Either be a good person and do good work, or GTFO - nobody
             | really cares about anything else.
        
           | Grimm1 wrote:
           | "However, their marketing tries to sell themselves as no-code
           | platform for business folks."
           | 
           | Huh? I've never seen Airflow described as no code or tried to
           | sell itself that way, in fact all the pipelines are written
           | in python and you can do some really complex orchestration.
           | 
           | I get you're not saying Airflow is no code but that the
           | category you've put it in is typically low code or marketed
           | as low code, but then I don't think Airflow belongs in that
           | category or rather, and maybe more accurately, no/low code is
           | not really a major defining quality of the bucket you're
           | calling "Process Designers".
           | 
           | I've also been calling them "Process Schedulers" because
           | typically it involves translating a more manual, but well
           | defined process into it's automated phase.
        
             | newcrobuzon wrote:
             | I would agree.
             | 
             | The no-code is an illusion in the enterprise realm - before
             | you know it, you are waist deep in the custom code.
             | 
             | No-code can really work only for small businesses imo.
             | 
             | I come from enterprise background and that is one of the
             | reasons I built Titanoboa - to make something that makes it
             | easy to rapidly prototype new integrations on the fly.
             | 
             | I summed up some of my thoughts on this topic here:
             | https://www.titanoboa.io/repl.html
             | 
             |  __The main point I am trying to test with Titanoboa is
             | this however __:
             | 
             | State Machines <-> Process Designers is a spectrum and one
             | product could handle the entire spectrum (or part of it).
             | 
             | Titanoboa makes it possible to pre-define workflow steps
             | and make it "no code" while also making complex custom
             | integrations possible from the same environment with the
             | same concepts. Plus also distributed data handling is in
             | the mix.
             | 
             | I guess now the challenge is how to market this versatility
             | or whether it could create more confusion...
        
               | neeleshs wrote:
               | This is not true in many use cases. There are tons of
               | ways to handle low code/no code. It is a very hard
               | problem to solve, and vendors end up building basic "low-
               | code" wrappers around API endpoints, and that's why it
               | looks like a lost cause.
               | 
               | Done right, (we are a living proof it can be done, at
               | Syncari), one can do a lot of stuff done without any
               | coding
        
               | newcrobuzon wrote:
               | Do you have any links to some blog posts discussing it
               | (the "doing it right" approach)? I would agree that it
               | definitely depends on the use case.
               | 
               | I will definitely check out Syncari - just opened the
               | landing page and it looks great!
        
               | neeleshs wrote:
               | Thanks! Haven't had a chance to write a lot about this
               | (heads down building and selling), but
               | https://syncari.com/a-brief-history-of-todays-data-woes-
               | and-... touches on it a bit.
               | 
               | For us, it is about:
               | 
               | * implementing deep integrations that are commonplace
               | 
               | * not spraying too thin in the quest of supporting
               | hundreds of systems
               | 
               | * thinking from a data model/data/eventually consistent
               | system perspective
               | 
               | * completely dropping the reactive/trigger based/if-this-
               | then-that point-to-point model.
        
           | mfateev wrote:
           | Which bucket temporal.io and Azure Durable Functions that
           | support `workflow as code` do fall into?
        
       | itpragmatik wrote:
       | How does it compare with Cadence/Temporal?
        
       | thrownaway954 wrote:
       | that is the crappiest website i've seen in quite sometime. my
       | first impression was that this is either a scam or a joke. in
       | this day and age, if you are can't afford a decently designed
       | site, how am i ever even going to give your product a chance.
        
       | caymanjim wrote:
       | First impression: rename it now while the cost is low. The name
       | is unwieldy.
        
         | everfree wrote:
         | Ti-ta-no-bo-a
         | 
         | 5 syllables.
         | 
         | Agreed that this is unwieldy to say in normal speech.
        
           | newcrobuzon wrote:
           | I mostly considered naming to be a distraction from getting
           | the real work done.
           | 
           | I also am probably not good with names as my other
           | alternative was Megalodon (4 syllables) - I just wanted to
           | have some megafauna name.
           | 
           | Happy to hear what you folks would suggest :)
        
             | dddw wrote:
             | Gdoc form for suggestions. 1 mail to all users (small
             | enticement, reward for winner, pro account for life or
             | something else really nice). Remove any lewd suggestions.
             | Then pick one you love, or if you can't choose a poll.
        
             | afarviral wrote:
             | "Dinornis" or "Moa" in maori.
        
               | StavrosK wrote:
               | If you're going with the former, you might as well spell
               | it "deinornis", it looks cooler and is more correct.
        
             | acidbaseextract wrote:
             | Titano is nice, but may have some trademark issues. Tanobo
             | is easy to say, if a bit generic. Just playing with
             | syllables.
        
             | ohyeshedid wrote:
             | A fauna focused synonym for canopy?
        
       | newcrobuzon wrote:
       | Hi HN peeps! I single-handedly built Titanoboa (a workflow
       | automation for JVM) and now I am experimenting with hosting
       | dockerized Titanoboa instances - so I built a free hosting
       | service. If you want to play with Titanoboa in your browser
       | without installing anything, give it a try.
       | 
       | Feel free to check out Titanoboa on Github:
       | https://github.com/mikub/titanoboa
       | 
       | Also: This is an early beta so please do let me know if something
       | breaks or you spot a bug. Atm I have load-balancers set up only
       | on West coast and in Europe, so apologies to folks from down
       | under & similar locations, let me know if it's too laggy :)
        
         | cateye wrote:
         | Why do you describe it as "automation for JVM" instead of
         | "automation that runs on JVM"?
        
           | newcrobuzon wrote:
           | Good point, not a native speaker so I thought this would
           | roughly mean the same.
           | 
           | The main message I wanted to convey was that this runs on JVM
           | and multiple JVM languages (java and clojure) could be used.
        
       | prabhatjha wrote:
       | Nicely done. Couple of recommendations: - Recommend to change
       | your licensing if you want people to try. - I understand why you
       | want to have AGPL but I don't know many successful OSS projects
       | with this license. There is another HN thread on this topic.
       | https://news.ycombinator.com/item?id=1657071
        
       | juliend2 wrote:
       | Very interesting! What library did you use for the SVG powered
       | diagram tool?
        
         | juliend2 wrote:
         | I think this blog post answers my question:
         | https://titanoboa.io/visualizing-workflows.html
         | 
         | Very cool to see how you use clojurescript for this.
        
         | newcrobuzon wrote:
         | I am using D3. AFAIK nobody has used it for worfklow
         | visualization so far: https://www.titanoboa.io/visualizing-
         | workflows.html
        
           | X6S1x6Okd1st wrote:
           | Luigi does some workflow visualization with d3
           | 
           | https://luigi.readthedocs.io/en/stable/index.html
        
             | newcrobuzon wrote:
             | Thanks, wasn't aware of them!
        
       | [deleted]
        
       | WrtCdEvrydy wrote:
       | Honestly I really like this, I can't wait to use it, but my
       | concerns are around certain features being behind a paywall,
       | especially HA and Clustering on the self-hosted version.
       | 
       | I understand that the cloud hosted version should cost more for
       | these features but without a way to get pricing for the self-
       | hosted HA and clustered version it will be a tough sell for me to
       | deploy it, use it and have to scrap it in the future.
        
       | newcrobuzon wrote:
       | Wow, this has blown up a bit, so I have added few more servers
       | (now two servers on the West coast and two in Europe), but
       | ultimately I think there is a limit cap of 100 Titanoboa
       | instances in each geography in parallel.
       | 
       | So if we break that level please don't be mad if you don't get
       | your instance :)
       | 
       | Instead give me a star on github and come back later :)
       | 
       | Cheers Miro
        
         | MiroF wrote:
         | Wishing you success, fellow Miro.
        
         | newcrobuzon wrote:
         | Ok, I have just reached 100 concurrent containers in Europe,
         | which is max at this stage and I don't think I can change the
         | aws limit on the fly (will check though) so I might start
         | killing the oldest instances.
         | 
         | Apologies for inconvenience folks, but I am sure people rarely
         | play with each instance for the whole 3 hours anyway at this
         | stage.
         | 
         | Honestly did not expect this kind of "public beta" rollout,
         | still surprised how well the service holds so far under the
         | load.
        
           | newcrobuzon wrote:
           | Approaching 100 containers cap in US, so if something does
           | not work, dont be mad :)
        
             | newcrobuzon wrote:
             | If anybody's curious about this "public beta hosting - HN
             | bear hug" performance load test:
             | 
             | I just (sequentially) restarted all 4 servers behind my 2
             | load balancers - seems that by reaching 100 containers in
             | each geography the provisioning threads may have died after
             | many (unsuccessful) retries, so need to restart the thread
             | pools.
             | 
             | That is one more error I need to handle (or increasing my
             | limit in AWS).
        
               | erulabs wrote:
               | Heya - just a note that I build these kinds of PaaS
               | platforms for a living - if you need a hand building a
               | super-massive cluster for lots of users, let me know!
        
       | foolinaround wrote:
       | is there some recipes or some common scenarios one can 'import'
       | in to check it out?
        
         | newcrobuzon wrote:
         | You can check out https://github.com/mikub/titanoboa-tasklets
         | And also https://github.com/mikub/titanoboa-sample-workflows
         | 
         | There are few blog posts I wrote about some sample workflows,
         | e.g.:
         | 
         | https://github.com/mikub/titanoboa/wiki/Getting-Started-with...
         | 
         | https://www.titanoboa.io/using-titanoboa-for-it-automation.h...
         | 
         | https://www.titanoboa.io/using-titanoboa-for-cloud-integrati...
         | 
         | https://www.titanoboa.io/java-repl.html
        
       | kevsim wrote:
       | Impressive feat of engineering for one person!
       | 
       | But is it really an alternative to Zapier? I mean, while Zapier
       | is obviously about automation, it always felt that their big
       | selling point was the sheer number of integrations they provide.
        
         | newcrobuzon wrote:
         | My aim is to make this easier to customize - i.e. develop
         | custom steps on the run and have an instant feedback loop as
         | you develop or customize existing integrations.
         | 
         | Target audience might be slightly different ultimately, but
         | we'll see - I would envision this to be more useful in an
         | enterprise environment where you pretty much always have to
         | customize the integrations that were provided out of the box.
        
       ___________________________________________________________________
       (page generated 2020-09-08 23:00 UTC)