loading...

Discussion on: Using New Relic APM with Rails on AWS Lambda

Collapse
andrewbrown profile image
Andrew Brown 🇨🇦

reddit.com/r/rails/comments/gafh0n...

Okay, so after some digging I have clarity

So Lamby and Ruby on Jets both allow you to run Rails apps powered by AWS Lambda.

Ruby on Jets was written prior to Lambda Ruby support.

I am going to have quite a bit of fun digging through the codebase.

Collapse
metaskills profile image
Ken Collins Author

Hey Andrew! Thanks for stopping by. A few things.

I used to use New Relic for my Rails apps and loved it, then a few years went by, new start-up and the new pricing for New Relic became higher... I'm curious if New Relic's pricing is still a barrier

So they have a free plan and I really do like their turn key APM. But honestly, not the price. As we have been moving Rails applications (high traffic micro to small services) to Lambda we have been removing New Relic and using a mix of CloudWatch Managed Metrics (API Gateway & Lambda) along with CloudWatch Embedded Metrics. I wrote the ruby gem for it. See here github.com/customink/aws-embedded-...

If you have not done so... once you start using CloudWatch Embedded Metrics, you get addicted. So easy with Rails to add Controller#action as a dimension and then add other deep properties or metrics to enhance those for use in CloudWatch Dashboards & Log Insights queries.

So Lamby and Ruby on Jets both allow you to run Rails apps powered by AWS Lambda.

Very familiar with Jets. The methodologies between it and Lamby are drastically different. Lamby is a simple Rack adapter for API Gateway. It basically means API Gateway is now a commoditized web server for Rails. When Jets was done there was no such thing as even a Ruby runtime. So their decisions and work was different. Jets took the sledgehammer approach to Rails and Lambda too... smash it up so every Controller#action is a function. Which made sense back in the day... to some.

Truth be told, I use Lambda for altruistic microservice functions. But I always believe Lambda will move to a commodity compute platform and that full applications can reside within it just fine. No need to smash a small to medium size Rails app up. Just deploy the whole thing in such a way where it has no clue (internally) is runs under API Gateway. I could share more, but please do have fun talking a look around. Ping me on Twitter if you need anything.