Migliorare le Prestazioni del tuo Servizio App su Azure con Container Personalizzati (2023)

Introduzione

Se stai cercando di ottimizzare le prestazioni del tuo Servizio App su Azure utilizzando container Docker personalizzati, sei nel posto giusto. In questo articolo, esploreremo le migliori pratiche e le configurazioni chiave per garantire un funzionamento fluido del tuo servizio.

Fork dei Contenitori Docker Predefiniti

Se desideri personalizzare i contenitori Docker predefiniti forniti dalla piattaforma, il primo passo è il fork. Ma dove puoi trovare questi file? Puoi trovare tutti i file Docker su GitHub. Questo passaggio è fondamentale per iniziare a modellare la configurazione del tuo servizio secondo le tue esigenze.

Configurazione del Runtime Stack

Quando configuri lo stack di runtime, è essenziale inserire i valori corretti nella sezione del file di avvio. Ecco alcuni esempi:

  • Java SE: Il comando per avviare la tua app JAR potrebbe essere, ad esempio, java -jar /home/site/wwwroot/app.jar --server.port=80.
  • Tomcat: Specifica la posizione di uno script per eseguire le configurazioni necessarie, come ad esempio /home/site/deployments/tools/startup_script.sh.

Assicurati di inserire i valori corretti per il tuo stack per garantire un avvio senza intoppi.

Riavvio e Connessione SSH

Quando premi il pulsante di riavvio nel portale Azure, questo corrisponde a un riavvio Docker. Inoltre, puoi connetterti al container della tua app tramite Secure Shell (SSH) attraverso il sito di gestione del controllo della sorgente (SCM). Tieni presente che è possibile anche la connessione diretta utilizzando SSH, SFTP o Visual Studio Code dal tuo ambiente di sviluppo locale.

Pianificazione Continua e Distribuzione

Se il tuo web app continua a utilizzare un'immagine Docker obsoleta, assicurati di sfruttare la continuità nell'integrazione e nella distribuzione. Supportiamo l'integrazione continua/deploy con Azure Container Registry o DockerHub. Per registri privati, aggiorna il container fermando e avviando l'app o aggiungendo una variabile di configurazione fittizia per forzare il refresh.

Ambienti di Staging e Web Sockets

Sì, supportiamo gli ambienti di staging e l'utilizzo di Web Sockets nelle applicazioni Node.js. Per configurare Web Sockets, assicurati di disabilitare perMessageDeflate nel codice Node.js lato server.

Uso di Container Personalizzati

Managed Identities con App Service e ACR

Puoi utilizzare le identità gestite con App Service quando estrai le immagini da ACR. Questa funzionalità è disponibile da Azure CLI utilizzando identità assegnate dal sistema o dall'utente.

Gestione dello Spazio e Avvio del Container

Se il tuo container non parte a causa di "no space left on device", è importante comprendere che App Service su Linux utilizza due tipi di storage. Lo spazio su disco è gestito dalla piattaforma attraverso il driver di storage Docker. Assicurati di mantenere le dimensioni delle immagini il più ridotte possibile e scrivere i dati nella memoria persistente per evitare problemi di spazio.

Tempo di Avvio del Container

Se il tuo container personalizzato impiega troppo tempo per avviarsi e viene riavviato prematuramente, puoi configurare il limite di tempo di avvio del container con l'impostazione WEBSITES_CONTAINER_START_TIME_LIMIT.

Utilizzo di Docker Compose per Multi-container

Se stai configurando Azure Container Registry (ACR) per l'uso con multi-container, assicurati che tutte le immagini siano ospitate sullo stesso server di ACR. Imposta le variabili dell'applicazione e aggiorna il file di configurazione Docker Compose per includere il nome dell'immagine ACR.

Conclusioni

Ottimizzare il tuo Servizio App su Azure con container personalizzati richiede una configurazione accurata e una comprensione approfondita delle funzionalità offerte dalla piattaforma. Seguendo le pratiche consigliate descritte in questo articolo, sarai in grado di massimizzare le prestazioni e garantire un funzionamento stabile della tua applicazione.

References

Top Articles
Latest Posts
Article information

Author: Dean Jakubowski Ret

Last Updated: 09/01/2024

Views: 5628

Rating: 5 / 5 (50 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Dean Jakubowski Ret

Birthday: 1996-05-10

Address: Apt. 425 4346 Santiago Islands, Shariside, AK 38830-1874

Phone: +96313309894162

Job: Legacy Sales Designer

Hobby: Baseball, Wood carving, Candle making, Jigsaw puzzles, Lacemaking, Parkour, Drawing

Introduction: My name is Dean Jakubowski Ret, I am a enthusiastic, friendly, homely, handsome, zealous, brainy, elegant person who loves writing and wants to share my knowledge and understanding with you.