4 ms·
AWS Lambda is awesome -- for about a month, I was head over heels in love with it. However, the language support turns out to be a huge issue. If Javascript, Py
by thejerz 11y ago
AWS Lambda is awesome -- for about a month, I was head over heels in love with it. However, the language support turns out to be a huge issue. If Javascript, Python, or Java 8 isn't the right tool for the job, you're stuck. I hear Go, and then Ruby, support is slated for 2016. I am optimistic that as time goes on, language and binary support will make this the future of computing.
- zwily 11y agoI wonder what "go support" means. Would that not just executing a binary? If data is passed to it via a file handle, wouldn't that mean any executable would work? Or will you give it source code? I know you don't have the answers, just stuff I think about when go support for lambda is discussed.
- azylman 11y agoI'm just guessing based on my experience with Amazon's Kinesis Client Library (http://docs.aws.amazon.com/kinesis/latest/dev/developing-consumers-with-kcl.html http://docs.aws.amazon.com/kinesis/latest/dev/developing-con...), but it probably means that you write something as a package with certain public methods, and they have a wrapper around it that knows how to invoke it. That's how KCL integrates with the languages that it supports.
- mej10 11y agoYou can also use Scala and Clojure (and really, anything that runs on the JVM -- but those are the only I've used). We're doing this for some things in production and it has worked well.
- iamleppert 11y agoWhat exactly was your use case that couldn't be solved with javascript, python, or java? I'm not being pedantic I'm just curious because I've been using it for a variety of workloads. In fact, you can even compile and embed binary dependencies and native packages, zip it up and give that to lambda -- or even possibly write your own in C or whatever language is compatible with FFI. So you can basically do anything. The only limitation I've run across has been the size restriction, which you can easily run into if you have a lot of shared libraries....but it can be worked around by being careful and only including what your application code needs.
- badsock 11y agoYou can run arbitrary executables, so it's quite possible to run Go and Ruby now - you're just wasting a few tens of milliseconds starting up a python process that's not going to do anything other than kick off your Ruby (or whatever) script.