Criteri di supporto del runtime del linguaggio per il servizio app

Questo articolo descrive i criteri di supporto del runtime del linguaggio per aggiornare gli stack esistenti e ritirare gli stack di fine del supporto nel Servizio app di Azure. Questo criterio chiarisce le procedure esistenti e non rappresenta una modifica agli impegni dei clienti.

Aggiornamenti agli stack esistenti

Il servizio app aggiorna gli stack esistenti dopo che diventano disponibili da ogni community. Il servizio app aggiorna le versioni principali degli stack, ma non può garantire versioni secondarie o patch specifiche. La piattaforma controlla le versioni secondarie e patch. Ad esempio, il servizio app aggiorna il Node 18, ma non garantisce una versione specifica Node 18.x.x. Se è necessaria una versione secondaria o patch specifica, è possibile usare un contenitore personalizzato.

Ritiri

Il servizio app segue le sequenze temporali di supporto della community per il ciclo di vita del runtime. Dopo che il supporto della community per una lingua raggiunge la fine del supporto, le applicazioni continuano a essere eseguite senza modifiche. Tuttavia, il servizio app non può fornire patch di sicurezza o supporto clienti correlato per tale versione di runtime oltre la data di fine del supporto. Se l'applicazione ha dei problemi oltre la data di fine del supporto per tale versione, è necessario passare a una versione supportata per ricevere le patch e le funzionalità di sicurezza più recenti.

Importante

Se si eseguono app che usano una versione della lingua non supportata, è necessario eseguire l'aggiornamento a una versione della lingua supportata prima di poter ottenere supporto per tali app.

Notifications

Le date di fine del supporto per le versioni di runtime vengono determinate indipendentemente dai rispettivi stack e sono al di fuori del controllo del servizio app. Il servizio app invia notifiche di promemoria ai proprietari delle sottoscrizioni con versioni di runtime prossime alla fine del supporto quando diventano disponibili per ogni lingua.

I ruoli che ricevono notifiche includono amministratori account, amministratori del servizio e coamministratori. I collaboratori, i lettori o altri ruoli non ricevono direttamente le notifiche, a meno che non acconsentono a ricevere messaggi di posta elettronica di notifica tramite avvisi di integrità dei servizi.

Sequenze temporali per il supporto della versione del runtime della lingua

Per altre informazioni sulle sequenze temporali specifiche per i criteri di supporto linguistico, vedere le risorse seguenti:

Stato del supporto

Il servizio app supporta le lingue nei sistemi operativi Linux e Windows. Per l'elenco del supporto del sistema operativo per ogni lingua, vedere le risorse seguenti:

Configurare le versioni della lingua

Per altre informazioni su come aggiornare le versioni della lingua per le applicazioni del servizio app, vedere le risorse seguenti:

Istruzione di runtime specifica di Java per il supporto

Versioni di JDK e manutenzione

Le build Microsoft e Adoptium di OpenJDK sono disponibili e supportate nel servizio app per Java 8, 11, 17 e 21. Questi file binari vengono forniti come distribuzione senza costi, multipiattaforma e pronti per la produzione di OpenJDK per Azure. Contengono tutti i componenti necessari per compilare ed eseguire applicazioni Java SE. Per lo sviluppo o il test locale, è possibile installare la build Microsoft di OpenJDK dalla pagina dei download.

Nome dello stack Java Distribuzione Linux Distribuzione 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 è l'ultima distribuzione Alpine supportata nel servizio app. È consigliabile bloccare una versione per evitare di passare automaticamente a Ubuntu. Assicurarsi di testare e passare all'offerta Java supportata dalle distribuzioni basate su Ubuntu, quando possibile.

Se si effettua il blocco a una versione secondaria precedente di Java, l'app potrebbe usare i file binari Azul Zulu per Azure deprecati forniti tramite Azul Systems. È possibile continuare a usare questi file binari per l'app, ma tutte le patch di sicurezza o i miglioramenti sono disponibili solo nelle nuove versioni di OpenJDK, quindi è consigliabile aggiornare periodicamente le app Web a una versione successiva di Java.

Gli aggiornamenti delle versioni principali vengono forniti tramite nuove opzioni di runtime nel Servizio app di Azure. I clienti eseguono l'aggiornamento a queste versioni più recenti di Java configurando la distribuzione del servizio app e sono responsabili dei test, oltre che di assicurare che l'aggiornamento principale risponda alle esigenze.

Ai pacchetti JDK supportati vengono automaticamente applicate patch con cadenza trimestrale, a gennaio, aprile, luglio e ottobre di ogni anno. Per altre informazioni su Java in Azure, vedere questo documento di supporto.

Aggiornamenti della sicurezza

Le patch e le correzioni per le principali vulnerabilità di sicurezza vengono rilasciate non appena diventano disponibili nelle build Microsoft di OpenJDK. Una vulnerabilità "principale" ha un punteggio di base pari o superiore a 9,0 in NIST Common Vulnerability Scoring System, versione 2.

Tomcat 8.5 ha raggiunto la fine del ciclo di vita a partire dal 31 marzo 2024 e Tomcat 10.0 ha raggiunto la fine del ciclo di vita a partire dal 31 ottobre 2022.

Anche se i runtime sono ancora disponibili nel Servizio app di Azure, Tomcat 8.5 o 10.0 non riceveranno gli aggiornamenti della sicurezza.

Quando possibile, eseguire la migrazione delle applicazioni a Tomcat 9.0 o Tomcat 10.1. Tomcat 9.0 e Tomcat 10.1 sono disponibili nel Servizio app di Azure. Per altre informazioni, vedere il sito ufficiale di Tomcat.

Il supporto della community per Java 7 è terminato il 29 luglio 2022 e Java 7 è stato ritirato dal servizio app. Se si dispone di un'app Web in esecuzione in Java 7, eseguire immediatamente l'aggiornamento a Java 8 o 11.

Deprecazione e ritiro

Se un runtime Java supportato viene ritirato, gli sviluppatori di Azure che usano il runtime interessato ricevono un avviso di funzionalità deprecata almeno sei mesi prima che il runtime venga ritirato.

Sviluppo locale

Gli sviluppatori possono scaricare Microsoft Build di OpenJDK per lo sviluppo locale dal sito di download.

Il supporto del prodotto per Microsoft Build di OpenJDK è disponibile tramite Microsoft durante lo sviluppo per Azure o Azure Stack con un piano di supporto per Azure qualificato.