News for hackers. Stuff that matters.
Re:Ask HN: Have you shipped anything serious with a “serverl... by cimmanom on Friday June 22, 2018 @09:11PM (#17378824)
We've shipped something simple and non-mission-critical in production (URL rewriting for ad placements).

It has been pretty much set-and-forget. Last anyone had to even look at it was almost 3 years ago, and afaik it's still working (our ad sales team would be complaining loudly if it weren't).

For something peripheral like that, it's nice not to have to run servers for it or devote any energy to keeping it running.

In terms of both server costs and upkeep costs, the economics have been highly favorable.

I'm not sure I'd use it yet for something mission-critical or that shipped changes frequently. My recollection is that when we did have to adjust it, debugging was a bear. Tho tooling for that may have improved in the last 30 months.

Re:Ask HN: Have you shipped anything serious with a “serverl... by tbrock on Friday June 22, 2018 @10:21PM (#17379119)
Regarding the tooling: I hated debugging Lambdas via CloudWatch logs when using them for Hustle, it drove me to drink.

I eventually got upset enough that I made a tool to stream the cloudwatch logs to the terminal and colorize, indent + nicely format json output:

https://github.com/TylerBrock/saw

Re:Ask HN: Have you shipped anything serious with a “serverl... by jonathan-kosgei on Saturday June 23, 2018 @07:35AM (#17380767)
There's also https://github.com/rpgreen/apilogs but I haven't yet gotten it to work.

Cloudwatch feels like it was not made for humans. Searching and filtering for specific log events is a huge pain.

I think one of the best things one could do is to pipe your Cloudwatch logs to an ElasticSearch cluster.

Re:Ask HN: Have you shipped anything serious with a “serverl... by tbrock on Saturday June 23, 2018 @11:19AM (#17381653)
Anything where you have to install python is kind of a drag. Same thing with awslogs, etc...

Saw installs as a single binary, is performant, and has better looking output than all of them.

Re:Ask HN: Have you shipped anything serious with a “serverl... by mbu on Saturday June 23, 2018 @04:56AM (#17380277)
That looks like a nice tool! Will check it out.

Have you tried anything like iopipe for helping debug lambdas?

Re:Ask HN: Have you shipped anything serious with a “serverl... by tbrock on Saturday June 23, 2018 @11:19AM (#17381657)
No I haven’t tried it. I’ll give it a look.
Re:Ask HN: Have you shipped anything serious with a “serverl... by kolanos on Saturday June 23, 2018 @11:56AM (#17381810)
For anyone interested in giving IOpipe a try, it supports Node.js [0], Python [1], Java [2] and Go [3].

[0]: https://github.com/iopipe/iopipe-js/ [1]: https://github.com/iopipe/iopipe-python/ [2]: https://github.com/iopipe/iopipe-java/ [3]: https://github.com/iopipe/iopipe-go/

Disclosure: Work on the Python and Go agents.

Re:Ask HN: Have you shipped anything serious with a “serverl... by jonathan-kosgei on Saturday June 23, 2018 @07:32AM (#17380751)
One of the best things we did at ipdata was start using Sentry in our lambda functions. We caught an unbelievable number of silent errors that would've been impossible to find with cloudwatch.
Re:Ask HN: Have you shipped anything serious with a “serverl... by exelius on Friday June 22, 2018 @09:25PM (#17378888)
You front production with an API gateway and version your APIs. You turn migrations into a business validation and testing process rather than a technical dependency; using the load balancer / gateway as the control lever.

In this way, serverless can actually be WAY better than traditional methods for dealing with frequent changes. You can have many valid endpoints, but only one “production” endpoint that changes based on business rules (or even split for A/B testing)

Re:Ask HN: Have you shipped anything serious with a “serverl... by cimmanom on Friday June 22, 2018 @09:39PM (#17378938)
For some infrastructures and processes that may make sense. The problem for us was that when something didn't work as expected, it was very difficult to determine what was going wrong.