
IronFunctions: language agnostic open-source alternative to AWS Lambda - martinpinto
https://github.com/iron-io/functions
======
wilsonfiifi
This is absolutely fab! I've been trying to figure out an elegant way to
'pipe' query results to user defined filter functions[0] for my side-
project[1]. Can't wait to give this a go and dig into it. Thanks for making
this open source and writing it in Go(lang) :-D

    
    
      [0] https://bytengine.readthedocs.io/en/latest/funcs.html  
      [1] https://github.com/johnwilson/bytengine

------
kennu
It's not strictly speaking an alternative to AWS Lambda, because you have to
run your own IronFunctions server somewhere. So you will again have to manage
servers instead of being serverless.

It's nice to have this platform available though.

~~~
carimura
Right, it's Lambda anywhere ... that you want to run it. But we hope/expect to
see the service hosted on all clouds soon.

------
kaishiro
Woah, this is a big deal.

I played with IronWorkers a lot and even built some tooling around spinning up
a worker and long polling an IronCache waiting for output (yes, it was a
little gnarly). I'm really excited to play with this.

------
carimura
also join the real-time conversation: [http://get.iron.io/open-
slack](http://get.iron.io/open-slack)

------
rendered_fat
neat. Is there any plans to tie this into the serverless (or JAWS whatever)
framework?

~~~
carimura
Ya if it's a popular request, definitely.

------
fierro
Assuming you want to expose a set of APIs, each corresponding to a single
function, each API is a separate docker container? What are the performance
ramifications of functions-in-docker?

~~~
treeder
Unfortunately, Docker has a fair bit of overhead, more on that here:
[https://medium.com/travis-on-docker/the-overhead-of-
docker-r...](https://medium.com/travis-on-docker/the-overhead-of-docker-
run-f2f06d47c9f3) . That said, the overhead is probably not a big deal in a
lot of cases.

And for the those cases, where it is a big deal, the next two major milestones
on the roadmap aim to work around that issue, namely hot containers and
streaming input. [https://github.com/iron-
io/functions#roadmap](https://github.com/iron-io/functions#roadmap) . Once
that's in place, it should perform similar to any API.

------
out_of_protocol
Are both sync and async modes supported?

~~~
treeder
Yes, both are supported. See the main README for how to use both.

------
sandGorgon
Are you planning on adding scheduled functions? Kind of like a cron..

~~~
treeder
Yes, we are! Follow this issue: [https://github.com/iron-
io/functions/issues/100](https://github.com/iron-io/functions/issues/100)

------
bglynn
How's the difference between between IronWorker and IronFunctions?

~~~
carimura
IronWorker is more classic job processing whereas IronFunctions is AWS Lambda-
style sync service. We'll follow up with a longer blog post on the
differences.

------
aisofteng
OpenWhisk is also in this space.

------
kholmes79
do you support java?

~~~
treeder
Yes, Java is supported. Like the other comment, anything you can run in a
Docker container, which is pretty much any language. It also supports the same
format/structure as Lambda in Java.

