Panoramica del Servizio app di Azure

Il Servizio app di Azure è un servizio per l'hosting di applicazioni Web, API REST e back-end mobili, basato su HTTP. È possibile usare il linguaggio di sviluppo preferito tra .NET, .NET Core, Java, Ruby, Node.js, PHP o Python. Le applicazioni vengono eseguite e dimensionate con facilità negli ambienti basati sia su Windows che su Linux.

Il servizio app non si limita ad aggiungere la potenza di Microsoft Azure all'applicazione, in termini di sicurezza, bilanciamento del carico, ridimensionamento automatico e gestione automatizzata. Permettono anche di usufruire delle funzionalità DevOps, come la distribuzione continua da Azure DevOps, GitHub, Docker Hub e altre origini, la gestione dei pacchetti, gli ambienti di staging, il dominio personalizzato e i certificati TLS/SSL.

Il servizio app permette di pagare solo le risorse di calcolo di Azure usate. La quantità di risorse di calcolo usate è determinata dal piano di servizio app in cui vengono eseguite le app. Per altre informazioni, vedere Panoramica approfondita dei piani del servizio app di Azure.

Perché usare il servizio app?

Servizio app di Azure è una piattaforma completamente gestita come servizio (PaaS) che offre agli sviluppatori. Ecco alcune delle funzionalità principali del servizio app:

Oltre al servizio app, Azure offre altri servizi che possono essere usati per l'hosting di siti e applicazioni Web. Per la maggior parte degli scenari il servizio app è la scelta migliore. Per l'architettura di microservizi, considerare Azure Spring Apps o Service Fabric. Se è necessario un maggior controllo sulle VM in cui viene eseguito il codice, prendere in considerazione l'uso di Macchine virtuali di Azure. Per altre informazioni su come scegliere uno di questi servizi di Azure, vedere Confronto tra Servizio app di Azure, Macchine virtuali, Service Fabric e Servizi cloud.

Servizio app in Linux

Il servizio app può anche ospitare le app Web in modo nativo in Linux per gli stack di applicazioni supportate. Può anche eseguire contenitori Linux personalizzati (noti anche come app Web per contenitori).

Linguaggi e framework predefiniti

Il servizio app in Linux supporta numerose immagini predefinite specifiche del linguaggio. È sufficiente distribuire il codice. I linguaggi supportati includono: Node.js, Java (8, 11 e 17), Tomcat, PHP, Python, .NET Core e Ruby. Eseguire az webapp list-runtimes --os linux per visualizzare i linguaggi più recenti e le versioni supportate. Se il runtime richiesto dall'applicazione non è supportato nelle immagini predefinite, è possibile distribuirlo con un contenitore personalizzato.

I runtime obsoleti vengono rimossi periodicamente dai pannelli Crea e Configurazione di App Web nel portale. Questi runtime vengono nascosti nel portale quando sono deprecati dall'organizzazione che li gestisce oppure è stato riscontrato che presentano vulnerabilità significative. Queste opzioni vengono nascoste per indirizzare i clienti verso i runtime più recenti che garantiranno migliori risultati.

Quando un runtime obsoleto viene nascosto nel portale, tutti i siti esistenti che usano tale versione continueranno a essere eseguiti. Se un runtime viene rimosso completamente dalla piattaforma del servizio app, i proprietari della sottoscrizione di Azure riceveranno una notifica tramite posta elettronica prima della rimozione.

Se è necessario creare un'altra app Web con una versione obsoleta del runtime che non viene più visualizzata nel portale, vedere le guide alla configurazione del linguaggio per istruzioni su come ottenere la versione del runtime del sito. È possibile usare l'interfaccia della riga di comando di Azure per creare un altro sito con lo stesso runtime. In alternativa, è possibile usare il pulsante Esporta modello nel pannello dell'app Web nel portale per esportare un modello di ARM del sito. È possibile riutilizzare questo modello per distribuire un nuovo sito con lo stesso runtime e configurazione.

Debian 9 Fine della vita

Il 30 giugno 2022 Debian 9 (noto anche come "Stretch") raggiungerà lo stato End-of-Life (EOL), che significa che le patch di sicurezza e gli aggiornamenti verranno interrotti. A partire da giugno 2022, viene eseguito un aggiornamento della piattaforma per fornire un percorso di aggiornamento a Debian 11 (noto anche come "Bullseye"). I runtime elencati di seguito usano attualmente Debian 9; se si usa uno dei runtime elencati, seguire le istruzioni seguenti per aggiornare il sito a Bullseye.

  • Python 3.8
  • Python 3.7
  • .NET 3.1
  • PHP 7.4

Nota

Per garantire che le applicazioni dei clienti siano in esecuzione in distribuzioni Debian sicure e supportate, dopo il febbraio 2023 tutte le app Web Linux ancora in esecuzione in Debian 9 (Stretch) verranno aggiornate automaticamente a Debian 11 (Bullseye).

Verificare l'aggiornamento della piattaforma

Prima di tutto, verificare che il nuovo aggiornamento della piattaforma che contiene Debian 11 abbia raggiunto il sito.

  1. Passare al sito SCM (noto anche come sito Kudu) dell'app Web. È possibile passare a questo sito in http://<your-site-name>.scm.azurewebsites.net/Env (sostituire \<your-site-name> con il nome dell'app Web).
  2. In "Variabili di ambiente", cercare PLATFORM_VERSION. Il valore di questa variabile di ambiente è la versione corrente della piattaforma dell'app Web.
  3. Se il valore di PLATFORM_VERSION inizia con "99" o versione successiva, il sito si trova nell'aggiornamento della piattaforma più recente e si può continuare alla sezione seguente. Se il valore non mostra "99" o versione successiva, il sito non ha ancora ricevuto l'aggiornamento della piattaforma più recente, verificare nuovamente in una data successiva.

Creare quindi uno slot di distribuzione per verificare che l'applicazione funzioni correttamente con Debian 11 prima di applicare la modifica alla produzione.

  1. Creare uno slot di distribuzione se non ne ha già uno e clonare le impostazioni dallo slot di produzione. Uno slot di distribuzione consente di testare in modo sicuro le modifiche apportate all'applicazione (ad esempio l'aggiornamento a Debian 11) e di scambiare tali modifiche nella produzione dopo la revisione.

  2. Per eseguire l'aggiornamento a Debian 11 (Bullseye), creare un'impostazione dell'app nello slot denominato ORYX_DEFAULT_OS con un valore di bullseye.

    az webapp config appsettings set -g MyResourceGroup -n MyUniqueApp --settings ORYX_DEFAULT_OS=bullseye
    
  3. Distribuire l'applicazione nello slot di distribuzione usando lo strumento preferito (VS Code, interfaccia della riga di comando di Azure, GitHub Actions e così via)

  4. Verificare che l'applicazione funzioni come previsto nello slot di distribuzione.

  5. Scambiare gli slot di produzione e gestione temporanea. Verrà applicata l'impostazione dell'app APPSETTING_DEFAULT_OS=bullseye all'ambiente di produzione.

  6. Eliminare lo slot di distribuzione se non lo si usa più.

Risorse

Limitazioni

Nota

I piani di servizio app Linux e Windows possono ora condividere gruppi di risorse. Questa limitazione è stata revocata dalla piattaforma e dai gruppi di risorse esistenti è stata aggiornata per supportare questo problema.

  • Il Servizio app in Linux non è supportato nel piano tariffario Condiviso.
  • Il portale di Azure mostra solo le funzionalità attualmente funzionanti per le app Linux. Man mano che le funzionalità vengono abilitate, vengono attivate nel portale.
  • Quando viene distribuito nelle immagini predefinite, al codice e al contenuto viene allocato un volume di archiviazione per il contenuto Web, supportato da Archiviazione di Azure. La latenza del disco di questo volume è maggiore e più variabile rispetto alla latenza del file system del contenitore. Le app che richiedono un accesso elevato in sola lettura a file di contenuto possono trarre vantaggio dall'opzione relativa al contenitore personalizzato, che colloca i file nel file system del contenitore anziché nel volume del contenuto.

Passaggi successivi

Creare la prima app Web.