aws / aws-lambda-base-images

Apache License 2.0
648 stars 107 forks source link

Support Ruby 3.1 #54

Closed osovv closed 1 year ago

osovv commented 1 year ago

The current stable version of Ruby is 3.1.* It might be a good idea to create a base image for it

taehwakang commented 1 year ago

Are there any update for this issue?

rnhurt commented 1 year ago

I posted a question in re:Post to see if there was any insight on that front. Adding your vote might help push this issue along. 🤷 https://repost.aws/questions/QUa131-hEISH6QvT7aUMeYtA/when-will-lambda-support-ruby-3-x

CarlosCD commented 1 year ago

Now the current version of Ruby is 3.2.0.

I still don't see any update, AWS docs still refer to 2.7 only, which is now in "security maintenance" only (see https://www.ruby-lang.org/en/downloads/branches/).

Last version of Ruby 2.7 (2.7.7) end of life seems to be in 3 months, around March 31, 2023 (https://en.wikipedia.org/wiki/Ruby_(programming_language)#Table_of_versions)

jessedoyle commented 1 year ago

@awood45 - Curious about your opinion of the future of first party Ruby/Lambda support?

Sorry to ping you, but from the post here it seems like Ruby's got a special place in your heart.

Will AWS continue to support Ruby as a runtime for Lambda? The future doesn't seem very bright in the community. Thanks!

CarlosCD commented 1 year ago

@jessedoyle , I see some recent activity in the web assembly front for Ruby, like here https://rubykaigi.org/2022/presentations/kateinoigakukun.html (the talk includes some lambda examples, but not using AWS). Right now the only options I see are:

Please let me know if you know of another option. My company has an app running in AWS lambda 2.7 and I will probably be tasked to do something about it. My inclination is for getting out of lambda, specially as we expect a lot of more traffic hitting that app… I prefer not to rewrite it in another language. Ruby is still an awesome way to go

rnhurt commented 1 year ago

Looks like the Python folks are getting a Lambda update. What about us Ruby folks that are approaching an EOL product!?

https://github.com/aws/aws-lambda-base-images/issues/31?ck_subscriber_id=512837517#issuecomment-1414362328

astuyve commented 1 year ago

We (@datadog) are asked about ruby 3.1 frequently. It's more difficult for us to support custom runtimes, and surely it's more challenging for users as well. Any update here? 2.7 is EOL in a month!

image
jdelStrother commented 1 year ago

In case it helps anyone else, I found https://github.com/aws-samples/rails-lambda-handler extremely helpful in setting up a custom Ruby 3.1 container image via CDK.

But yes, the native Ruby support here is really disappointing.

jazzytomato commented 1 year ago

Ruby 2.7 is approaching "End of security maintenance phase" (2023-03-31). Any update on support for Ruby > 3 please?

wildodecisiv commented 1 year ago

Hello Everyone!

Recently in my team we were planning to upgrade all our serverless app from ruby 2.7 (native runtime) to 3.2 (using docker container), however we recently received an email from AWS Support saying that they will add native runtime support for Ruby 3.2 at the end of Q2 2023.

In the same way, I want to share with you a simple HelloWorld project using AWS SAM, Rbenv + Ruby 3.2.1 + aws_lambda_ric and Docker, hope it helps to someone that will decide to still use this approach instead to wait the native support

https://github.com/wildomonges/lambda-ruby3.2-container-image

Kind Regards!

astuyve commented 1 year ago

@jtuliani - can you confirm what @wildodecisiv is reporting?

Is 3.x coming soon?

jtuliani commented 1 year ago

We are aware of the up-coming end-of-life of Ruby 2.7 and are working to release a Ruby 3.2 runtime. We expect to publish a container base image before end of March 2023, and the managed runtime within 90 days of the container image release.

To provide existing Ruby customers with time to transition from Ruby 2.7 to Ruby 3.2, we will extend support for the Ruby 2.7 runtime for at least 6 months past the General Availability release of the Ruby 3.2 runtime. For example, if Lambda launches the Ruby 3.2 runtime on May 15, 2023, then we will deprecate the Ruby 2.7 runtime on or after November 15, 2023. During this time, the Ruby 2.7 runtime will continue to receive OS patches and functions using this runtime remain eligible for technical support. For further information, see Lambda runtimes.

dancorne commented 1 year ago

Hi @jtuliani, thanks, that's great news! Will the aws_lambda_ric gem get Ruby 3 support as part of this work too, or should those of us using it consider switching to the base image instead?

jtuliani commented 1 year ago

Update: We have today released a container base image for Ruby 3.2 support in Lambda. This container image is fully supported and suitable for production applications. We will release the corresponding managed runtime within 90 days.

@dancorne Great question. We will update the aws_lambda_ric gem either with or very shortly after the managed runtime release. Until then, we recommend using the newly published container image to build Ruby 3.2 functions for Lambda.

ababich commented 1 year ago

@jtuliani https://gallery.ecr.aws/lambda/ruby Usage doc still refers to the old (2.7) image not sure if everything else is up to date there

metaskills commented 1 year ago

I just noticed Ruby 3.2 images show up here. https://gallery.ecr.aws/lambda/ruby

jtuliani commented 1 year ago

@ababich Ack, thanks for flagging, we'll address that as we continue to work on the Ruby 3.2 release.

jtuliani commented 1 year ago

We have today launched General Availability support for Ruby 3.2 as a managed runtime in AWS Lambda. For more information, please see our launch blog post at https://aws.amazon.com/blogs/compute/ruby-3-2-runtime-now-available-in-aws-lambda/

We recommend that all customers using the Ruby 2.7 runtime update their functions to Ruby 3.2. We will continue to support the Ruby 2.7 runtime until 2023-12-07 to give customers time for this transition.