Hacker News new | past | comments | ask | show | jobs | submit login
IronFunctions: language agnostic open-source alternative to AWS Lambda (github.com)
71 points by martinpinto on Nov 15, 2016 | hide | past | web | favorite | 22 comments

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

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.

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

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.

also join the real-time conversation: http://get.iron.io/open-slack

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

Ya if it's a popular request, definitely.

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?

Unfortunately, Docker has a fair bit of overhead, more on that here: https://medium.com/travis-on-docker/the-overhead-of-docker-r... . 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 . Once that's in place, it should perform similar to any API.

Are both sync and async modes supported?

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

Yes - when you create a function you may tell whether it is sync or async, and just push tasks into it.

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

Yes, we are! Follow this issue: https://github.com/iron-io/functions/issues/100

How's the difference between between IronWorker and IronFunctions?

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.

OpenWhisk is also in this space.

do you support java?

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.

It is built on top of Docker, so if you dockerize a Java application, it just works.

It does work also with Java lambda apps, you can import them straight from AWS Lambda API using the CLI app.

Anything in docker container would work i suppose

you can import your AWS Java code using the command line https://github.com/iron-io/functions/blob/master/docs/lambda...

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact