App Service di Azure è il servizio principale per ospitare applicativi web e, oltre a supportare sia Windows che Linux, supporta il deployment basato su Docker. Questo facilita la distribuzione dei nostri applicativi e ad essere indipendenti il più possibile dalla piattaforma di hosting. Non solo, ci dà la garanzia del pacchetto che andiamo a distribuire oltre a darci addirittura la possibilità di lanciare più container, magari per ospitare attività in background.
Dato che ogni container è isolato, anche il suo file system non è accessibile dall'esterno e cosa più importante è volatile. Significa che sebbene la nostra app possa scrivere ovunque, rischiamo di perdere i dati che abbiamo scritto. I volume di Docker vengono in aiuto permettendoci di esporre un percorso virtuale su uno reale. All'interno degli App Service possiamo fare di più: montare un volume che mappa un container di Azure Storage. In questo modo possiamo disporre di uno storage condiviso, anche tra più istanze e soprattutto persistente nel tempo, con tutte le garanzie fornite da questo servizio.
Sfruttare questa funzionalità è piuttosto semplice. Dal portale possiamo accedere alla sezione Configuration e successivamente su Path Mappings. In questa sezione troviamo i volume già montati.

Premendo su New Storage Mount possiamo specificare un nome, il blob destinatario e il percorso del file system all'interno del container.

Nell'esempio indichiamo il percorso /logs ed è con tale percorso che potremo dal container scrivere nella cartella come se fosse in locale, ma in realtà staremo scrivendo dei blob.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Creare una libreria CSS universale: Nav menu
Creare gruppi di client per Event Grid MQTT
Utilizzare Azure Cosmos DB con i vettori
Eseguire script pre e post esecuzione di un workflow di GitHub
Creare una libreria CSS universale: Immagini
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Eseguire i worklow di GitHub su runner potenziati
Migrare una service connection a workload identity federation in Azure DevOps
Utilizzare gRPC su App Service di Azure
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Gestione degli stili CSS con le regole @layer