Le Azure Functions sono l'implementazione Microsoft della cosiddetta architettura serverless e ci permettono di sviluppare funzioni indipendenti con un'estrema scalabilità. Di recente è stata introdotta la possibilità di sviluppare funzioni direttamente con Visual Studio 2017 con un progetto apposito che in fase di compilazione produce i file host.json e functions.json necessari per poter essere pubblicati.
Viene naturale quindi pensare di inserire questo tipo di progetto, disponibile in Visual Studio, in un meccanismo di continuos delivery, sfruttando strumenti che automatizzano la compilazione e la pubblicazione su Azure.
Visual Studio Team Services è lo strumento che ci permette di realizzare tutto questo ed è in grado anche di compilare funzioni e caricarle sul cloud. Quello che dobbiamo fare è recarci nella sezione build di VSTS e preparare una nuova definizione, facendo attenzione di partire con un template già fatto, nello specifico ASP.NET Core (.NET Framework).
Con questa tipologia disponiamo di quello che serve e dell'agent per Visual Studio 2017 per produrre un file zip contenente il tutto. Le Azure Functions infatti non si differenziano molto da una normale web app, nel processo di deployment. Aggiungiamo in coda, anche se sarebbe più opportuno avere una definizione di release, un task di tipo Azure App Service Deploy. Impostiamo sottoscrizione e nome dell'App Service facendo attenzione a dove prelevare lo zip da distribuire.
Nel caso corrente usiamo direttamente il risultato prodotto negli artifact. Non ci resta che avviare la build, manualmente oppure agganciandola ai commit del codice sorgente. Terminato il processo troveremo pubblicate le nostre funzioni.
Da notare che le funzioni sono in modalità di sola lettura per evitare di cambiarle, dato che il codice sorgente si trova su VSTS.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare Model as a Service su Microsoft Azure
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Creare un webhook in Azure DevOps
Aggiornare a .NET 9 su Azure App Service
Migliora la resilienza delle applicazioni con .NET e Azure Container Apps
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Gestire i dati con Azure Cosmos DB Data Explorer
C# 12: Cosa c'è di nuovo e interessante
Effettuare il refresh dei dati di una QuickGrid di Blazor
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Generare un hash con SHA-3 in .NET