Live data from Hacker News

Ask HN: How was your experience with AWS Lambda in production?

news.ycombinator.com

31–40 of 165 posts

Re: Ask HN: How was your experience with AWS Lambda in production?

#31
I'm using it for a year in a half, and I'm more than happy, The cost increments when you have much load, but I am a happy user to use it for these small applications that need to be always up.

Need to say, that you should use gordon" rel="nofollow">https://github.com/jorgebastida/gordon> to manage it, Gordon makes the process easier.

Regards

Re: Ask HN: How was your experience with AWS Lambda in production?

#33
At Annsec we are all out on serverless infrastructure and use Lambdas and Step functions in two development teams on a single backlog. Extensibility of a well written lambda is fenomenal. For instance we have higher abstraction lambdas for moving data. We make them handle several input events and to the greatest extent as pure as possible. Composing these lambdas later in Step functions is true developer joy. We unit test them locally and for E2E-tests we have a full clone of our environment. In total we build and manage around 40 lambdas and 10 step functions. Monitoring for failure is conducted using Cloudwatch alarms, Ops Genie and Slack bots. Never been an issue. In our setup we are aiming for an infrastructure that is immutable and cryptological verifiable. It turned out to be bit of a challenge. :)

Re: Ask HN: How was your experience with AWS Lambda in production?

#34
Been using it for about 6 months with Serverless for Node API endpoints and it's great so far!

The only negatives are: - cold start is slow, especially from within a VPC - debugging/logging can be a pain - giving a function more memory (~1GB) always seems to be better (I'm guessing because of the extra CPU)

Re: Ask HN: How was your experience with AWS Lambda in production?

#35
I'm running Rust on Lambda at the moment for a PBE board gaming service I run. I can't say it runs at huge scale though, but using Lambda has provided me with some really good architectural benefits:

* Games are developed as command line tools which use JSON for input and output. They're pure so the game state is passed in as part of the request. An example is my implementation of Lost Cities[1]

* Games are automatically bundled up with a NodeJS runner[2] and deployed to Lambda using Travis CI[3]

* I use API Gateway to point to the Lambda function, one endpoint per game, and I version the endpoints if the game data structures ever change.

* I have a central API server[4] which I run on Elastic Beanstalk and RDS. Games are registered inside the database and whenever players make plays, Lambda functions are called to process the play.

I'm also planning to run bots as Lambda functions similar to how games are implemented, but am yet to get it fully operational.

Apart from stumbling a lot setting it up, I'm really happy with how it's all working together. If I ever get more traction I'll be interesting to see how it scales up.

[1]: https://github.com/brdgme/lost-cities

[2]: https://github.com/brdgme/lost-cities/blob/master/.travis.ym...

[3]: https://github.com/brdgme/lambda/blob/master/index.js

[4]: https://github.com/brdgme/api

Re: Ask HN: How was your experience with AWS Lambda in production?

#36
post #23

I've been using it for heavy background job for http://thefeed.press and overall, I think it's pretty ok (I use NodeJs). That said here are few things: - No straight way to prevent retries. (Retries can crazily increase your bill if something goes wrong) - API gateway to Lambda can be better. (For one, Multipart form-data support for API gateway is a mess) - (For NodeJs) I don't see why the node_modules folder should…

> I don't see why the node_modules folder should be uploaded

So you don't end up with a leftpad-like event. Control and ship your dependencies.

But here's the fun part - if you want to just upload your code and make it download+deploy dependencies, you can do it using your own lambda function :-)

Re: Ask HN: How was your experience with AWS Lambda in production?

#37
post #28
post #23

I've been using it for heavy background job for http://thefeed.press and overall, I think it's pretty ok (I use NodeJs). That said here are few things: - No straight way to prevent retries. (Retries can crazily increase your bill if something goes wrong) - API gateway to Lambda can be better. (For one, Multipart form-data support for API gateway is a mess) - (For NodeJs) I don't see why the node_modules folder should…

Agreed regarding downloading of libraries. I tried to get a python torrent library working in lambda the other day, and I had to manually dig through my /usr/lib to find the right shared objects. Should be much easier than that, I should be able to place a language appropriate set of requirements in the zip root and it should do what it needs to do.

> should be able to place a language appropriate set of requirements in the zip root and it should do what it needs to do.

Let's say you depend on libfoo. It can be obtained via system package, built from sources (with 3 different feature switches), or your language's package can simulate the effect without the native libfoo but it will take longer. Why knows what "it needs to do"?

This is not something anyone but you can answer. There could be some nice wrapper that warns you about libraries you use, but you have to make the decision.

Re: Ask HN: How was your experience with AWS Lambda in production?

#38
post #23

I've been using it for heavy background job for http://thefeed.press and overall, I think it's pretty ok (I use NodeJs). That said here are few things: - No straight way to prevent retries. (Retries can crazily increase your bill if something goes wrong) - API gateway to Lambda can be better. (For one, Multipart form-data support for API gateway is a mess) - (For NodeJs) I don't see why the node_modules folder should…

What do you mean by retries? Also, why would you upload node_modules? Why don't you build it first and only upload what is required...

> What do you mean by retries If there is an error, the function will be retried: http://docs.aws.amazon.com/lambda/latest/dg/retries-on-error...

> Why would you upload node_modules It is required to: http://docs.aws.amazon.com/lambda/latest/dg/nodejs-create-de...

Post reply on HN