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:
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.
Saw installs as a single binary, is performant, and has better looking output than all of them.
Have you tried anything like iopipe for helping debug lambdas?
[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.
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)
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.