FaaS and Ruby

15 views
Skip to first unread message

Tamimi Ahmad

unread,
Dec 5, 2018, 11:23:20 AM12/5/18
to Ottawa Ruby

Hey all! 


I gave a talk in the September Ruby meetup, featuring one of our Ottawa Ruby members Paulo Arruda, about the future of Ruby support for FaaS platforms. The talk took the approach of discussing why the big FaaS platforms do not support Ruby as a programing language and then went into the community’s take on hacks and alternatives to support Ruby including Paulo’s own FaaStRuby project. 


As of November 29th 2018, AWS has announced its official Ruby support for AWS Lambda (https://aws.amazon.com/blogs/compute/announcing-ruby-support-for-aws-lambda/)! This is a big first step to the universal FaaS support for Ruby as programing language natively with the rest of the big cloud players including GCP, Azure and IBM's OpenWhisk platforms. 


Taking this into account, I would like to start a discussion here about this announcement and see what the Ottawa Ruby community thinks about this. What are your thoughts about the future of Ruby in the Serverless world after AWS’s announcement? What is the remaining challenges that Ruby might still be facing when it comes to Serverless applications (e.g. performance, support, compatibility…etc)? And finally, what reservations people might have to switching to Ruby if they are already using serverless in their project?


I’d also like to know, how are people using serverless in their projects now (whether it’s with Ruby or not)? And if you are using it, what is your 2 cents advice on serverless?


Looking forward to hearing your thoughts!


Cheers,

Your fellow Ottawa Ruby Ninja,

Tamimi

Dave Rooney

unread,
Dec 5, 2018, 11:29:00 AM12/5/18
to ogre...@googlegroups.com
Hey Tamimi,

As of November 29th 2018, AWS has announced its official Ruby support for AWS Lambda

Oh cool, that's great news! I knew there was a push but I hadn't heard that it was now officially supported.

Dave...

--
--
You received this message because you are subscribed to the Ottawa Group of Ruby Enthusiasts [OGRE].
To post to this group, send email to ogre...@googlegroups.com
To unsubscribe from this group, send email to
ogre-list+...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/ogre-list?hl=en

---
You received this message because you are subscribed to the Google Groups "Ottawa Ruby" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ogre-list+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Michael Richardson

unread,
Dec 5, 2018, 3:57:30 PM12/5/18
to ogre...@googlegroups.com

This is not really about FaaS (Framework-as-a-Service?) specifically.
I'm just tired of having to install compilers and -dev libraries on
VMs/containers/etc. in order to make bundle work.
I really would like to deploy pre-built binaries.

In particular, I'm deploying by shipping containers that run on "home"
routers, and I'd like the container image to be smaller.

There have been some efforts to unexec ruby:
https://github.com/pmq20/ruby-packer / http://enclose.io
and there was another that was mothballed, but I can't find the link.

I haven't tried these yet, but it would seem if one wants to be able to more
trivially deploy having less to deploy would be a win.

--
] Never tell me the odds! | ipv6 mesh networks [
] Michael Richardson, Sandelman Software Works | network architect [
] m...@sandelman.ca http://www.sandelman.ca/ | ruby on rails [

signature.asc

Edward Ocampo-Gooding

unread,
Dec 5, 2018, 4:51:20 PM12/5/18
to ogre...@googlegroups.com
I think in this case it’s Function as a Service, which is what AWS Lambda is about.

I’m stoked to see more stuff built on this and would love to hear more!

Tamimi Ahmad

unread,
Dec 6, 2018, 8:19:54 AM12/6/18
to Ottawa Ruby
It's indeed more around Function as a Service! I'm interested as well to see people leveraging this and know the applications and use cases for sure 

Peter Schut

unread,
Dec 6, 2018, 11:24:15 AM12/6/18
to ogre...@googlegroups.com
Gah!  This is terrible.  Now I finally have a real choice, and it's a tough one.  I can stick with my tried and true approach where I control and administer the entire stack from VM to functional code - but I'm constantly managing software dependencies and security updates and server resources to the point that I don't have much time left over to code.   Or, I can choose to adopt a new paradigm that radically simplifies administration and is modular to the core, but I'll be locked into a single provider that could vanish or instantly deprecate my entire code base at any time.  Being locked into Rails was bad enough.  And yet, it promises so much.  I think it could work - and work brilliantly - for every single web app I've ever written.

It's the interwebtubies that are the problem.  My bash scripts from 30 years ago still work today without a hitch.  No edits, ever, even when I migrated from HP-UX to Linux.  My web stuff?  If it's not in cgi-bin then it's all had to be upgraded for one reason or another every few years. Apache, Rails, Ruby, other Gems, Passenger, MySQL, round and round, over and over again.

I should have stuck to spreadsheets.  Or learned COBOL.

Cheers, Peter.

Edward Ocampo-Gooding

unread,
Dec 6, 2018, 2:45:59 PM12/6/18
to ogre...@googlegroups.com
There are some interesting frameworks in the JS world like https://serverless.com/ that let you trade for more FaaS vendor agnosticity but I havent played around with them enough to know what it is like. 

Also of note is TJ Holowaychuk’s Apex library that looks neat: http://apex.run/

Singer Wang

unread,
Dec 6, 2018, 2:46:54 PM12/6/18
to ogre...@googlegroups.com
It's not the interweb that's the problem, is that people's expectations have changed. Think about cars. A modern 2019 Honda Civic will get you from place A to place B like a 1972 Honda Civic. But which one would you rather use? Your 2019 Honda Civic has safety features like ABS brakes, winter tires, seat belts, air bags, crumple zones, etc. The 2019 Honda Civic also has better in car features (CarPlay, ODB-II, etc) and environment control (catalytic converts). Which one would you rather drive?    

The same thing about websites. Think back to the first version of Hotmail (pure HTML, no JavaScript) and compare it to Modern GMail. Can you use it? Sure, would you? I wouldn't.

S

Tamimi Ahmad

unread,
Dec 6, 2018, 3:46:35 PM12/6/18
to Ottawa Ruby
@edward - totally! Having vendor agnostic approaches would be very helpful but I think the issue comes in place when you have to use a specific vendor (e.g. AWS). The nice thing about these vendors however is the uniformity of some languages, so say you use serverless to write functions and build your application with JS you can then deploy it on your choice of FaaS provider. But that is not the case with Ruby. It'll be nice to see a serverless application built with Ruby.. 

Peter Schut

unread,
Dec 7, 2018, 9:13:52 AM12/7/18
to ogre...@googlegroups.com
Looks like Ruby support on AWS Lambda has been around for several months, through this cool Jets framework:  https://blog.boltops.com/2018/08/18/introducing-jets-a-ruby-serverless-framework

Has anyone tried it out?

Tamimi Ahmad

unread,
Dec 7, 2018, 12:40:36 PM12/7/18
to Ottawa Ruby
Hey Peter, 

Looks like Jets is a workaround framework that allows users to use Ruby and execute it in the Lambda execution context by leveraging node shims. i.e. not natively. I have not tried Jets personally, but you can check out https://faastruby.io/ which provides a FaaS platform to execute Ruby functions. And another issue that I see with Jets is the fact that it ties you to AWS to use.

I'm curious to know what you think about Jets tho if you used it and how the native AWS support recent announcement will affect its usage.

Cheers,
Tamimi

Edward Ocampo-Gooding

unread,
Dec 7, 2018, 2:59:43 PM12/7/18
to ogre...@googlegroups.com
Oh man this looks so cool! Nice find Tamimi. I’m hoping to check this out during the holidays. 
--
Reply all
Reply to author
Forward
0 new messages