Function Compute prend en charge plusieurs langages via des runtimes. Sélectionnez un runtime lors de la création d'une fonction. Vous pouvez le modifier ou le mettre à niveau à tout moment en mettant à jour la configuration de la fonction.
Fonctionnement
Chaque fonction s'exécute dans un environnement d'exécution, un bac à sable sécurisé et isolé qui gère les ressources nécessaires à votre fonction. Lors de l'appel d'une fonction, Function Compute réutilise un environnement d'exécution disponible provenant d'une invocation précédente. Si aucun environnement n'est disponible, le système en crée un nouveau.
Tous les runtimes reposent sur une distribution Linux spécifique. Selon le runtime choisi, Function Compute prend en charge Debian 9 (Stretch), Debian 10 (Buster) ou Debian 11. Lorsqu'une version de langage atteint sa fin de vie, le runtime correspondant devient obsolète.
Runtimes pris en charge
Node.js
| Version | Identifiant | OS | 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 |
Python
| Version | Identifiant | OS | Architecture |
|---|---|---|---|
| Python 3,12 (public preview) | python3.12 | Debian 11 | x86_64 |
| 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
| Version | OS | Architecture |
|---|---|---|
| PHP 7.2 | Linux | x86_64 |
Java
| Version | OS | Architecture |
|---|---|---|
| Java 11 | Linux | x86_64 |
| Java 8 | Linux | x86_64 |
.NET
| Version | OS |
|---|---|
| .NET Core 3.1 | Debian 9 |
Go
| Version | OS | Architecture |
|---|---|---|
| Go 1.x | Linux | x86_64 |
Runtimes personnalisés
Les runtimes personnalisés permettent d'exécuter n'importe quel langage ou framework non couvert par les runtimes intégrés.
| Runtime | Identifiant | OS | Architecture |
|---|---|---|---|
| Custom Runtime (Debian 11) (in public preview) | custom.debian11 | Debian 11 | x86_64 |
| Custom Runtime (Debian 10) | custom.debian10 | Debian 10 | x86_64 |
| Custom Runtime (Debian 9) | custom | Debian 9 | x86_64 |
Politique d'obsolescence des runtimes
Lorsqu'une version de langage atteint sa fin de vie, Function Compute marque les runtimes correspondants comme obsolètes en deux phases. Les correctifs de sécurité et le support technique ne sont plus fournis après le début de cette période.
| Phase | Description |
|---|---|
| Phase 1 | Impossible de créer de nouvelles fonctions avec ce runtime. Les fonctions existantes restent exécutables et modifiables. |
| Phase 2 | Impossible de mettre à jour les fonctions existantes avec ce runtime. L'exécution des fonctions existantes reste toutefois possible. |
Function Compute ne bloque pas les invocations de fonctions utilisant un runtime obsolète. Pour continuer à recevoir les mises à jour de sécurité et le support technique, migrez vos fonctions vers un runtime pris en charge.
Function Compute vous informe par e-mail ou par message interne 60 jours avant qu'un runtime ne devienne obsolète. Le tableau ci-dessous présente les plans d'obsolescence actuels. Les runtimes absents de cette liste n'ont aucune date d'obsolescence planifiée.
| Runtime | Identifiant | Phase 1 | Phase 2 |
|---|---|---|---|
| Node.js 12 | nodejs12 | Aucune | Aucune |
| Node.js 10 | nodejs10 | 15 octobre 2024 | 15 décembre 2024 |
| Node.js 8 | nodejs8 | 15 octobre 2024 | 15 décembre 2024 |
| .NET Core 2,1 | dotnetcore2.1 | 1er juin 2023 | 25 septembre 2024 |
| Python 2,7 | python2.7 | 1er juin 2023 | 25 septembre 2024 |
| Node.js 6 | nodejs6 | 1er juin 2023 | 25 septembre 2024 |
| Node.js 4,4 | nodejs4.4 | 1er juin 2023 | 25 septembre 2024 |
Rubriques connexes
Les runtimes personnalisés prennent en charge des extensions pour optimiser et ajuster le comportement des fonctions. Consultez Utiliser Loggie dans les runtimes personnalisés et Extensions ARMS pour les runtimes personnalisés.
Pour une vue d'ensemble des capacités des runtimes intégrés et personnalisés, reportez-vous à la rubrique Vue d'ensemble du développement de code.