AWS Lambda end of support for Ruby 2.7

By Daniel Aniszkiewicz ยท 31 March, 2023

Introduction

EOL, or "End of Life," in the context of programming languages and their versions, refers to the point at which a specific version will no longer receive official support, updates, or patches. This includes bug fixes, security updates, and performance improvements.

Once a version reaches its EOL, it is considered outdated and potentially insecure, so it is recommended that users upgrade to a newer, supported version.


A Lambda runtime is the environment that AWS provides to execute your code, including the necessary language interpreter and libraries, ensuring compatibility and efficient execution. So in nutshell, we use AWS Lambda runtime so we don't need to bother to manage it ourselves, that's the purpose of Serverless approach at the end.

As of today, the Lambda runtime supports Ruby 2.7, but is EOL today based on information on the language's website.


Let's check what we can see on the Lambda runtime docs.

We can see that the Deprecation (Phase 1) is scheduled for 15th November 2023.


Ruby 2.7


During this phase, AWS announces the intention to discontinue support for a certain runtime and sets a timeline for its deprecation. Users are encouraged to migrate their Lambda functions to a more recent and supported runtime version before the end of the deprecation period, ensuring that their functions continue to receive updates, security patches, and technical support.


The main problem is that we currently have version 3.2 of ruby, but it is not available in Lambda. What to do in this case? It is either left to wait until this is eventually added, or to use a custom runtime in Lambda, but this misses the point of using Lambda functions.