Function Compute supports multiple languages through the use of runtimes. When you create a function, you must select a runtime environment to upload and run your code. When you update a function, you can change or upgrade the runtime environment by updating the configurations of the function. This topic describes the runtimes supported by Function Compute and the runtime deprecation policies.

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. Currently, Debian 9 (Stretch) and Debian 10 (Buster) are supported. A runtime 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

VersionOperating systemArchitecture
Node.js 16.x (public preview)Linuxx86_64
Node.js 14.xLinuxx86_64
Node.js 12.xLinuxx86_64
Node.js 10.xLinuxx86_64
Node.js 8.xLinuxx86_64

Python

VersionIdentifierOperating SystemArchitecture
Python 3.10 (in public review)python3.10Debian 10x86_64
Python 3.9python3.9Debian 9x86_64
Python 3.6python3Debian 9x86_64

PHP

PHP versionOperating systemArchitecture
PHP 7.2Linuxx86_64

Java

VersionOSArchitecture
Java 11Linuxx86_64
Java 8Linuxx86_64

. NET

.NET versionOperating system
.NET Core 2.1Debian 9
.NET Core 3.1Debian 9

Go

NameOSArchitecture
Go 1.xLinuxx86_64

Custom runtime

ParameterIdentifierOperating SystemArchitecture
Custom runtime (Debian 10) (in public review)custom.debian10Debian 10x86_64
Custom RuntimecustomDebian 9x86_64

Runtime deprecation policy

With the iteration of runtime versions, Function Compute stops maintaining specific runtimes and does not provide 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 that use 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 use the runtime, but you can still execute the existing functions that use the runtime.

Important Function Compute does not block invocations of a function that uses a deprecated runtime. Function can still be invoked after the runtime reaches deprecation. However, we recommend that you migrate functions to the latest supported runtime so that you can continue to receive security patches and remain eligible for technical support.

The following table describes the deprecation plans for runtimes in Function Compute. For runtimes that are not listed in the table, no deprecation plans are made. Function Compute notifies you by email or internal messages if you have functions that use a runtime that is scheduled for deprecation in the next 60 days.

RuntimeIdentifierPhase 1Phase 2
Node.js 10nodejs10September 1, 2024-
Node.js 8nodejs8September 1, 2023-
.NET Core 2.1dotnetcore2.1June 1, 2023-
Python 2.7python2.7June 1, 2023-
Node.js 6nodejs6June 1, 2023July 1, 2023
Node.js 4.4nodejs4.4June 1, 2023July 1, 2023