Function Compute supports multiple languages through the use of runtimes. When you create a function, you must select a runtime to upload and run your code. When you update a function, you can change or upgrade the runtime by updating the configurations of the function. This topic describes runtimes supported by Function Compute and the runtime deprecation policy.
Background
Function Compute invokes a function in an execution environment. The execution environment provides a secure and isolated runtime environment that manages the resources required to run your function. If an execution environment from a previous invocation is available, Function Compute reuses the execution environment. Otherwise, Function Compute creates a new execution environment.
Each runtime of Function Compute is based on a specific Linux distribution. Debian 9 (Stretch) and Debian 10 (Buster) are supported. Runtimes can use a single version of a language, multiple versions of a language, or multiple languages. When a version of a language reaches the end of life, the runtimes for the version and language framework are deprecated.
Supported runtimes
Node.js
Version | Identifier | Operating system | Architecture |
Node.js 20.x | nodejs20 | Linux (Debian 10) | x86_64 |
Node.js 18.x | nodejs18 | Linux (Debian 10) | x86_64 |
Node.js 16.x | nodejs16 | Linux (Debian 9) | x86_64 |
Node.js 14.x | nodejs14 | Linux (Debian 9) | x86_64 |
Node.js 12.x | nodejs12 | Linux (Debian 9) | x86_64 |
Node.js 10.x | nodejs10 | Linux (Debian 9) | x86_64 |
Node.js 8.x | nodejs8 | Linux (Debian 9) | x86_64 |
Python
Version | Identifier | OS | Architecture |
Python 3.10 | python3.10 | Debian 10 | x86_64 |
Python 3.9 | python3.9 | Debian 9 | x86_64 |
Python 3.6 | python3 | Debian 9 | x86_64 |
PHP
PHP version | OS | Architecture |
PHP 7.2 | Linux | x86_64 |
Java
Version | Operating system | Architecture |
Java 11 | Linux | x86_64 |
Java 8 | Linux | x86_64 |
.NET
Version | Operating system |
.NET Core 3.1 | Debian 9 |
Go
Version | Operating system | Architecture |
Go 1.x | Linux | x86_64 |
Custom runtimes
Runtime | Identifier | Operating system | Architecture |
Custom runtime (Debian10) | custom.debian10 | Debian 10 | x86_64 |
Custom Runtime | custom | Debian 9 | x86_64 |
Runtime deprecation policy
With the iteration of runtime versions, Function Compute stops maintaining specific runtimes and no longer provides technical support and security updates for these runtimes. The deprecation of a runtime is divided into two phases.
Phase 1
You can no longer create functions in the runtime, but you can still execute and update existing functions that use the runtime.
Phase 2
You can no longer create or update functions that run in the runtime, but you can still execute existing functions that run in the runtime.
Function Compute does not block invocations of functions that use a deprecated runtime. The functions can still be invoked. We recommend that you migrate your functions to the latest supported runtimes for technical support and security updates.
The following table lists the deprecation plans for runtimes in Function Compute. For runtimes that are not listed in the table, no deprecation plans have been made yet. Function Compute notifies you by email or internal messages if you have functions that use a runtime that is to be deprecated in the next 60 days.
Runtime | Identifier | Phase 1 | Phase 2 |
Node.js 12 | nodejs12 | None | None |
Node.js 10 | nodejs10 | October 15, 2024 | December 15, 2024 |
Node.js 8 | nodejs8 | October 15, 2024 | December 15, 2024 |
.NET Core 2.1 | dotnetcore2.1 | June 01, 2023 | September 25, 2024 |
Python 2.7 | python2.7 | June 01, 2023 | September 25, 2024 |
Node.js 6 | nodejs6 | June 01, 2023 | September 25, 2024 |
Node.js 4.4 | nodejs4.4 | June 01, 2023 | September 25, 2024 |
More information
Custom runtimes of Function Compute support extensions to flexibly optimize and adjust functions to meet your business requirements. For more information, see Use Loggie in custom runtimes and ARMS extensions for custom runtimes.
For more information about the built-in and custom runtimes that Function Compute supports, see Overview.