Stratégie de prise en charge des runtimes de langage pour App Service

Cet article décrit la stratégie de prise en charge des runtimes de langage pour la mise à jour des piles existantes et la mise hors service des piles de fin de prise en charge dans Azure App Service. Cette stratégie clarifie les pratiques existantes et ne représente pas une modification des engagements des clients.

Mises à jour des piles existantes

App Service met à jour les piles existantes une fois qu’elles deviennent disponibles auprès de chaque communauté. App Service met à jour les versions majeures des piles, mais ne peut pas garantir des versions mineures ou correctives spécifiques. La plateforme contrôle les versions mineures et correctives. Par exemple, App Service met à jour Node 18, mais ne garantit pas une version spécifique de Node 18.x.x. Si vous avez besoin d’une version mineure ou corrective spécifique, vous pouvez utiliser un conteneur personnalisé.

Mises hors service

App Service suit les chronologies de support de la communauté pour le cycle de vie du runtime. Une fois que le support par la communauté pour un langage atteint la fin de la prise en charge, vos applications continuent à s’exécuter sans modification. Cependant, App Service ne peut pas fournir de correctifs de sécurité ni de support client associé pour cette version du runtime après sa date de fin de prise en charge. Si votre application rencontre des problèmes au-delà de la date de fin de prise en charge de cette version, vous devez passer à une version prise en charge pour recevoir les derniers correctifs de sécurité et les dernières fonctionnalités.

Important

Si vous exécutez des applications qui utilisent une version de langage non prise en charge, vous devez effectuer une mise à niveau vers une version de langage prise en charge avant de pouvoir obtenir la prise en charge de ces applications.

Notifications

Les dates de fin de prise en charge des versions des runtimes sont déterminées indépendamment par leurs piles respectives et ne sont pas contrôlées par App Service. App Service envoie des notifications de rappel aux propriétaires d’abonnement pour les versions du runtime bientôt en fin de prise en charge une fois disponibles pour chaque langage.

Les rôles qui reçoivent des notifications incluent les administrateurs de compte, les administrateurs de service et les coadministrateurs. Les contributeurs, les lecteurs ou d’autres rôles ne reçoivent pas directement de notifications, sauf s’ils choisissent de recevoir des e-mails de notification, en utilisant les Alertes Service Health.

Chronologies de prise en charge des versions des runtimes de langage

Pour en savoir plus sur les chronologies spécifiques pour la stratégie de prise en charge des langages, consultez les ressources suivantes :

État de la prise en charge

App Service prend en charge des langages sur les systèmes d’exploitation Linux et Windows. Consultez les ressources suivantes pour obtenir la liste de la prise en charge du système d’exploitation pour chaque langage :

Configurer des versions d’un langage

Pour en savoir plus sur la mise à jour des versions d’un langage pour vos applications App Service, consultez les ressources suivantes :

Informations de prise en charge du runtime spécifique à Java

Versions JDK et maintenance

Les versions Microsoft et Adoptium d’OpenJDK sont fournies et prises en charge sur App Service pour Java 8, 11, 17 et 21. Ces fichiers binaires sont fournis en tant que distribution d’OpenJDK pour Azure sans coût, multiplateforme et prête pour la production. Elles contiennent tous les composants nécessaires pour générer et exécuter des applications Java SE. Pour le développement ou les tests locaux, vous pouvez installer la version Microsoft d’OpenJDK à partir de la page des téléchargements.

Nom de la pile Java Distribution Linux Distribution Java
Java 8 Alpine 3.16* Adoptium Temurin 8 (MUSL)
Java 11 Alpine 3.16* MSFT OpenJDK 11 (MUSL)
Java 17 Ubuntu MSFT OpenJDK 17
Java 21 Ubuntu MSFT OpenJDK 21
Tomcat 8.5 Java 8 Alpine 3.16* Adoptium Temurin 8 (MUSL)
Tomcat 8.5 Java 11 Alpine 3.16* MSFT OpenJDK 11 (MUSL)
Tomcat 9.0 Java 8 Alpine 3.16* Adoptium Temurin 8 (MUSL)
Tomcat 9.0 Java 11 Alpine 3.16* MSFT OpenJDK 11 (MUSL)
Tomcat 9.0 Java 17 Ubuntu MSFT OpenJDK 17
Tomcat 9.0 Java 21 Ubuntu MSFT OpenJDK 21
Tomcat 10.0 Java 8 Ubuntu Adoptium Temurin 8
Tomcat 10.0 Java 11 Ubuntu MSFT OpenJDK 11
Tomcat 10.0 Java 17 Ubuntu MSFT OpenJDK 17
Tomcat 10.0 Java 21 Ubuntu MSFT OpenJDK 21
Tomcat 10.1 Java 11 Ubuntu MSFT OpenJDK 11
Tomcat 10.1 Java 17 Ubuntu MSFT OpenJDK 17
Tomcat 10.1 Java 21 Ubuntu MSFT OpenJDK 21
JBoss 7.3 Java 8 Ubuntu Adoptium Temurin 8
JBoss 7.3 Java 11 Ubuntu MSFT OpenJDK 11
JBoss 7.4 Java 8 Ubuntu Adoptium Temurin 8
JBoss 7.4 Java 11 Ubuntu MSFT OpenJDK 11
JBoss 7.4 Java 17 Ubuntu MSFT OpenJDK 17

* Alpine 3.16 est la distribution Alpine prise en charge la plus récente dans App Service. Vous devez épingler à une version pour éviter de basculer automatiquement vers Ubuntu. Assurez-vous de tester le basculement vers l’offre Java prise en charge par les distributions basées sur Ubuntu lorsque cela est possible.

Si vous êtes épinglé à une ancienne version mineure de Java, votre application utilise peut-être les fichiers binaires Azul Zulu pour Azure déconseillés fournis par Azul Systems. Vous pouvez continuer à utiliser ces fichiers binaires pour votre application, mais les correctifs de sécurité ou les améliorations ne sont disponibles que dans les nouvelles versions d’OpenJDK. Nous vous recommandons donc de mettre régulièrement à jour Web Apps vers une version ultérieure de Java.

Les mises à jour de la version principale sont fournies via de nouvelles options de runtime dans Azure App Service. Les clients effectuent une mise à jour avec ces versions plus récentes de Java en configurant leur déploiement App Service et doivent s’occuper des tests et de s’assurer que la mise à jour majeure répond à leurs besoins.

Les kits JDK pris en charge sont automatiquement mis à jour tous les trimestres, en janvier, avril, juillet et octobre de chaque année. Pour plus d’informations sur Java sur Azure, consultez ce document de support.

Mises à jour de sécurité

Les correctifs des principales vulnérabilités de sécurité seront publiés dès qu’ils seront disponibles dans les builds Microsoft d’OpenJDK. Une vulnérabilité « majeure » a un score de base de 9.0 ou supérieur dans le système NIST Common Vulnerability Scoring System, version 2.

Tomcat 8.5 a atteint sa Fin de vie à compter du 31 mars 2024 et Tomcat 10.0 a atteint sa Fin de vie à compter du 31 octobre 2022.

Bien que les runtimes soient toujours disponibles sur Azure App Service, Tomcat 8.5 ou 10.0 ne recevra pas de mises à jour de sécurité.

Quand cela est possible, migrez vos applications vers Tomcat 9.0 ou Tomcat 10.1. Tomcat 9.0 et Tomcat 10.1 sont disponibles sur Azure App Service. Pour plus d’informations, consultez le site officiel de Tomcat.

Le support par la communauté pour Java 7 a pris fin le 29 juillet 2022 et Java 7 a été mis hors service d’App Service. Si vous avez une application web en cours d’exécution sur Java 7, effectuez une mise à niveau vers Java 8 ou 11 immédiatement.

Dépréciation et retrait

Si un runtime Java pris en charge est mis hors service, les développeurs Azure utilisant le runtime affecté reçoivent un avis de dépréciation au moins six mois avant sa mise hors service.

Développement local

Les développeurs peuvent télécharger la Microsoft Build d’OpenJDK pour le développement local depuis notre site de téléchargement.

Le support produit de la version Microsoft d’OpenJDK est disponible via Microsoft si vous développez pour Azure ou Azure Stack avec un plan de support Azure éligible.